电脑技术学习

巧改Boot.ini修复XP和Vista系统启动故障

dn001

  作者:安徽 俞木发

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

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

  在解决故障之前,我们先来了解一下启动管理器的工作模式。在XP+Vista双系统中,Vista使用bootmgr接管系统启动模式。电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它。接着会继续读取活动分区下的启动配置文件(即C:BOOTBCD)和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:BOOTBCD复制到正常电脑上的d:,运行“bcdedit.exe d:bcd”(bcdedit.exe可以从安装Vista电脑上的c:windows" onclick="tagshow(event)" class="t_tag">windowssystem32提取)可以看到其中Device显示为unknown(图1)。故障是由于Bootmgr找不到启动分区所致,因此修复的方法就是重建正常的启动配置文件。  


图1 Device显示为unknown

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

标签: