恼人的bootmgr

我有一台专门运行vmware的host server,差不多所有的开发/调试都在此机器上进行。但上面存储的东西越来越多,原来的80G硬盘容不下了。正好用空闲下来的的200G的盘来替换原来的80G的。共两个分区:第一个分区是xp i386,第二个分区是server 2008 x64。移动数据很简单,不二的选择就是ghost。但ghost后的问题却是意料之外的。

ghost移动数据花了近两个小时。之后用新的硬盘来启动,结果bootmgr提示出错: winload.exe报0xc000000e。试了几种办法,包括用系统盘进行recovery/修复,但都不见效。

无奈之下重新挂上原来的硬盘,枚举所有的boot配置,然后与ghost后的配置进行比对,终于发现问题原由:设备盘符不对。枚举命令如下(可启动PE运行,也可以用VistaBootPro导出): bcdedit /enum all

错误的配置: Windows Boot Loader

identifier {default} device partition=D: path \Windows\system32\winload.exe description Microsoft Windows Server 2008 locale en-US inherit {bootloadersettings} osdevice boot systemroot \Windows resumeobject {48c4f6e7-1e4e-11de-b96b-dfd52951c806} nx OptOut custom:250000f0 0 detecthal Yes

Resume from Hibernate

identifier {48c4f6e7-1e4e-11de-b96b-dfd52951c806} device partition=F: path \Windows\system32\winresume.exe description Windows Resume Application locale en-US inherit {resumeloadersettings} filedevice partition=F: filepath \hiberfil.sys debugoptionenabled No

Windows Legacy OS Loader

identifier {ntldr} device partition=C: path \ntldr description Earlier Version of Windows

原来盘上的配置: Windows Boot Loader

identifier {default} device partition=D: path \Windows\system32\winload.exe description Microsoft Windows Server 2008 locale en-US inherit {bootloadersettings} osdevice partition=D: systemroot \Windows resumeobject {48c4f6e7-1e4e-11de-b96b-dfd52951c806} nx OptOut custom:250000f0 0

Resume from Hibernate

identifier {48c4f6e7-1e4e-11de-b96b-dfd52951c806} device partition=D: path \Windows\system32\winresume.exe description Windows Resume Application locale en-US inherit {resumeloadersettings} filedevice partition=D: filepath \hiberfil.sys debugoptionenabled No

Windows Legacy OS Loader

identifier {ntldr} device partition=C: path \ntldr description Earlier Version of Windows

知道症结所在之后,修复的问题就好办了: bcdedit /set {default} device "partition=D:" bcdedit /set {default} osdevice "partition=D:" bcdedit /set {48c4f6e7-1e4e-11de-b96b-dfd52951c806} device "partition=D:" bcdedit /set {48c4f6e7-1e4e-11de-b96b-dfd52951c806} filedevice "partition=D:"

重启后问题解决!真不知道微软怎么想的,原来的boot.ini既明了又方便,非得再搞个bootmgr出来。并且bootmgr出的问题总是莫名其妙,搞得用户摸不着方向,真是出力不讨好!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注