环境描述:先在C盘安装了一个Win2003,然后又在D盘安装了一个Win2008。
分析:那么C盘现在是系统分区,如果用Win2003启动的话,那么启动分区就是C盘,否则就是D盘。虽然2008现在安装在D盘,但还是要向系统分区也就是C盘修改了三个地方:PBR、Bootmgr、BCD。只要安装了Vista或是2008就一定会向系统分区中修改这三个地方。
故障产生:现在C盘的Win2003因为某种原因需要重新安装,那么原来的三个信息PBR、Bootmgr、BCD都没有了,因此D盘的2008不能启动了。
解决方法:只要还原C盘的PBR以及Bootmgr和BCD文件即可!
方法:使用Win2008的安装光盘进行命令行修复模式或者是第三方的小工具!
然后输入命令:bootsect sys /nt60 就会重建PBR的相关信息!
实现过程:利用Win2008安装光秀的命令行修复模式
现在我把C盘的Win2003重新安装一遍。(当然大家用Ghost也可以)安装成功后就直接进入WIN2003,Win2008无法启动!
进入Win2003之后,我们来查看系统分区下的相关文件:

发现只有Ntldr,不见bootmgr和boot文件夹当然也没有BCD信息了!下面我们开始修复:
方法:
把载入Win2008的安装光盘。然后启动,如图所示:

点击:修复计算机,出现下图:

{[csc:pagelist]}
显示当前没有找到要修复的操作系统,点击:下一步

点示:命令提示符,出现下图:

出现命令行提示符,但大家注意了这里的盘符是X盘,这是为什么呢?原来这只是一个虚拟出来的盘符,大家可千万不要在此输入修复命令,一定不成功的!我们要切换到真正光盘所在的盘符:

下面我们的操作就在此提示符下进行:

在上图中所用到的命令我已经使用红框做了标记,其中几个复制命令是为了生成bootmgr以及BCD,bootsect.exe /nt60 SYS是为了更新Win2008的PBR。
最后EXIT退出!


{[csc:pagelist]}
重新启动,不必再手动选择从光盘启动系统也会自动从光盘启动,再进入“修复计算机模式”会自动出现下图所示:


选择“修复并重新启动”。重启修复正常后进入Win2008系统。但不能启动Win2003,这是因为BCD中没有Win2003的配置信息,如图所示:

在Win2008系统下用bcdedit.exe 修复双启动菜单,在BCD中加入Win2003的配置信息,相关命令如下:
a. 创建基于ntldr的OS加载器项: /d为用户选择时的提示内容,可以随意输入
bcdedit /create {ntldr} /d “Windows Server 2003”
b. 设置OS所在分区
bcdedit /set {ntldr} device partition=D: (D: 为XP的系统所在分区)
c. 设置OS所使用的ntldr文件位置
bcdedit /set {ntldr} path \ntldr
d. 使此OS项加入到bootmgr界面中
Bcdedit /displayorder {ntldr} –addlast
e. 生成此项的描述信息:
Bcdedit /set {ntldr} description “Windows 2003”
具体操作如图所示:

再次查看就有我们新建的启动项了:

{[csc:pagelist]}
我们可以重新启动计算机,进行测试:

至此,修复操作终于结束了!我的天呀!累死我了!
注意:如果某个节点我们不需要了,也可以删除节点,如:bcdedit –delete {ntldr} -f
那么如果你手头没有Win2008的安装光盘,也可以借助第三方工具来修复和Win2008相关的信息。我在此从网上下载了一个修复工具:BCDautofix,操作起来更为简单!
实现过程:借助第三方工具修复Win2008的启动故障
方法: 从网上下载修复的小工具,如BCDdautofix。
双击BCDautofix.exe 如图所示:



然后重新启动计算机:
出现:

进入系统后发现 bootmgr、BCD等信息都已经回来了!

至此修复成功!