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

由于Vista采用启动管理器(Bootmgr)启动方式,这使得安装双系统的用户经常遭遇启动故障,其中两个系统都无法启动的故障最为严重 。因此,今天给大家介绍如何对付这种“最严重”的启动顽症 。为了叙述的便,这里双系统是指C盘装XP,D盘装Vista 。
在解决故障之前,我们先来了解一下启动管理器的工作模式 。在XP Vista双系统中,Vista使用bootmgr接管系统启动模式 。电脑自检完成后,开始查找活动主分区(一般情况是C:)并加载它 。
接着会继续读取活动分区下的启动配置文件(即C:BOOTBCD)和c:boot.ini,根据BCD和Boot.ini存储的启动信息列出启动菜单(也就是双系统启动菜单) 。对于双系统用户通常列出“Microsoft WindowsVista”和“旧版本的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 。
故障是由于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:tldr=“XP”,然后保存 。
【巧改Boot.ini 修复XP Vista双启动】提示:如果你的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下载安装 。

推荐阅读