|
|
bootmgr的引导成功和磁盘签名和offset值有关。
磁盘签名位于 MBR中的0x1B8位置 4个字节。
我用bootmgr去引导XP。然后fdisk /mbr 修复后。磁盘签名发生更改。不能正常启动。用WINDOWS7安装光盘上的修复功能居然找不到启动项。 当然也无法完成修复。
我只能手动修复。
因为BCD中配置grub4dos的device值是 boot ,所以磁盘签名损坏也能照样启动。那么BOOTMGR上有个grub4dos入口很方便
引导进入后引导硬盘上的winpe
打开winhex - 工具 - 打开磁盘 - 跳转到 0x1B8 这里是磁盘签名。 比如我的是 01 c0 01 c0 (4个字节)
运行bcdedit /import c:\boot\bcd
bcdedit /v 获得了硬盘上BCD原有的引导项的GUID 记录下来
在注册表中找到刚才刚才记录的GUID,比如 HKEY_LOCAL_MACHINE\BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\110000011 项下的Element值
在0038的位置记录着磁盘签名
把这个改成新的磁盘签名。或者把 MBR中的改成原来的签名。
还有别忘记了ramdisk这些隐藏的项
用bcdedit /enum all /v |
|