野马眼镜蛇多少钱:NTLDR?is?missing故障的修复

来源:百度文库 编辑:九乡新闻网 时间:2024/05/02 08:02:24
NTLDR文件是win nt/win200/WinXP的引导文件,当此文件丢失时启动系统会提示"NTLDR is missing..." 。NTLDR一般存放于C盘根目录下,是一个具有隐藏和只读属性的系统文件。它的主要职责是解析Boot.ini文件。     在突然停电或在高版本系统的基础上安装低版本的操作系统时,很容易造成NTLDR文件的丢失,这样在登录系统时就会出现“NTLDR is Missing Press any key to restart”的故障提示,其可在“故障恢复控制台”中进行解决。     进入故障恢复控制台,接着在故障恢复控制台的命令状态下输入“copy x:\i386\ntldr c:\”命令并回车即可(“x”为光驱所在的盘符),然后执行“copy x:\i386\ntdetect.com c:\”命令,如果提示是否覆盖文件,则键入“y”确认,并按回车键。     在遇到NTLDR文件丢失的故障时,boot.ini文件多半也会出现丢失或损坏的情况。这样在进行了上面修复NTLDR的操作后,还要在故障恢复控制台中执行“bootcfg /redirect”命令来重建Boot.ini文件。最后执行“fixboot c:”命令,在提示是否进行操作时输入“y”确认并回车,这样Windows XP的系统分区便可写入到启动扇区中。当执行完全部命令后,键入“exit”命令退出故障恢复控制台,重新启动后系统即可恢复如初。 [fixboot命令是用来修复系统引导的]     遇到系统启动时显示“NTLDR is missing”而无法进入系统的情况。其实导致该故障的原因多:一、NTLDR损坏或丢失
这种情况解决起来比较简单,而且比较常见,所以也是我们遇到该故障时首先采取的一种方法,即在Recovery Console或其他系统下,把系统的安装光盘中i386目录下的NTLDR文件复制到系统分区(通常为C盘)中即可。

典型的NTLDR丢失,按照下面步骤进行修复:
1、将WindowsXP安装光盘放入光驱
2、进入BIOS设置为Boot From CD-ROM
3、当显示到“Press any key to boot from the CD”时,按下任意键
4、当进入到Windows XP安装菜单时,按下“R”键进入故障恢复台。
5、按下“1”键和回车登录进入你的Windows安装
6、输入你的Administrator帐户和密码
7、拷贝俩个文件到系统所在分区,假设你的光驱为F盘符。按照下面例子:

copy F:\i386\ntldr c:\
copy F:\i386\ntdetect.com c:\

8、当上面操作成功后,即可取出光盘重启计算机。



二、NTLDR没有损坏或丢失
如果把光盘中的NTLDR文件复制到C盘后重新启动,问题依然没有解决,这时我们可以认识到,导致该故障的不是NTLDR损坏或丢失,而是系统视而不见。为什么会这样呢?一般说来,导致该现象的原因有以下几点:

1、采用非系统磁盘来启动电脑。如果用一些非系统磁盘引导启动电脑,比如软盘、光盘、USB移动存储设备等,就可能会出现此问题。解决的方法是取出这些设备,然后重新启动电脑即可。

2、BIOS中硬盘中的信息被更改,检测方式被设置为手动。
由于硬盘信息被篡改,导致系统找不到硬盘中的系统分区,所以就找不到系统分区中的启动文件NTLDR了。只要在BIOS的“Standard CMOS Setup”中,把硬盘检测方式设置为“Auto(自动)”即可。

3、系统分区没有被激活。如果用于存放启动文件(包括BOOT.INI、NTLDR、NTDETECT.COM)的系统分区没有被激活而是激活了其他主分区,那么就会导致系统启动时找不到NTLDR文件。解决的方法时用Windows 98启动盘启动电脑,然后运行Fdisk,选择“Set active partition”来激活系统分区。如果仍无法解决,就需要在Recovery Console下运行FIXBOOT命令来使活动分区成为可启动的分区。

4、硬盘中的主引导记录(MBR)被破坏,导致系统找不到系统分区。解决的方法是在Recovery Console下运行fixmbr命令,或者是用Windows 98启动盘启动电脑,然后运行FDISK /MBR。

5、系统分区的MFT根文件夹碎片较多。主文件表(MFT)是一个卷上每一个文件的索引,如果 MFT 根文件夹包含多个文件,则MFT就会变得非常零碎,以至于需要另外创建一个分配索引。因为文件是按字母顺序映射到分配索引中的,NTLDR 文件可能会被推到第二个分配索引中。一般情况下不建议用户将文件直接写入根文件夹,尤其是大量文件。如果有某个程序定期在系统分区的根文件夹中创建和删除临时文件,或者将许多文件误复制到根文件夹,就会造成这一情况。但是,请神容易送神难,如果我们此时去删除那些临时文件或是复制到根文件夹的文件,主文件表(MFT)分配索引并不会降到原来的大小,所以故障依然存在。
这时候我们需要使用微软提供的一个叫bcupdate2的工具(下载地址:
http://www.shannon-dd.com/index.php?option=com_docman&task=doc_details&gid=46&Itemid=98)来强制更新启动代码(Boot Code)。使用方法是在其他硬盘的系统上,运行 bcupdate2 x: /f (x:代表需要修复的硬盘的系统分区),然后按“Y”确认更新启动代码即可。

6、安装了EZ-BIOS。EZ-BIOS是西部数据公司提供的一个可以通过重写分区列表来允许用户创建比 Windows 95 或 Windows 98 支持的分区更大的工具。如果安装了EZ-BIOS,那么在使用Windows 95或Windows 98升级到Windows 2000 或 Windows NT 4.0期间就会出现该故障。解决的方法是卸载EZ-BIOS。

7、BIOS过时。如果主板上的BIOS程序过时,可能会导致该故障,解决的方法是升级BIOS程序。

8、FAT32 BIOS Parameter Block (BPB) 中存在无效头(边)值。如果把一个硬盘上的系统(包括Windows 95、Windows 98 或 Windows Me)做了镜像后克隆到其他不同大小的硬盘上,然后使用这个克隆系统升级到Windows 2000或Windows XP时,就会出现在复制文件后重新启动提示“NTLDR is missing”。因为Windows 95、Windows 98 或者 Windows Me 启动代码忽略 BPB 中的头值,并且即使在值无效时仍启动程序。但是,Windows 2000 和 Windows XP 中的启动代码需要这个值,如果此值无效则启动过程不会成功。这种情况解决方法比较复杂:


step1:使用包含 Sys.com的 Windows 95、Windows 98 或者 Windows Me 启动盘来重新启动电脑。
step2:运行以下命令,在系统分区的根目录下备份msdos.sys文件:
attrib -h -r -s c:\msdos.sys
rename msdos.sys *.ysy
step3:在命令提示符中,输入 sys c:。此命令用正确的 BPB 信息重写 Windows 95、Windows 98 或者 Windows Me 启动代码。
step4:在Recovery Console下运行fixboot命令重写Windows 2000或Windows XP的启动代码。
按照以上操作后,一般可以使原来的安装程序继续进行。

总结:以上列举的故障现象及其原因都是按照由易到难,由常见到少见来排列的。在遇到此故障时,可以按照本文的顺序,进行故障排除。