Windows多重引导故障快速修复
现在安装多操作系统的朋友越来越多,但在多操作系统运行过程中偶尔出现的多重选单丢失、启
动文件损坏、无法引导到某一指定的操作系统等故障让不少人伤透了心。其实只要真正明白多重启动
的含义,你完全可以逢凶化吉、遇难呈祥。
一、多重引导过程简述
不同操作系统的引导过程是不一样的,Win98/Me通过读取硬盘引导扇区中的信息启动系统,而
Win2000/XP/2003则通过NTLDR和ntdetect.com文件启动系统。如果同时安装多个操作系统,则主要
由以下7个文件来决定:NTLDR、ntdetect.com、Boot.ini、Bootsect.dos、bootfont.bin、ntoskrnl.exe、
hal.dll。具体过程如下:
电脑自检后,将MBR(硬盘主引导记录)调入内存,开始查找活动分区和主引导扇区,确定后将
控制权交给NTLDR(NT系统加载器),它读取Boot.ini后(多重流动菜单文件),随即显示多重启动
菜单,默认等待时间为30秒,如果用户没有选择,则从默认操作系统启动电脑。如果用户选择Win98/Me,
则读取Bootsect.dos文件(系统引导扇区记录文件),并按其中信息引导系统。如果用户选择
Win2000/XP/2003,则调用ntdetect.com文件(硬件信息配置文件),这是一个系统级的设备初始化
文件,读取后再将硬件信息传给ntoskrnl.exe和hal.dll文件(系统内核管理器文件),之后就开始
引导操作系统了,这里不再详述。bootfont.bin是一个字库文件,用于在系统启动过程中显示中文。
明白了多重操作系统的启动过程,其中的各种故障便可迎刃而解。
二、实战多重引导故障
我们将以在C盘安装Win98、D盘安装Win2000、E盘安装WinXP、F盘安装Win2003为例。并以
故障为主线讲述解决方法。
1.系统无法启动,提示"NTLDRisMissing,pressanykeytorestart"
这是由于NTLDR文件丢失或损坏引起的故障,从Win2000/XP/2003安装光盘的I386文件夹中提
取此文件,复制到C盘根目录下覆盖即可。但要注意此文件必须是各操作系统的最高版,例如本例中
就要拷贝Win2003的NTLDR文件,具体原因见后文。
用Win98启动盘引导系统至DOS下,将Win2000/XP/2003安装光盘插入光驱,在DOS提示符下依
次执行如下命令再重启计算机即可修复故障
A:\>x:(X代表光驱盘符)
X:\>cdi386(切换至光盘的I386目录)
X:\>i386>copyntldrc:\(将NTLDR文件复制到C盘根目录下)
2.多重启动菜单丢失,系统直接从C盘启动(一般为Win98)
这是由Boot.ini文件丢失或损坏引起的故障,只要修复该文件即可,方法有二:
(1).通过"假安装"Win2000/XP/2003来修复。即用一般方法安装操作系统,然后在第一次重启
计算机后,按"F3"结束安装过程。此时Boot.ini文件已修复。接下来删除硬盘中以"$"开头和结尾的所有目录及文件,如:$WIN_NT$.~BT。同时删除Boot.ini文件中与这些目录或文件相关的菜单选项,
并将"[bootloader]"和"[operatingsystems]"字段中的项目进行相应修改,具体方法参见下文。这
种方法比较适合新手,创建文件过程简单,但耗时较长。
(2).手动修复或重建Boot.ini文件,用记事本打开该文件,正确内容如下:
[bootloader]
timeout=30
default=C:\
[operatingsystems]
C:\="MicrosoftWindows98"
multi(0)disk(0)rdisk(0)partition(2)\WINNT="MicrosoftWindows2000Server"/fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="MicrosoftWindowsXPProfessional"
/fastdetect
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="MicrosoftWindows2003,Enterprise"
/fastdetect
具体涵义如下:
"timeout=30"设定多重引导菜单在屏幕上停留的时间,默认为30秒。
"default=......"设定默认操作系统的路径,等号后面的内容必须对应[operatingsystems]字
段中已经存在的操作系统,并将对应这行文字中"="前的内容复制到"default="后面即可。
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS:这里采用的是ARC(高级RISC计算机)命名。对
于一般用户,需要了解的是"rdisk"和"partition"参数。此例中"rdisk(0)"表示第1块硬盘,
"partition(2)"表示该硬盘的第2个分区。
形如MULTI(0)DISK(0)RDISK(0)PARTITION(1)格式的语句被称为ARC路径,它的格式为:
MULTI()??指定磁盘控制器(若为SCSI控制器,则此处应替换为SCSI())
DISK()??指定SCSI设备编号(对于MULTI该处值始终为0)
RDISK()??指定IDE设备编号(对于SCSI,此处被忽略)
PARTITION()??指定分区编号。除分区编号由1开始外,其余编号均从0开始。
参数/FASTDETECT表示禁用串行鼠标检测,是系统默认值。还有几个常见参数:MAXMEM??指定
Windows2000/XP可用内存容量;BASEVIDEO??使用标准VGA显示驱动程序;NOGUIBOOT??启动过程中
不显示图形屏幕;SOS??加载设备驱动程序时显示其名称。
理解这些参数以后大家就可根据自己的情况修改或重建Boot.ini了。
3.Win98可正常启动,而Win2000/XP/2003出现"NTDETECTfailed"的故障提示
这是ntdetect.com文件损坏或丢失引起的故障。在多重启动菜单中选Win98,启动完毕以后,在光
驱中插入Win2000/XP/2003安装光盘(使用最高版本),将光盘中I386目录中的ntdetect.com文件
复制到C盘根目录覆盖即可。
4.在装有Win2003的电脑上安装WinXP/2000后,Win2003无法启动
问题出现的原因是NTLDR和ntdetect.com这两个文件不向上兼容,因此,只要用高版本的NTLDR
和ntdetect.com覆盖低版本,即可"妙手回春"。
5.Win98损坏后用"SYSC:"修复,结果多重启动菜单丢失
最简单的方法是"假安装"修复,参见前文。6.用"format"命令格式化C盘后重装Win98,多重启动菜单丢失)
这种情况处理起来比较棘手,可按下面方法修复:
第一步:生成Bootsect.dos文件。前面已经介绍过Bootsect.dos文件中存储着512字节的硬盘
引导扇区的内容,因此只要将硬盘引导扇区的内容读出来,写入此文件即可。在Win98中点击"开始"
→"程序"→"MS-DOS方式",在DOS提示符下输入:
Debug
-L1002,0,1(读硬盘引导扇区)
-nc:/Bootsect.dos
-rbx
BX:0000
:0
-RCX
CX:0000
:200
-W(写引导扇区的内容到文件)
c:/Bootsect.dos
Writing0020bytes
-Q
第二步:恢复Win2000/XP/2003的引导程序。在Win98中,将Win2000/XP/2003安装插入光驱,
安装系统,第一次重启计算机后,当出现欢迎画面时,根据提示按"R"键,启动到"恢复控制台",系
统会自动扫描并列出已经安装的操作系统清单供用户选择登录,以登录到E:\WINDOWS目录为例,键
入2后回车,输入管理员密码进入命令行状态。输入"FIXBOOT",并回答"Y",即可恢复Win2000/XP/2003
的引导程序。
第三步:在提示符后输入"BootCFG/Rebuild",回车后开始系统扫描,随后列出操作系统清单,
并询问"将安装添加到启动列表中吗",回答"Y"。接下来在"输入加载识别符"后输入操作系统在启动
菜单中所要显示的文字,如"MicrosoftWindows2000",接着在"OS加载选项"中输入"fastdetect"。
最后键入"EXIT"重启计算机。
第四步:经过以上的修复,Win2000/XP/2003已经可以正常启动,但还缺少Win98启动选项,用
户无法通过选取启动菜单来启动Win98。在Win2000/XP/2003中用记事本打开Boot.ini,在[operating
systems]字段最后一行添加如下内容:C:\="MicrosoftWindows98"
7.当使用多重启动菜单选定某系统后,系统无法启动,提示"因以下文件的损坏或者丢失,Windows
无法启动:\system32\hal.dll,请重新安装以上文件"。
此问题只会出现在Win2000/XP/2003操作系统中,这主要是由于"hal.dll"文件丢失造成的,从
Win2000/XP/2003安装光盘的I386目录中提取出此文件,复制到相应系统分区的Windows/System32/
目录下覆盖即可。具体方法是在某个正常系统中使用WinRAR打开I386目录下的"hal.dl_",将其中
的"hal.dll"解压到被损坏操作系统的"Windows\System32"目录中,然后重启电脑即可。8.在启动过程中,所有中文均为乱码,英文可以正常显示。
此问题是因字库文件"bootfont.bin"损坏或丢失造成的,从Win2000/XP/2003安装光盘的I386
目录中提取此文件,复制到C盘根目录下覆盖即可。
三、总结
Windows多重引导故障多种多样,就是老鸟在修复时也要耗费不少精力,更别说菜鸟了,面对满
屏的E文常常手足无措。由多重引导原理可知:多操作系统能否正常运转,主要由以下7个文件决定
的:NTLDR、ntdetect.com、Boot.ini、Bootsect.dos、bootfont.bin、ntoskrnl.exe、hal.dll。一
般情况下,我们只要在多操作系统安装完毕后或者是在可正常运转期间,将上述7个文件备份到一个
安全的地方,待出现多重引导故障时,将前5个文件复制到C盘根目录下,后2个文件复制到
Win2000/XP/2003的"Windows\System32"文件夹下,即可解决多重引导的故障。
系统启动时,显示c:windows\sysytem32\config\system文件丢失或损坏,提示可进XP的故障
恢复控制台来恢复,于是我上网查了一下有关控制台的内容,下面就是一篇:
1.问:我想使用WINDOWS2000/XP的故障恢复台为我解决计算机故障,那么怎样才能启动故障
恢复控制台?
答:方法有两种,一是从安装光盘启动,二是从硬盘启动。具体步骤如下:
第一种:请插入一张Windows2000或WindowsXP的安装光盘,并且在BIOS中设置为优先从CD-ROM
启动,启动电脑以后,系统会自动进入Windows2000/XP安装界面选项,按下“R”键选择第二项“要
使用故障控制台修复WindowsXP安装,请按R。”系统自动登录到故障恢复控制台,恢复控制台也就
成功启动了。
第二种:在Windows2000/XP系统中插入WindowXP的安装光盘,然后单击“开始→运行”,从
浏览中找到WindowsXP安装光盘上i386文件夹,选中其中的winnt32.exe程序,回到运行对话框后,
输入参数/cmdcons,WindowsXP提示开始安装。安装好后重新启动计算机,在操作系统选择菜单中会
出现“WindowsXPRecoveryConsole”选项,通过它也可以进入系统故障恢复控制台。