【摘要】计算机疑难故障80%发生在启动的时候。当Windows XP运行一段时间后,难免会在系统启动时发生故障,本文对Windows XP启动故障进行了剖析,探索了故障的解决方法,希望对大家有所帮助。
【关键词】Windows XP;启动故障;DLL文件
当电脑Windows XP没有正常启动,使用者一定会很着急,因为它会影响到你的工作和学习,下面剖析Windows XP启动过程中可能出现的常见故障,并探索出了解决故障的有效方法。
1.系统启动时提示NTLDR文件或ntdetect.com丢失
NTLDR和ntdetect.com是Windows XP操作系统启动引导时用到的两个重要文件。该文件丢失会造成系统不能启动,出现如下错误信息:NTLDR is missing . Press any key to restart。遇到此种情况时,可以通过从光盘或备份的安装文件中提取文件恢复。
如果电脑安装有U盘、移动硬盘等移动存储设备,并在BIOS中设置第一启动项为USB存储设备时,而该USB存储设备又恰好是不能引导状态,同样有可能出现这个错误提示。
因此,遇到NTLDR is missing提示时,可以先检查计算机是否设置了从USB存储设备启动。如果不是此原因造成的故障,可以通过系统安装光盘启动“故障恢复控制台”进行修复,操作步骤如下:
①从安装光盘复制可能受损的文件到硬盘启动分区。
复制文件之前,我们先要用attrib-r命令去掉NTLDR和ntdetect.com文件的只读属性。
②然后从安装文件的源路径复制这两个文件到C盘的根目录,对于原版的Windows XP安装光盘,这两个文件位于光盘的\i386目录下。
下面以Windows XP为例说明。
进入故障恢复控制台,把Windows XP的安装光盘放进光驱(光驱盘符为F:),输入copy f:\i386\NTLDR c:\并按【Enter】键(从光驱复制NTLDR文件至C盘根目录下);接着输入copy f:\i386\ntdetect.com c:\并按【Enter】键(从光盘复制ntdetect.com文件,到C盘根目录下)。如果系统提示是否覆盖文件,输入y,然后按【Enter】键。
最后输入type c:\Boot.ini,如果正常显示boot.ini中的内容则可以重启,问题可以解决。如果显示为“系统找不到指定的文件或目录”,那么意味着Boot.ini文件损坏或丢失,可到其他安装了Windows XP的计算机中复制该文件,将它复制到C盘下,然后重启即可。利用此作法可以解决大部分系统文件丢失的问题。
2.恢复损坏的DLL文件
驱动程序文件损坏,重要系统文件丢失造成Windows XP不能启动的现象比较常见。要想知道具体体丢失了哪些系统文件,用户可以在系统启动时按【8】键进入高级选项菜单,选择“启用启动日志”选项。这样系统会自动在C:\WINNT目录下生成ntbtlog.txt文件。接着进入故障恢复控制台,输入type ntbtlog.txt,这样就会显示该文件的内容。如果最后的语句中包含有Fail字符,那么将后面的文件名记录下来。
有些文件可能使用copy命令但不能复制,或某一系列驱动程序丢失,造成系统不能正常启动,这时可用expand命令来提取缺少的文件。
例如,系统提示c:\WINNT\system32\中的msr2c.dll文件丢失,在安装光盘的i386目录中定位msr2c文件,然后运行命令expand f:\i386\msr2c c:\WINNT\system32\msr2c.dll。
3.提示boot.ini文件非法
如果计算机中安装多个操作系统,会在加电自检后出现一个启动菜单,列出计算机中安装的所有操作系统,用户可以使用[↑]和[↓]方向键选择进入哪个系统。
实际上这一切都依赖boot.ini文件,Windows XP主要通过该文件来确定计算机在重启(引导)过程中显示的可供选择的操作系统类别。默认情况下,该文件位于C盘根目录下,是一个隐藏、只读的系统配置文件。但是在使用过程中,经常会由于系统或用户误操作等原因造成此文件损坏和丢失。
出现此故障时,用户可以在“故障恢复控制台”下执行bootcfg/scm命令,在所有磁盘上扫描Windows安装盘符,然后执行bootcfg/redirect命令重建boot.ini。同时使用copy命令将Windows XP的安装光盘上i386目录下的ntdetect.com和NTLDR复制C盘根目录下。最后执行fixboot c:命令,把Windows XP的系统分区写入启动扇区,最后再手动修改boot.ini文件。
4.找不到hal.dll文件而终止启动
hal.dll是WinNT内核(包括Windows XP)操作系统卷的核心驱动,通常由于安装多个操作系统而造成损坏。如果系统能正常启动,可以从安装盘中提取文件进行恢复,否则个别磁盘分区可能无法使用。如果系统无法正常启动,特别是系统分区使用了NTPS,就只有重新安装操作系统或者使用控制台修复。修复此故障的操作步骤如下:
第1步:将Windows XP安装光盘放入光驱,并设置从光盘启动。从光盘启动后,通过故障恢复控制台进入windows目录。
第2步:在DOS提示符下输入expand x:\i386\driver.cab/f:hal.dll c:\windows\system32\(x为光驱盘符),再次利用expand命令首先将halaacpi.dll复制到c:\windows\system32\,改名为hal.dll的重新启动电脑,再拷入halacpi.dll(因为hal.dll的源文件名是haiacpi.dll)。
第3步:改名后重启即可修复此类故障。
解决这类故障的一般方法如下:
在Windows XP的安装光盘中查找是否有MFC42u.DLL文件,如果有,直接将该文件复制到windows\system32文件夹中即可。如果是压缩格式,可以使用expand命令将光盘中的文件解压到System32文件夹中。
如果找不到MFC42u.DLL文件,也找不到其压缩格式的文件,那么可以在微软的搜索页面(网址为http://search.microsoft.com/search/search.axpx?st=b&na=80&qu=&View=zh-cn)输入MFC42u.DLL作为搜索关键字进行搜索,然后打开相关的搜索页面查看相关内容。根据打开的页面提示内容下载此文件。
参考文献
[1]姜薇.计算机综合应用能力教程[M].北京:中国铁道出版社,2011年8月
[2]陈波.电脑组装、维护、故障排除简明教程[M].北京:清华大学出版社,2010年9月