手动修复XP/Vista双系统的引导文件

2/19/2009来源:Windows Vista教程人气:9562

  相信很多朋友都知道,在安装多个操作系统时,一般都需要按照“先低后高”的顺序进行,否则将有可能导致高版本的操作系统无法启动的问题。例如现在比较流行的Windows xp+Windows Vista的双重引导配置,正常情况下应该是首先安装Windows XP,然后再完成Windows Vista,如果反其道而行之,那么就会出现“高配低就”的尴尬…

  从Windows Vista开始,操作系统的启动管理器已经不再是Windows 2000/XP/Server 2003所采用的NTLDR+boot.ini,而是采用了全新的启动配置数据库存储(BCD)。在基于Windows Vista的计算机上安装早期版本的Windows操作系统时,安装程序将覆盖MBR、启动扇区和启动文件中的所有内容,这种情况下我们无法再使用来自早期版本的Windows操作系统的boot.ini文件来启动Windows Vista。即使在记事本中打开boot.ini这个文件,也只会看到图1所示的提示信息(请注意图中的红色框线)。

图1 操作系统中的boot.ini文件(点击看大图)

  如果错误事实已经形成,我们也完全不用担心,这里以D盘安装了Windows Vista,以后由于某些原因格式化C盘重新安装Windows XP为例进行说明。按照下面的步骤即可手动修复,:

  第1步:还原MBR并恢复启动管理器

  使用Windows Vista的安装光盘引导计算机,按照选择安装语言、时间和货币格式、键盘和输入方法的顺序,进入安装程序界面后从左下角选择“修复计算机”,然后在下一画面中选择“命令提示符”(见图2),在命令提示符环境手工输入如下命令并运行:bootsect -nt60 all

图2 Vista系统恢复工具(点击看大图)

  第2步:重新构建BCD

  仍然是在命令提示符环境执行“bootrec /RebuildBcd”的命令,这条命令会在所有磁盘中扫描与Windows Vista兼容的安装,并将其重新添加到新生成的BCD存储中,注意这里的重建BCD是完全彻底的。

  第3步:手工添加Windows XP项目

  需要指出的是,由于“bootrec /RebuildBcd”只是针对Windows Vista和Windows Server 2008进行检测,无法检测并发现Windows XP,因此我们只能采取手工添加的方法将Windows XP加入BCD,否则多重启动菜单中将只会显示Windows Vista,而不会显示Windows XP。

  bcdedit.exe命令行工具可以修改启动配置数据存储,我们可以在命令提示符环境依次输入如下命令并执行,圆括号中的内容表示该命令的解释,执行时无须输入:

bcdedit /create {ntldr} /d "早期版本的 Windows"    (在存储中新建名为“早期版本的 Windows”的项)  
bcdedit /set {ntldr} device partition=C:           (设置存储中的项选项值,将应用程序设备设置到C:分区)
bcdedit /set {ntldr} path\ntldr 
bcdedit /displayorder {ntldr} /addlast       (设置启动管理器中显示多重引导菜单的顺序)

  上述命令中,标记符“{ntldr}”是用来指定可用于启动早于Windows Vista版本的操作系统的OS加载器,“早期版本的 Windows”的信息可以自由更改;“PARTITION=C:”是表示NTLDR所在的硬盘活动分区,请根据实际情况修改命令;“/addlast”表示将指定的项标识符添加到显示顺序的末尾,bcdedit.exe更多的可用参数可以查看帮助文件。

  最后,当然还需要重新启动系统,此时你会发现问题已经得到解决,有这方面需要的朋友可以一试。