17.1.2 一些特殊系统文件的恢复
问答1:如何恢复丢失的rundll32.exe文件?
rundll32.exe程序是执行32位的DLL(动态链接库)文件,它是重要的系统文件,缺少了它,一些项目和程序将无法执行。不过由于它的特殊性,致使它很容易被破坏。如果用户在打开控制面板里的某些项目时出现“Windows找不到文件‘rundll32.exe’……”的错误提示,则可以通过修复丢失的rundll32.exe文件来恢复Windows的正常使用。如图17-2所示为rundll32.exe程序错误提示对话框。
图17-2 rundll32.exe程序错误
恢复rundll32.exe的方法如下。
(1)将Windows安装光盘插入光驱,然后依次选择“开始→运行”菜单命令,打开“运行”对话框。
(2)在“运行”对话框中输入“expandG:\i386\rundll32.ex_C:\windows\system32\rundll32.exe”命令并按<Enter>键(其中“G:”为光驱,“C:”为系统所在盘)。
(3)修复完毕后,重新启动系统即可。
问答2:如何恢复丢失的CLSID注册码文件?
CLSID注册码文件丢失时,不是告诉用户所损坏或丢失的文件名称,而是给出一组CLSID注册码(ClassID),因此经常会让人感到不知所措。
例如,笔者在“运行”对话框中执行“gpedit.msc”命令来打开组策略时,出现了“管理单元初始化失败”的提示对话框,单击“确定”按钮也不能正常地打开相应的组策略。经过检查,发现是gpedit.dll文件丢失所造成的。
要修复这些另类文件丢失,需要根据CLSID类提示的标识。这个标识是由注册表给每个对象分配的,这样就可通过在注册表中查找来获得相关的文件信息。
恢复丢失的CLSID注册码文件的操作方法如下。
(1)在“运行”对话框中执行“regedit”命令,打开注册表编辑器。
(2)在注册表编辑器窗口中选择“编辑→查找”菜单命令,然后在文本框中输入CLSID标识。
(3)在搜索的类标识中选中“InProcServer32”项,接着在右侧窗格中双击“默认”项,这时在“数值数据”中会看到“%SystemRoot%\System32\GPEdit.dll”,其中的GPEdit.dll就是所丢失或损坏的文件。
(4)将安装光盘中的相关文件解压或直接复制到相应的目录中,即可完全修复。
问答3:如何恢复丢失的NTLDR文件?
电脑开机时,出现“NTLDRisMissing Pressanykeytorestart”提示,如图17-3所示,然后按任意键还是出现这条提示,这说明Windows中的NTLDR文件丢失了。
图17-3 NTLDR文件丢失,按任意键重试
在突然停电或在高版本系统的基础上安装低版本的操作系统时,很容易造成NTLDR文件的丢失。
要恢复NTLDR文件,可以在“故障恢复控制台”中进行。方法如下。
(1)插入Windows安装光盘。
(2)在BIOS中将电脑设置为光盘启动。
(3)重启电脑,进入光盘引导页面。按<R>键进入故障恢复控制台。
(4)在故障恢复控制台的命令状态下输入“copyG:\i386\ntldrc:\”命令并按<Enter>键即可(“G”为光驱所在的盘符)将NTLDR文件复制到C盘根目录下。
如果提示是否覆盖文件,则输入“y”并按<Enter>键确认。
(5)执行完后,执行“EXIT”命令退出故障恢复控制台。重启电脑就会修复NTLDR文件丢失的错误。
问答4:如何恢复受损的boot.ini文件?
当NTLDR文件丢失时,boot.ini文件多半也会出现错误。boot.ini文件受损同样可以在故障恢复控制台中进行修复。
修复boot.ini文件的方法如下。
(1)打开故障恢复控制台。
(2)执行“bootcfg/redirect”命令,重建boot.ini文件。
(3)执行“fixbootc:”命令,重新将启动文件写入C盘。
(4)执行“EXIT”命令,退出故障恢复控制台,重启电脑,就可以修复boot.ini文件了。