一、系统文件丢失的恢复方法
由于操作不当、突然停电、病毒破坏或经常进行安装和卸载操作等情况,都可能造成系统文件丢失或损坏的故障。一般系统文件丢失后,我们可以很容易地从出现的故障提示窗口中获得受损的文件名及路径,这样修复起来便非常简单了。
1.最常见的Rundll32.exe文件丢失
Rundll32.exe程序顾名思义是执行32位的DLL文件,它是必不可少的系统文件,缺少了它一些项目和程序将无法执行。不过由于它的特殊性,致使它很容易被破坏,如果你在打开控制面板里的某些项目时出现“Windows 无法找到文件’C:\Windows\system32 \Rundll32.exe’”的错误提示(如图1),则可以通过如下操作来解决。
步骤1:将Windows XP安装光盘插入你的光驱,然后依次点击“开始→运行”。
步骤2:在“运行”窗口中输入“expand x:\i386\rundll32.ex_c:\windows\system32 \rundll32.exe”命令并回车执行(其中“x”为光驱的盘符)。
步骤3:修复完毕后,重新启动系统即可。
2.DLL链接文件有“备份”
系统中有许多DLL动态链接库文件,它们一般存放在系统盘下Windows\System32文件夹中,当运行某一程序时将会调用相应的DLL文件。而由于DLL文件是可以被多个程序共享的,所以当卸载或安装一些程序时,很容易将其一起卸载掉或进行不正确的修改操作。如果在试图打开系统信息程序,来查看系统状态时出现没有找到MFC42u.DLL文件(如图2)的提示错误,就说明该MFC42u.DLL文件已丢失了,解决这类故障的一般方法如下:
首先,在Windows XP的安装光盘中查找是否有MFC42u.DLL文件,如果有直接将该文件复制到Windows\System32文件夹中即可。如果是压缩格式的(类似上例中的rundll32.ex_文件),那么可使用expand命令将光盘中的文件解压到System32文件夹中。
如果找不到MFC42u.DLL文件,也找不到其压缩格式(本例正是这种情况),那么这时在微软的搜索页面(网址为:http://search.microsoft.com/search/search.aspx?st=b&na=80&qu=&View=zh-cn)输入“MFC42u.DLL”作为搜索关键字进行搜索,然后打开相关的搜索页面查看相关内容。根据打开的页面提示内容,要想获得这个MFC42u.Dll文件,我们可以安装微软开发的Vcredist.exe程序来获得。这样下载并安装该程序后,可在其安装文件夹中找到MFC42u.DLL文件,将其复制到System32文件夹中即可。
如果你觉得这样比较麻烦,那么可到一些专业DLL文件下载网站进行下载,比如http://www.2dll.com,这样只要在网页中找到相应的下载链接并将其下载到相应的文件夹中即可修复。当然,如果有条件也可以在其它电脑上复制相关的文件来修复。
小提示:有些DLL文件复制到相应的目录后还需要进行注册,假如System32文件夹中的abc.dll文件需要系统进行注册认证,这时可在运行窗口中执行“regsvr32 c:\windows\system32\abc.dll”命令,进行组件的注册操作即可。
3.另类文件丢失的故障解除
这类故障出现时一般会给出一组CLSID注册码,而不是告诉用户所损坏或丢失的文件名称,因此经常会让一些菜鸟感到不知所措。例如笔者在运行窗口中执行“gpedit.msc”命令来打开组策略时曾出现了“管理单元初始化失败”的提示窗口(如图3),点击“确定”也不能正常地打开相应的组策略(如图4),而经过检查发现是因为丢失了gpedit.dll文件所造成的,虽然窗口中没有提示所丢失的文件,但是在实际解决这类故障时也不是很难。
其实窗口中的CLSID(Class IDoridentifier)类标识提示就是一个解决问题的线索,这是因为在注册表中会给每个对象分配一个唯一的标识,这样我们就可通过在注册表中查找,来获得相关的线索,具体方法如下。
在“运行”窗口中执行“regedit”命令,然后在打开的注册表窗口中依次点击“编辑→查找”,然后在输入框中输入CLSID标识(本例中的CLSID标识是“{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}”),然后在搜索的类标识中选中“InProcServer32”项,接着在右侧窗口中将双击“默认”项,这时在“数值数据”中会看到“%SystemRoot%\System32\GPEdit.dll”,其中的GPEdit.dll就是本例故障所丢失或损坏的文件。这时只要将安装光盘中的相关文件解压或直接复制到相应的目录中,即可完全修复。
二、Windows XP系统的“恢复”办法
1.让SFC命令全面修复受损文件
如果系统因丢失了太多的系统重要文件而变得非常不稳定,那么按照前面介绍的方法一一修复,相必会让人发疯的。这时就需要使用SFC文件检测器命令,来全面的检测并修复受损的系统文件了。
在“运行”窗口中执行“sfc /scannow”命令,这时sfc文件检测器将立即扫描所有受保护的系统文件(如图5),其间会提示用户插入Windows安装光盘。这样,在大约10分钟左右的时间里,SFC就将会检测并修复好受保护的系统文件。
小提示:如果身边没有Windows XP安装盘,但之前在硬盘上备份了安装盘文件时,也可以按照如下设置,使SFC通过硬盘上的安装文件来恢复系统文件。
在注册表编辑器窗口中,依次展开“HKEY_LOCAL _MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Setup”子键,然后在右侧窗口中修改Installation Sources、ServicePackSourcePath和SourcePath三个键值为硬盘上的系统安装程序路径,例如Windows XP的安装源文件存放在G盘WinXP文件夹中,那么修改以上三个键的键值为“G:\WinXP”。这样再使用SFC命令时,则可以直接使用硬盘上的安装文件来恢复系统,不需要再插入安装光盘了。
2.机会常在——“最后一次正确的配置”
有时,我们在给一个新添的硬件设备安装驱动程序 (例如安装新的显卡驱动) 后,由于设置的驱动程序与当前系统不符或设备驱动程序太新而系统不识别时,往往会造成系统的不稳定、蓝屏或无法启动系统等故障。这时就可以使用系统所提供的“最后一次正确的配置”项,将系统恢复到以前良好的状态。
重新启动系统,并按住F8键,这时将会打开“Windows高级选项菜单”窗口,在所列出的选项中,选择“最后一次正确的配置”项(如图6),在按回车键前确保已经关闭了键盘上的Num Lock数字键,这样系统就将以先前良好的系统状态继续运行了。
小提示:当选择“最后一次正确的配置”时,系统将还原注册表中的“HKEY_LOCAL_MACHINE\ System\CurrentControlSet”子键,但对其它注册项所做的修改将不会被还原,所以采用此法不能对损坏或丢失的系统文件进行恢复。
3.别忘了还有“系统还原”
使用“最后一次正确的配置”只能还原最近的一次操作,而使用“系统还原”功能则可获得更多的选择。
在使用“系统还原”时,首先要确保以管理员的身份登录系统,如果不能按正常方式登录系统,则可以在安全模式中登录。进入系统后,依次点击“开始→所有程序→附件→系统工具→系统还原”,在打开的窗口中选择“恢复我的计算机到一个较早的时间”项,并点击“下一步”,接着在“选择一个还原点”窗口左边的日期列表中找到一个最近的还原点日期,然后在右侧窗列表中选择其中一个创建的还原点(如图7),确认后系统将还原恢复以前的系统配置,最后重新启动系统即可。
小提示:如果所选择的还原点不正确,那么我们可以撤消还原,只要在打开的系统还原欢迎窗口中选中“撤销我的上次的恢复”项,这样在撤销的过程中系统将恢复到初始的系统配置状态。
三、启动型故障——让故障恢复控制台出手
如果在安全模式或其它启动选项都无法启动Windows XP时,很可能是因为启动文件受损造成的,这时便要请出Windows XP的故障恢复控制台来恢复了。它也是修复绝大部分系统故障的终级解决方案。
1.安装和登录“故障恢复控制台”
在光驱中插入Windows XP安装光盘,然后在“运行”窗口输入“X:\i386\winnt32.exe /cmdcons”命令(“X”为光驱盘符),执行后将出现“Windows 安装”对话框(如图8)。点击“是”开始安装,当成功安装并启动系统时,我们将会在启动菜单上看到“Microsoft Windows XP Recovery Console”项(如图9),选中该项回车后即可进入。
而在进入“故障恢复控制台”前,系统会提示“要登录到哪个Windows XP安装”,这时可输入系统所对应的数字“1”。接着系统会提示输入系统管理员密码,可使用任意一个管理员帐户的密码进行登录,如果密码为空则直接按回车键进入,当密码正确后即可进入“故障恢复控制台”状态(如图10)。
小提示:我们也可以直接使用Windows XP安装光盘启动,然后选择安装系统,在扫描磁盘操作后选择进入“故障恢复控制台”项,即可直接在光盘上运行“故障恢复控制台”。
2.解决NTLDR文件丢失
在突然停电或在高版本系统的基础上安装低版本的操作系统时,很容易造成NTLDR文件的丢失,这样在登录系统时就会出现“NTLDR is Missing Press any key to restart”的故障提示,其可在“故障恢复控制台”中进行解决。
进入故障恢复控制台,然后插入Windows XP安装光盘,接着在故障恢复控制台的命令状态下输入“copy x:\i386\ntldr c:\”命令并回车即可(“x”为光驱所在的盘符),然后执行“copy x:\i386\ntdetect.com c:\”命令,如果提示是否覆盖文件,则键入“y”确认,并按回车键。
3.Boot.ini文件也要修复
在遇到NTLDR文件丢失的故障时,boot.ini文件多半也会出现丢失或损坏的情况。这样在进行了上面修复NTLDR的操作后,还要在故障恢复控制台中执行“bootcfg /redirect”命令来重建Boot.ini文件。最后执行“fixboot c:”命令,在提示是否进行操作时输入“y”确认并回车,这样Windows XP的系统分区便可写入到启动扇区中。当执行完全部命令后,键入“exit”命令退出故障恢复控制台,重新启动后系统即可恢复如初。
4.在故障恢复控制台中彻底清除“毒源”
目前的一些新型病毒,采用注册为系统服务的形式驻留在系统中。这样即使使用杀毒软件检查出其所在位置(例如C:\Windows\System32\wsock32.dll),也不能正常清除。而在“任务管理器”中也无法结束这类病毒文件的进程,甚至一些破坏性较强的病毒程序将使系统完全瘫痪。这时就可在故障恢复控制台状态下,执行“del c:\windows\system32\wsock32.dll”命令,将其组件进行彻底删除,最后进入系统中利用杀毒软件再进行清除操作即可。
由于Windows XP的“故障恢复控制台”功能非常强大,限于篇幅这里不能对其进行详细介绍了。大家可在其命令行状态下执行“help”命令即可查看所有的操作命令格式。对于每一条命令的使用,也可以采用“命令名 /?”的格式来查看该命令的描述及使用方法。