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

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

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

在硬盘上安装启动修复程序(就好像它原本不在那里一样)也可以解决这个问题。

为了让 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(我有一个半损坏的 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:却不少。当驱动器 GUID 发生变化时,恢复工具就会中断……好吧,完全没用。我想知道是谁设计的。C: (Missing)D: (Missing)

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


我很擅长创作长篇文字。以下是概括

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

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


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

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

答案1

啊哈!修好了!

正如我在我链接到的 Microsoft Answers 上的主题,没有来自 的恢复环境条目bcdedit。EasyBCD 中也没有可见条目。我确实注意到它们在注册表中,但它们在那里以 GUID 显示 - 不太容易导航。

谢谢这个答案的建议可视化 BCD 编辑器,我能够以友好的视图看到恢复环境条目。


终于看到问题了!

由于多次运行启动修复和手动修复主启动选项,我有一个正常工作的主启动选项,并且恢复环境启动选项。如下面的屏幕截图所示,(恢复的)启动选项是在启动修复期间创建的。

RE 的截图(已恢复)
点击查看完整尺寸

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

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


解决问题!

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

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

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

  2. 我必须修复Ramdisk Options(链接到原始恢复环境的 GUID)条目:SdiDevice必须设置为类型PartitionDevice、“驱动器” C:、空白路径。老实说,这是基于DeviceOptions启动修复创建的并链接到(恢复的)恢复环境。

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

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

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

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


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

相关内容