BCD 损坏后如何修复或安装启动修复/系统恢复?

Bob*_*Bob 10 boot windows-7 partition-recovery

我应该如何修复启动修复?

将启动修复安装到硬盘驱动器上,就好像它最初不在那里一样,也可以解决这个问题。

希望 Windows 特定论坛上的某个人可能有想法,我也在 Microsoft Answers 上发布了这个:http : //answers.microsoft.com/en-us/windows/forum/windows_7-system/install -system-repairfix-system-repair-boot-entry/6424eada-40b7-440e-9759-e2cc67aa3e3a

启动修复实际上是在系统恢复环境下运行的一个工具。系统恢复环境是需要修复的,但我将其称为启动修复,因为它在启动菜单中是这样调用的。

总结在底部。


问题

尝试使用启动修复时,我看到一个带有状态代码0xc000000e和错误消息的屏幕:

引导选择失败,因为无法访问所需的设备。

如果我重建 BCD(我有一个半损坏的备份),我将不再有启动修复选项。


历史

我不小心在 IDE 模式下启动了我的计算机(RAID 1 中的两个硬盘驱动器)。显然,这导致 Windows 在启动时崩溃。BCD 存储已损坏,提供与上述相同的启动消息,但用于正常启动。为了解决这个问题,我从安装光盘启动,在尝试使用bootrec /rebuildbcd命令时出现了很多错误:

找不到请求的系统设备

更具体地说,屏幕上没有选择操作系统的条目。我终于通过手动打开BCD存储(解决此得到bcdedit /store C:\Boot\BCD)和纠正device的条目{bootmgr},并{default}osdevice{default},以partition=C:用于{bootmgr}(系统保留)和partition=D:{default}。它们被列为unknown,可能是由于在 IDE 模式下启动尝试失败。

现在,至少,我可以成功启动……中途……进入 Windows。这个问题的主要目的是询问我如何恢复Startup Repair引导选项,该选项在尝试查找引导设备时抛出错误:与主引导抛出的相同。BCD 存储中没有条目。在我手动恢复后第一次重新启动到 DVD 恢复环境时,它提出恢复磁盘恢复环境,报告成功(显然没有)。


正常启动的问题(现已修复)

现在,另一个主要问题是中途启动。具体来说,chkdsk启动每次启动。第一次运行并完成后,它重新启动并重复。驱动器本身仍然可读,部分启动和我通过基于 DVD 的恢复环境读取它的能力证明了这一点。安全模式在加载时冻结,CLASSPNP.sys并且在chkdsk倒计时期间键盘没有响应,这表明文件/驱动程序可能损坏。有什么我可以/应该做的吗?

sfc 报告在离线模式下运行

Windows 资源保护未发现任何完整性违规

我的主要问题仍然是如何让启动修复再次工作。我希望一旦成功,我就可以运行系统还原,这可能(也可能不会)还原可能损坏的系统二进制文件。

最终,启动修复的 DVD 版本修复了正常 Windows 启动的任何问题。不幸的是,有些东西改变了驱动器 GUID 或某处的东西,这意味着系统还原没有我当前C:D:分区的还原点,但它确实有相当多的 aC: (Missing)D: (Missing)。对于在驱动器 GUID 更改时中断的恢复工具......好吧,完全没用。我想知道这是谁设计的。

已安装的启动修复版本仍然损坏。


我非常擅长创建文本墙。这是摘要

  • BCD 已损坏
  • BCD 是通过修复deviceosdevice条目手动修复的
  • 启动修复现在报告找不到启动设备,与 BCD 损坏时正常启动相同的错误
  • 正常启动运行chkdsk每次启动并在完成后立即重新启动
  • 安全模式挂在 CLASSPNP.sys
  • chkdsk按任意键倒计时期间键盘无反应

如果有任何区别,我的特定操作系统是 Windows 7 x64 Professional。


当然,大多数在线资源都处理以下问题之一:

  • 使用启动修复修复启动失败
  • 修复启动失败
  • 禁用启动修复

Bob*_*Bob 9

啊哈!修复!

正如我在链接到的 Microsoft Answers 上主题中所指出的,没有针对bcdedit. 从 EasyBCD 也看不到一个。我确实注意到它们在注册表中,但它们由那里的 GUID 显示 - 不太容易导航。

感谢这个答案Visual BCD Editor的建议,我能够在友好的视图中看到恢复环境条目。


终于看到问题了!

由于多次运行启动修复和主引导选项的手动修复,我有一个可用的主引导选项和两个恢复环境引导选项。(恢复的)一个,如下面的屏幕截图所示,是在启动修复期间创建的。

(恢复的)RE 的屏幕截图
点击查看全尺寸

如下面的屏幕截图所示,RecoverySequence主引导选项的 GUID 与恢复的恢复环境的 GUID 不匹配(这是一口!)。相反,它指向损坏的恢复环境条目。我没有尝试将其链接到(恢复的)条目,而是修复了原始条目并删除了(恢复的)条目 - 特别是因为(恢复的)条目具有不同的 GUID 和继承设置。

不匹配的 GUID 的屏幕截图
点击查看全尺寸


解决问题!

在尝试手动修复之前,请备份BCD 文件。这可以在Store>下完成Backup Store

  1. 我在原始恢复环境选项中将ApplicationDevice和链接OSDeviceC:分区。这是\Recovery\b9c42ebd-946e-11e0-8a47-f688fd0bc489\Winre.wim文件所在的位置,恰好是我的主操作系统分区。我听说它在某些 OEM 机器上的不同位置:HP(可能还有其他人)创建了他们自己的应该使用的恢复分区。请注意以下其他人:您看到的 GUID有所不同

    屏幕截图显示步骤
    点击查看全尺寸

  2. 我必须修复Ramdisk Options(链接到原始恢复环境的 GUID)条目:SdiDevice必须设置为 type PartitionDevice, 'Drive' C:, 空白路径。老实说,这是基于DeviceOptionsStartup Repair 创建的并链接到(恢复的)恢复环境。

    屏幕截图显示步骤
    点击查看全尺寸

  3. 然后我删除了DeviceOptionsWindows Recovery Environment (recovered)条目。

    屏幕截图显示步骤
    点击查看全尺寸

  4. 重新启动,测试,享受!这修复了启动失败时 Repair Your Computer高级启动选项菜单中的启动修复(F8启动时)。


不幸的是,我还没有弄清楚如何将恢复环境添加到干净的 BCD 存储中。我认为它只会添加类似的选项,如屏幕截图所示。