同事的笔记本电脑突然中招,症状为:系统启动至登录界面时报错,C:\windows\system32\lsasrv.dll文件找不到。
系统环境:只装了一个操作系统,有C,D,E,F四个分区,全都是NTFS分区格式;有光驱无软驱,支持usb设备;内存1G。有部分日常的文档数据存放在,用户“我的文档”和用户桌面,所以不想直接重装系统。
尝试用win xp安装光盘启动到控制台界面,从其他机器上拷贝一个lsasrv.dll过来,发现不支持usb,作罢!
后来想到用ubuntu 7.04的live CD来自动系统,挂载相关文件系统,先拯救数据,然后尽可能修复系统。
用live CD启动系统,挂载C盘,用优盘从别的机器上拷贝了一个lsasrv.dll,挂载优盘,将lsasrv.dll从优盘上拷贝到C:\windows\system32\,此时报错,主要原因是ubuntu 7.04的live CD的Linux内核对NTFS分区的支持还不够好,只能读不能写。
上网搜了一下,发现有ntfs-3g可用于Linux系统对NTFS分区的支持。照着操作了一下,主要过程如下:
切换到root用户:
sudo passwd root
根据提示为root用户创建密码
su
输入刚才创建的密码,切换到root用户
然后下面的命令就可以直接执行了
添加安装源:
将如下两行添加到/etc/apt/sources.list:
deb http://ntfs-3g.sitesweetsite.info/ubuntu/ dapper main main-all
deb http://flomertens.keo.in/ubuntu/ dapper main main-all
一次运行如下的命令:
wget http://flomertens.keo.in/ubuntu/givre_key.asc -O- | sudo apt-key add -
apt-get update
apt-get upgrade
apt-get install ntfs-3g
安装很顺利。然后重新挂载C盘:
umount /mnt/c
mount -t ntfs-3g /dev/sda1 /mnt/c
查看一下/mnt/c目录,已经可以写入了。
拷贝lsasrv.dll文件,重启系统,一切OK!
后记:ubuntu 7.04 Live CD启动之后是在内存里面运行整个系统,后来有向系统中安装了ntfs-3g,若不是内存较大,恐怕会有问题。幸亏Live CD启动系统之后DHCP获得ip地址,得以启动网络,而且单位里网络环境比较好,可以直接从外网下载并安装ntfs-3g。

