ZhiWenMa's Blog

清茶幾許,品味人生!!!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Vista/server2008引导修复(转载)

Posted on 2008-05-29 23:18  ZhiWenMa  阅读(2303)  评论(0编辑  收藏  举报
在配置任何多重操作系统共存时本着“先低后高”的顺序安装,这个大原则本身是没有错的。只不过由于高版本的 NTLDR(Windows XP SP2 以上版本)及 Boot Manager 均增加了阻止自身被降级的功能,所以,假如我们配置的多重操作系统是两个采用了相同的启动管理器的系统,就可以不用考虑“先低后高”的顺序、按照“先高后低”的顺序安装也无所谓了。例如,假如我们配置的是 Windows 18000 与 Windows 16386 的共存(两者的启动管理器都是 Boot Manager)、或者配置的是 Windows XP SP2 与 Windows Server 2003 的共存(两者的启动管理器都是 NTLDR),那么即使按照“先高后低”的顺序安装也无妨(当然,Windows 2000 例外,因为它尚不支持阻止自身被降级的功能)。
 
但是,假如我们配置的多重操作系统是两个启动管理器不相同的系统,那么就必须严格按照“先低后高”的顺序安装,否则高版本的系统将肯定无法启动。例如,当我们配置 Windows Vista/Vista SP1/Server 2008 与 Windows 2000/XP/Server 2003 的共存时,如果按照“先高后低”的顺序安装,Windows Vista/Vista SP1/Server 2008 将肯定无法启动。此时必须手动修复 Boot Manager、重建 BCD 才能恢复多系统共存。
 
最后,笔者再重复一遍如何修复按照“先高后低”顺序配置的 Windows Vista/Vista SP1/Server 2008 与 Windows 2000/XP/Server 2003 的共存。这个问题在微软新闻组及微软技术论坛中已经被问过 N 遍了。在此我们假设首先在 C 盘安装了 Windows Vista、然后又在 D 盘安装了 Windows XP。
 
修复步骤:
 
1.首先恢复 Boot Manager 的引导。以 Windows Vista 安装光盘直接启动计算机,进入安装程序后选择“修复计算机”-“命令提示符”,在命令提示符中执行 BOOTREC /REBUILD 或者 BOOTSECT -NT60 ALL 命令。这两个命令效果是相同的,用哪个都可以。
 
2.重新建立 BCD。在命令提示符中执行 BOOTREC /REBUILDBCD 命令,可以重新检测硬盘中所有已存在的 Windows Vista/Server 2008 系统,并自动将其重新添加到新生成的 BCD 中。
 
3.由于 BOOTREC /REBUILDBCD 命令只能检测 Windows Vista/Server 2008、不能检测 Windows XP,因此我们必须手动将 Windows XP 重新添加到 BCD。否则的话,Boot Manager 启动菜单就会只显示 Windows Vista、不显示 Windows XP。手动添加 Windows XP 的步骤是通过命令提示符依次执行下列命令:
 
BCDEDIT -CREATE {NTLDR} -D "早期版本的 Windows"   
(注:引号中的内容为注释,可以随意)
 
BCDEDIT -SET {NTLDR} DEVICE PARTITION=C:           
(注:C: 是指 NTLDR 所在的硬盘活动分区,但不一定是 Windows XP 所在的分区,因为 Windows XP 可能没有安装在活动分区,例如在本例中,活动分区是 C:、但 Windows XP 却安装在 D:)
 
BCDEDIT -SET {NTLDR} PATH\NTLDR
 
BCDEDIT -DISPLAYORDER {NTLDR} -ADDLAST
 
这样即可将 Windows XP 重新添加到 BCD,恢复 Windows Vista 与 Windows XP 的多重启动菜单。

以上内容转载于  http://blogs.itecn.net/blogs/alexis/archive/2008/04/05/39800.aspx