无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8987|回复: 5
打印 上一主题 下一主题

[分享]重建MBR导致磁盘签名更改后的BOOTMGR菜单修复

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-5 16:41:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
2#
发表于 2010-8-5 17:12:42 | 只看该作者
能不能直接修改磁盘签名,使其与bcd中记录的一致?纯猜测
回复

使用道具 举报

3#
发表于 2010-8-5 18:30:43 | 只看该作者
原帖由 yangyangzhifeng 于 2010-8-5 17:12 发表
能不能直接修改磁盘签名,使其与bcd中记录的一致?纯猜测


可以的,比如你搜索到注册表对应的bcd中的{id}的mbr签名显示的为29 f8 82 bd,你在cmd下运行diskpart
然后
sel disk x  定位到要修改mbr签名的磁盘
uniqueid disk id=bd82f829


就可以了
回复

使用道具 举报

4#
 楼主| 发表于 2010-8-6 09:18:24 | 只看该作者
原来diskpart就可以了。显示出来的结果是反的
回复

使用道具 举报

5#
发表于 2021-5-9 14:42:14 | 只看该作者
请大神写一个备份还原签名的工具
回复

使用道具 举报

6#
发表于 2024-2-22 13:06:00 | 只看该作者
学习了谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-17 05:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表