巧改Boot.ini修复XP+Vista启动故障

来源:岁月联盟 编辑:zhuzhu 时间:2008-03-31
巧改Boot.ini修复XP+Vista启动故障内容简介:亦可:我在电脑上安装XP+Vista双系统,成功安装双系统后已经使用Ghost做了备份。可是近日使用Ghost恢复系统后,虽然出现启动菜单,但是选择任意一个系统都无法进入了。请问董师傅,对于双系统启动故障有什么好的修

  亦可:我在电脑上安装XP+Vista双系统,成功安装双系统后已经使用Ghost做了备份。可是近日使用Ghost恢复系统后,虽然出现启动菜单,但是选择任意一个系统都无法进入了。请问董师傅,对于双系统启动故障有什么好的修复方法?

  董师傅:由于Vista采用启动管理器(Bootmgr)启动方式,这使得安装双系统的用户经常遭遇启动故障,其中两个系统都无法启动的故障最为严重。因此,今天董师傅就介绍如何对付这种“最严重”的启动顽症。为了叙述的方便,这里双系统是指C盘装XP,D盘装Vista。

  在解决故障之前,我们先来了解一下启动管理器的工作模式。在XP+Vista双系统中,Vista使用bootmgr接管系统启动模式。电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它。接着会继续读取活动分区下的启动配置文件(即C:/BOOT/BCD)和c:/boot.ini,根据BCD和Boot.ini存储的启动信息列出启动菜单(也就是双系统启动菜单)。对于双系统用户通常列出“Microsoft Windows Vista”和“旧版本的Windows”。如果选择前者,Bootmgr将控制权交给Vista系统目录下的Winload.exe 然后开始启动Vista。选择后者,Bootmgr将控制权交给NTLDR,接着开始读取c:/boot.ini并列出其中配置的启动菜单。

  启动故障就主要出现在Bootmgr(如该文件丢失)、BCD(启动信息配置错误)、Winload.exe(该文件丢失导致Vista无法启动)、Ntldr(该文件丢失导致XP无法启动)这些文件上。在本例故障中,由于上述文件均已备份,因此恢复后导致双系统启动故障的原因应该就是BCD启动信息出错。把故障电脑的C:/BOOT/BCD复制到正常电脑上的d:/,运行“bcdedit.exe d:/bcd”(bcdedit.exe可以从安装Vista电脑上的c:/windows" onclick="tagshow(event)" class="t_tag">windows/system32提取)可以看到其中Device显示为unknown(图1)。故障是由于Bootmgr找不到启动分区所致,因此修复的方法就是重建正常的启动配置文件。

  

  现在两个系统都无法进入,如何重建BCD启动信息?一般的方法是借助Vista安装光盘进行自动修复。如果没有安装光盘怎么办?可以通过修改Boot.ini文件“曲线”进入XP,然后在XP中使用EasyBCD重建BCD。因为在加载Bootmgr时,还会读取c:/boot.ini中根目录启动信息。比如,安装一键Ghost的用户,Boot.ini中一键Ghost启动菜单也会出现在多重启动中。这时,我们要进入DOS修改Boot.ini文件,在其中添加NTLDR启动项即可绕开BCD进入XP。

  Vista安装光盘进行自动修复方法

  使用Vista安装光盘启动电脑后,在出现安装界面时单击左下角的“修复计算机”。系统会自动检测到本机出现引导故障,我们只要按提示单击“修复并重新启动”,系统就会自动修复故障(图2)。重启后在多重启动菜单中选择“Microsoft Windows Vista(已修复)”即可进入Vista。进入Vista后也可以使用EasyBCD删除失效XP菜单并重新添加XP启动。

  

  第一步:准备一张Windows 98启动光盘,进入BIOS将光驱设置为第一启动,进入DOS后依次输入下列命令编辑Boot.ini:

  attrib -s -h -r c:/boot.ini(取消该文件的系统、隐藏、只读属性)

  edit c:/boot.ini

  在Edit文本编辑器打开Boot.ini后,在文件最后添加c:/ntldr=“XP”,然后保存。

  提示:如果你的C盘是NTFS分区,则需要加载NTFSDOS才能访问并写入数据。或者使用深山红叶PE光盘引导系统进行修改。

  第二步:重启电脑,在启动管理器多重启动菜单中就会出现“XP”菜单,选择它后开始启动XP,在boot.ini加载多重启动菜单选择“Windows XP professional”(即原来XP,不可以选择上述添加的XP菜单,否则会重启)。

  第三步:进入XP后到http://www.cpcw.com/bzsoft/下载EasyBCD。启动程序后,EasyBCD首先要求我们选择启动分区,这里选择C:,接着打开程序主窗口。

  注意:在XP下EasyBCD的运行需要Microsoft .NET Framework2.0的支持,可以到http://msdn2.microsoft.com/zh-cn/vstudio/default.aspx下载安装。

  第四步:切换到左侧的“ADD/Remove Entries”,在右侧窗格选中原来无效的启动菜单,单击Delete删除,接着在Add An Entry下添加启动项。添加XP启动则在Version选择“Windows NT/200/XP”、Drive选择C:/、Name设置为Windows XP(图3)。同上,添加Vista的启动项(Version选择Windows Vista/longhom、Drive选择D:/、Name设置为Windows Vista),完成后单击ADD Entry保存配置。

  

  第五步:重启电脑,现在就可以在多重启动菜单中选择XP或者Vista进入系统了,进入系统后把在Boot.ini添加的c:/ntldr=“XP”语句删除。

  附:其他常见启动故障解决方法一览:

  1.Bootmgr丢失无法启动

  解决方法:到安装Vista的电脑上复制bootmgr到C:/。Ntldr丢失则到XP电脑上复制该文件到C:/。

  2.发生启动故障,但是可以进入某一个系统(XP或者Vista)。

  解决方法:选择能够启动的系统,然后使用EasyBCD添加故障系统的启动项

  3.安装Vista后没有及时备份双系统,下次恢复XP时导致启动菜单丢失,只能进入XP。

  解决方法:使用上述介绍的“Vista安装光盘进行自动修复方法”添加Vista启动

  4.使用bootsect命令更改启动分区后没有出现启动菜单,只能进入XP。

  解决方法:把Vista安装光盘下的/boot/bootsect.exe复制到c:/windows/system32(/表示光盘根目录)。启动命令提示符输入“bootsect -nt60 c:”即可。

图片内容