NTLDRismissing的解决方法N种副本.docx
《NTLDRismissing的解决方法N种副本.docx》由会员分享,可在线阅读,更多相关《NTLDRismissing的解决方法N种副本.docx(17页珍藏版)》请在冰豆网上搜索。
NTLDRismissing的解决方法N种副本
“NTLDRismissing”的解决方法N种。
收藏
平时,我们偶尔会遇到系统启动时显示“NTLDRismissing”而无法进入系统的情况。
其实导致该故障的原因多,但网上绝大部分文章都只针对一种情况进行讨论。
下面笔者将各种情况和原因进行汇总,希望对大家有所帮助。
一、NTLDR损坏或丢失
这种情况解决起来比较简单,而且比较常见,所以也是我们遇到该故障时首先采取的一种方法,即在RecoveryConsole或其他系统下,把系统的安装光盘中i386目录下的NTLDR文件复制到系统分区(通常为C盘)中即可。
二、NTLDR没有损坏或丢失
如果把光盘中的NTLDR文件复制到C盘后重新启动,问题依然没有解决,这时我们可以认识到,导致该故障的不是NTLDR损坏或丢失,而是系统视而不见。
为什么会这样呢?
一般说来,导致该现象的原因有以下几点:
1、采用非系统磁盘来启动电脑。
如果用一些非系统磁盘引导启动电脑,比如软盘、光盘、USB移动存储设备等,就可能会出现此问题。
解决的方法是取出这些设备,然后重新启动电脑即可。
2、BIOS中硬盘中的信息被更改,检测方式被设置为手动。
由于硬盘信息被篡改,导致系统找不到硬盘中的系统分区,所以就找不到系统分区中的启动文件NTLDR了。
只要在BIOS的“StandardCMOSSetup”中,把硬盘检测方式设置为“Auto(自动)”即可。
3、系统分区没有被激活。
如果用于存放启动文件(包括、NTLDR、)的系统分区没有被激活而是激活了其他主分区,那么就会导致系统启动时找不到NTLDR文件。
解决的方法时用Windows98启动盘启动电脑,然后运行Fdisk,选择“Setactivepartition”来激活系统分区。
如果仍无法解决,就需要在RecoveryConsole下运行FIXBOOT命令来使活动分区成为可启动的分区。
4、硬盘中的主引导记录(MBR)被破坏,导致系统找不到系统分区。
解决的方法是在RecoveryConsole下运行fixmbr命令,或者是用Windows98启动盘启动电脑,然后运行FDISK/MBR。
5、系统分区的MFT根文件夹碎片较多。
主文件表(MFT)是一个卷上每一个文件的索引,如果MFT根文件夹包含多个文件,则MFT就会变得非常零碎,以至于需要另外创建一个分配索引。
因为文件是按字母顺序映射到分配索引中的,NTLDR文件可能会被推到第二个分配索引中。
一般情况下不建议用户将文件直接写入根文件夹,尤其是大量文件。
如果有某个程序定期在系统分区的根文件夹中创建和删除临时文件,或者将许多文件误复制到根文件夹,就会造成这一情况。
但是,请神容易送神难,如果我们此时去删除那些临时文件或是复制到根文件夹的文件,主文件表(MFT)分配索引并不会降到原来的大小,所以故障依然存在。
这时候我们需要使用微软提供的一个叫bcupdate2的工具(下载地址:
来强制更新启动代码(BootCode)。
使用方法是在其他硬盘的系统上,运行bcupdate2x:
/f(x:
代表需要修复的硬盘的系统分区),然后按“Y”确认更新启动代码即可。
6、安装了EZ-BIOS。
EZ-BIOS是西部数据公司提供的一个可以通过重写分区列表来允许用户创建比Windows95或Windows98支持的分区更大的工具。
如果安装了EZ-BIOS,那么在使用Windows95或Windows98升级到Windows2000或WindowsNT期间就会出现该故障。
解决的方法是卸载EZ-BIOS。
7、BIOS过时。
如果主板上的BIOS程序过时,可能会导致该故障,解决的方法是升级BIOS程序。
8、FAT32BIOSParameterBlock(BPB)中存在无效头(边)值。
如果把一个硬盘上的系统(包括Windows95、Windows98或WindowsMe)做了镜像后克隆到其他不同大小的硬盘上,然后使用这个克隆系统升级到Windows2000或WindowsXP时,就会出现在复制文件后重新启动提示“NTLDRismissing”。
因为Windows95、Windows98或者WindowsMe启动代码忽略BPB中的头值,并且即使在值无效时仍启动程序。
但是,Windows2000和WindowsXP中的启动代码需要这个值,如果此值无效则启动过程不会成功。
这种情况解决方法比较复杂:
step1:
使用包含的Windows95、Windows98或者WindowsMe启动盘来重新启动电脑。
step2:
运行以下命令,在系统分区的根目录下备份文件:
attrib-h-r-sc:
\
rename*.ysy
step3:
在命令提示符中,输入sysc:
。
此命令用正确的BPB信息重写Windows95、Windows98或者WindowsMe启动代码。
step4:
在RecoveryConsole下运行fixboot命令重写Windows2000或WindowsXP的启动代码。
按照以上操作后,一般可以使原来的安装程序继续进行。
总结:
以上列举的故障现象及其原因都是按照由易到难,由常见到少见来排列的。
大家在遇到此故障时,可以按照本文的顺序,进行故障排除。
windowsxp重新启动时显示NTLDRismissing
这种情况可能出现的情况:
当您将Windows95,Windows98,orWindowsMe进行复制,并将这个复制应用到一个不同格式的分区上。
例如:
假如您在4GB的硬盘上运行Windows98,当您又安装了一个30GB的硬盘,并使用第三方磁盘镜像软件将原来的Windows98制作成一个镜像,然后将这个镜像应用到新的硬盘上。
在此之后,您又在这个新的硬盘上升级安装WindowsXP.那么就出现您遇到的问题了!
您可以通过以下连接获得更详细的信息:
这种情况出现的必要条件是:
--系统引导分区是FAT32文件系统
--系统用INT-13扩展(一个大于的分区,系统类别为0C的分区表)引导
参阅
--因为复制过程,在FAT32BIOS参数块(BPB)中的头信息与实际驱动器的信息不匹配(Windows95,Windows98,orWindowsMe的启动代码会忽略这部分信息,但Windows2000andWindowsXP启动代码需要这部分信息,如果不匹配就会无法成功启动)
您可以通过以下步骤来尝试解决问题:
解决这个问题只需要修正BPB中的相应信息,最简单的更新该部分信息的方法是重写Windows95,Windows98,orWindowsMe的启动代码。
具体过程如下:
第一步.
用Windows95,Windows98,orWindowsMe启动盘(必须包含,默认包含)重新启动机器。
第二步.
在命令行方式下,执行:
”sysc:
”(不带引号),这条命令将重写Windows95,Windows98,orWindowsMe的启动代码,并且带上正确的BPB信息。
如果运行成功,请执行第三步。
如果您用WindowsMe启动盘,并且获得如下错误信息:
"CannotfindthesystemfileinthestandardlocationsondriveC:
"
那么一个或更多WindowsMe安装文件已经被移动了。
请用如下步骤以便sys命令可以定位到相应的文件。
A.执行如下命令(每个命令后按回车键):
c:
cdwindows
如果Windows安装在其他目录,请调整以上命令。
B.进入command目录
cdcommand
如果错误信息显示该目录不存在,请创建该目录(mdcommand)然后再次运行“cdcommand”(不带引号)
C.进入EBD目录
cdebd
如果错误信息显示该目录不存在,请创建该目录(mdebd)然后再次运行“cdebd”(不带引号)
D.在EBD目录中,用如下命令行复制,并将其改名为
attrib-s-h-rc:
copyc:
是命令执行时所需要的。
E.切换回驱动器A,执行如下命令:
a:
sysc:
第三步.
重新启动Windows95,Windows98,orWindowsMe然后重新启动WindowsXP得升级安装过程。
请注意:
相应的,在您执行了“sysc:
”(不带引号)后,您可以用恢复控制台启动,用“fixboot”(不带引号)命令来重写WindowsXP的启动代码。
这个过程将使原来的安装得以继续进行。
NTLDR是系统启动是需要的一个重要文件。
常见WindowsXP启动故障及解决方法
常见WindowsXP启动故障及解决方法
1、NTLDRismissing当你从Win9X升级到WinXP的时候
1)、Clone以后的问题:
当你想把使用Clone制作的Win9x升级到WinXP,那么很容易出现一句提示:
NTLDRismissing。
当然,要出现这种情况必须满足下列要求:
a)、系统/启动分区是FAT32文件系统。
b)、电脑的启动使用了INT-13中断扩展启动。
一般现在的主流电脑都是使用了这种方式。
c)、因为在Clone的时候,烧录后的系统的存放于FAT32BIOSParameterBlock(BPD)的值和物理驱动器的
几何分布不匹配。
但是为什么可以启动Win9X呢?
原因是这样的:
Win9x启动的时候忽略了BPD的值,即使这个值是非法的。
但
是在Win200/XP里面需要这个值,如果这个值是非法的,那么启动将失败。
解决:
重写FAT32BPB里面正确的值,然后使用WinXP里面Fixboot命令重写WindowsXP启动程式即可。
具体
的操作如下:
使用一张含有的Win9X启动碟启动电脑,执行SYSC:
命令,然后重新启动,会发现无法启
动WinXP,这不要紧,这是正常的现象。
然后再次重新启动,使用WinXP安装光碟启动,进入故障恢复控制台,
执行fixboot即可。
如果你不会使用故障恢复控制台,那么还有一个方法:
在Win9X里面执行WinXP安装,系统拷
贝完文件以后会重新启动,启动的是后手已经要快速按下方向键的上或下箭头,然后选择Windows回到Win9X下
,接着编辑文件,确认你的文件和你电脑上WinXP的启动相匹配,最后删除C盘根目录上以$开
头的全部文件即可。
2)、文件丢失/破坏:
这个文件位于C盘根目录,我们只需要从WinXP安装光碟里面提取这个文件,然后
放到C盘根目录上即可。
2、I/O错误,Win9X启动失败
这个问题一般是由于错误删除C盘根目录上的一个启动Win9x的重要文件造成的。
这个文件储
存了启动Win9x的必须程式,而且这个文件的建立是在安装WinXP的时候自动建立的,WinXP里面并没有对应的命
令可以直接解决这个问题。
但是我们可以采用另外一种方法解决。
解决:
使用一张含有的Win9X启动碟启动电脑,执行SYSC:
命令,然后重新启动,会发现无法启动
WinXP,这不要紧,这是正常的现象。
然后再次重新启动,使用WinXP安装光碟启动,进入故障恢复控制台,执
行fixboot即可。
如果你不会使用故障恢复控制台,那么还有一个方法:
在Win9X里面执行WinXP安装,系统拷贝
完文件以后会重新启动,启动的是后手已经要快速按下方向键的上或下箭头,然后选择Windows回到Win9X下,
接着编辑文件,确认你的文件和你电脑上WinXP的启动相匹配,最后删除C盘根目录上以$开头
的全部文件即可。
3、文件非法
这个问题一般是由于文件丢失或格式不正确造成的。
文件的格式一般是下面这种类型的
:
[bootloader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition
(1)\Windows
[operatingsystems]
multi(0)disk(0)rdisk(0)partition
(1)\Windows="MicrosoftWindowsXPProfessional"/fastdetect
具体的含义大家可以参考我的网站的这篇文章:
《解读多重新启动动起始化文件——》
4、找不到文件,启动中止
这个是由于C盘根目录下的文件非法,导致预设从C:
\Windows启动,但是又由于你的WinXP没有安
装在C盘,所以系统提示找不到文件。
启动因而失败。
解决方法是重新编辑文件。
我们有很多
方法编辑这个文件,下面我挑选几种便于操作的介绍给大家:
1)、使用Win9X启动碟启动,使用命令编辑这个文件。
启动以后只要按照正确的格式输入
文件的内容,储存为文件即可。
2)、使用COPYCON命令建立一个文件。
在DOS下输入CopyConC:
\以后enter。
然后按照
文件的格式输入,每输入一行敲一次enter键,当全部内容输入完毕以后,按CTRL+Z,萤幕上会看到^Z
的提示。
这个时候再敲一次enter,系统会提示1file(s)copied.这就表示建立成功了。
3)、使用故障恢复控制台里面的bootcfg命令。
具体的使用方法请大家检视Q330184一文。
我在这里就不介
绍了。
4)、在别的电脑上建立好以后,拷贝到受损电脑的C盘根目录上覆盖源文件即可。
5、安装的简体中文版的WinXP在启动选单的时候不是英文提示
一般是由于C:
\丢失造成的,但是如果你安装了更高版本的英文版本的Windows,那么这个现
象就是很正常的。
如果没有的话,从WinXP安装光碟里面提取到C盘根目录即可。
6、安装Windows2000后无法启动WindowsXP
症状:
安装Windows2000后试图启动WindowsXP时,您可能会收到下面的错误消息:
"StartingWindows...
Windows2000couldnotstartbecausethefollowingfileismissingorcorrupt:
\WINDOWS\SYSTEM32
\CONFIG\SYSTEMdstartupoptionsforWindows2000,pressF8.
YoucanattempttorepairthisfilebystartingWindows2000SetupusingtheoriginalSetup
floppydiskorCD-ROM.
Select'r'atthefirstscreentostartrepair."
原因:
出现此问题的原因是,在Windows2000发行时WindowsXP尚不存在。
Windows2000起始化程序不
知道已在WindowsXP中做了改动。
电脑需要知道这些改动才能载入WindowsXP。
解决:
若要解决此问题,请用Windows2000启动电脑,然后将WindowsXP光碟上I386资料夹中的
NTLD解读多重新启动动起始化文件——
WindowsNT类的操作系统,也就是WindowsNT/2000/XP中,有一个特殊文件,也就是“”文件,这个文件会很轻松地按照我们的需求设置好多重新启动动系统。
“”文件会在已经安装了WindowsNT/2000/XP的操作系统的所在分区,一般预设为C:
\下面存在。
但是它预设具有隐藏和系统属性,所以你要设置你的资料夹选项,以便把“”文件显示出来。
我们可以用任何一种文本编辑器来开启他它。
一般情况下,它的内容如下:
[bootloader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition
(1)\Windows
[operatingsystems]
multi(0)disk(0)rdisk(0)partition
(1)\Windows="MicrosoftWindowsXPProfessional"/fastdetect
在Windows2000或者是XP系统中,我们可以很容易的设置“”文件。
那就是在“我的电脑”上面点击右键,选择“属性”开启“系统属性”对话视窗,再点击“进阶”选择项,在“启动和故障修复”里面点击“设置”按钮,就可以开启“启动和故障修复”对话视窗了,在这里面我们就可以对它进行详细设置。
如果你拥有WindowsXP操作系统,那么你可以用“系统配置实用程序”来更方便的编辑“”文件。
具体做法是:
开启“开始”表单,点击“执行”命令,再在弹出的文本框中输入“msconfig”点击“确定”后就会弹出“系统配置实用程序”,再点击“”选择项,就会出现如图所示的界面。
在这里,我们可以很方便地设置文件。
言归正传,现在,来说明一下这个文件内容的含义。
1.系统载入部分([bootloader])
这一部分很简单,只有两个设定。
那就是“timeout=”和“default=”。
“timeout=”就是设定开机时系统起始化表单显示的时间,超过设定值则自动载入下面“default=”指定的操作系统。
预设值是30,单位为秒。
我们可以在这里面设定等待时间的长短。
如果将其设为“0”那么就是不显示系统起始化表单。
“default=”则是设定预设起始化的操作系统。
而等号后面的操作系统必须是已经在“[operatingsystems]”中存在的。
如果想预设为载入另外的操作系统,我们可以参考“[operatingsystems]”中的操作系统列表,然后把想要载入的操作系统按照格式写到“default=”后面就可以了。
2.操作系统部分([operatingsystems])
在这里面,列出了机器上所安装的全部操作系统。
比如机器上只有一个操作系统,那么就只有一条信息,那就是“multi(0)disk(0)rdisk(0)partition
(1)\Windows="MicrosoftWindowsXPProfessional"/fastdetect”
在这里需要注意的是,在英文引号内的文字就是起始化操作系统表单时显示出来的让我们选择操作系统的提示文字,在这里面我们可以随意更改。
而“multi(0)disk(0)rdisk(0)partition
(1)\Windows”这一句就需要些解释了。
因为它涉及ARC(进阶RISC电脑)命名,它是x86或RISC电脑中用于标识设备的动态方法。
ARC命名的第一部分用于标识硬体适配卡/磁碟控制器,它有两个选项:
SCSI和Multi。
Multi表示一个非SCSI硬碟或一个由SCSIBIOS访问的SCSI硬碟,而SCSI则表示一个SCSIBIOS禁止的SCSI硬碟。
(x)是硬体适配卡序号。
Disk(x)表示SCSI总线号。
如果硬体适配卡为Multi,其正确表示方法就为disk(0),rdisk(x)则表示硬碟的序号,如果硬体适配卡为SCSI则忽略此值;
partition(x)表示硬碟的分区序号。
了解这些,我们就可以解释前面那条信息的含义了,即“multi(0)disk(0)rdisk(0)partition
(1)\Windows”为,在0号非SCSI设备上的第0号磁碟上的第一个分区里面的“Windows”目录下可以找到能够启动的操作系统。
等号后的内容前面已经说过,那个就是起始化表单显示出来的供我们选择的提示文字。
而后面的“/fastdetect”又是作什么用的呢?
这是一个开关符,用来控制启动该操作系统时的具体选项,下面再来详细的介绍各种开关符的含义:
/3GB:
这是Win2000SP3新引入的。
这使得用户区和系统区分为3G比1G的比例。
只有用户使用NT企业版,应用程式也支持3GB选项时,此选项才生效。
/BASEVIDEO:
使用标准VGA方式启动。
这种方式主要用于显示驱动程序失效时。
/BAUDRATE:
指出用于调度的波特率,如果用户不设置,则使用预设的9600,而对于线缆Modem则使用19200。
/BOOTLOG:
使Win2000将日志写入%SystemRoot%\。
/BURNMEMORY=:
使NT在已知的记忆上少使用指定的数量,如果/burnmemory=64,则有64M记忆NT不使用。
/CRASHDEBUG:
调度器在NT启动时启动,只有在内核错误时才有用,如果系统经常会无故出错,这个选项就很有用了。
/DEBUG:
在启动NT时调入调度器,它可以在任何时间启动,在错误可以再次出现时使用它比较合适。
/DEBUGPORT=comx:
指定用于调度的Port,其它X就指Port号。
/FASTDETECT:
对于Win2000启动时,它使系统不检查串行口和并行口。
/HAL=<hal>:
允许用户不使用预设的HAL。
/INTAFFINITY:
设置多处理器HAL,使编号最大的处理器接收中断请求。
如果不设置此选项,Win2000会使所有处理器接收中断请求。
/KERNEL=<kernel>:
与上面的功能相同,不过是针对SMP中的内核而言的。
/MAXMEM:
n:
指定NT可以使用的最大记忆数,如果一个记忆片损坏,这个开关就十分有用了。
/NODEBUG:
不使用调试信息。
/NOGUIBOOT:
指定此选项会使Win2000不载入VGA驱动程序,也就不会显示启动过程和失败时的兰屏信息。
/NOSERIALMICE=[COMx|COMx,y,z…]:
在特定的COM中上禁止对串行滑鼠的检测。
如果用户有一个非滑鼠设备接在COM口上,这个选项会十分有用。
如果此开关未加参数,系统会禁止所有COM口。
/NUMPROC=n:
只允许前N个系统处理器工作。
/ONECPU:
在多处理器中只使用一个处理器。
/PCILOCK:
不让NT为PCI设置分配IO/IRQ资源,而启用BIOS设置。
/SAFEBOOT:
安全启动,这个大家一定十分熟悉,Win2000只启动HKLM\System\CurrentControlSet\Control\SafeBoot中的驱动程序和服务,其后跟三个参数MINIMAL,NETWORK或DSREPAIR之一。
MINIMAL和NETWORK在允许网路下启动系统。
而DSREPAIR要求系统从备份设备中调入活动目录的设置。
还有一个选项是"(ALTERNATESHELL)",它让系统调入由HKLM\System\CurrentControlSet\
SafeBoot\AlternateShell指定的SHELL程序,而不使用预设的Explorer。
/SOS:
在调