BootMgr 丢失,通常的修复不起作用

par*_*y72 19 windows-7 bootmgr

我知道之前有人问过这个问题,但我已经尝试了所有常用的修复方法,但没有任何效果。

基本上,硬盘驱动器有 Vista 和 Windows 7 两个分区。我删除了 Vista 分区以腾出更多空间并扩展 Windows 7 分区以填充驱动器(使用 GParted)。

我试过了:

  1. 运行启动修复 - 它没有发现任何问题。
  2. 将分区设置为活动 - 有效。
  3. bootsect /nt60 c: - 工作。
  4. BootRec /FixMbr - 工作。
  5. BootRec /FixBoot - 工作。
  6. BootRec /ScanOs - 我收到消息“已识别的 Windows 安装总数:0”
  7. BootRec /RebuildBcd - 我收到消息“已识别的 Windows 安装总数:0”

BcdEdit 显示了一个 Windows 启动管理器和一个 Windows 启动加载器,都在 C: 分区上。

[更新]

  1. 重命名 BCD 并重新运行BootRec /RebuildBcd- 有效。
  2. 从 DVD 复制 bootmgr - 被阻止,因为文件已经存在。

[更新2]

我在这里找到了一篇文章其中提到了一些其他命令。

  1. C:\chkdsk /f /r - 工作。
  2. sfc /scannow /offbootdir=c:\ /offwindir=c:\windows- 工作(见这里)。

我还能尝试什么?

par*_*y72 7

我通过以下方式修复它:

  1. 将分区备份到外部驱动器(使用 GParted)。
  2. 删除分区。
  3. 在(现在是空的)驱动器上重新安装 Windows 7。
  4. 将分区的内容复制到全新安装的 Windows(使用 System Rescue CD)。

Windows 现在可以正确启动并且看起来和以前完全一样。

  • 有趣的。这似乎表明,面对一个空磁盘,Windows 安装会进行额外的初始化,而这些初始化并不是为了修复而完成的。我清除 BCD 存储的建议可能会产生相同的效果,也可能不会,也可能不会。正是由于这些未知因素,如果通常的解决方案不起作用,则应该重新格式化磁盘并重新开始(正如我所建议的)。你真的很幸运能够保留你的 Windows 分区,这可能只是因为你已经对其进行了启动修复,它修复了注册表,但不是所有的引导扇区文件。 (2认同)
  • 好吧,可悲的是另一个*从头开始重新安装*修复...:(我想**修复安装**就足够了。 (2认同)

har*_*ymc 6

我猜你在磁盘上有 Vista 作为分区 1,然后是 Windows 7 作为分区 2,然后删除了 Vista,这意味着 Windows 7 现在在分区 1 上。

不幸的是,Windows 通过编号识别其分区,因此 Windows 7 注册表中的所有分区引用现在都不正确且无法使用。

我相信您将不得不重新安装 Windows 7。简单的修复安装应该就足够了,并且只会刷新 Windows 而不会干扰已安装的应用程序。

或者,对于偷偷摸摸的解决方案,您可以在 Windows 7 分区之前在磁盘上创建一些小的空白空间并将其格式化为 NTFS,实际上重新创建一个代理虚拟分区 1,它将将 Windows 7 分区恢复到其在 Windows 7 分区上的第 2 位置盘。您可能仍需要再次执行启动修复。

[编辑]

您可以通过从 DVD 引导到修复的命令提示符选项并输入以下命令来强制 Windows 重新创建 BCD 存储分区:

bcdedit /export C:\BCD_Backup
ren c:\boot\bcd bcd.old
bootrec /rebuildbcd
Run Code Online (Sandbox Code Playgroud)

如果出现权限问题,请attrib bcd -s -h -r在重命名之前使用该命令。重新启动,如果它不起作用,则再次执行启动修复。

另一个绝望的解决方案是假设 bootmgr 已损坏并按上述方式启动,然后执行以下操作:

ren c:\bootmgr deletemelatter
bootrec /rebuildbcd
bootrec /fixboot
Run Code Online (Sandbox Code Playgroud)

如果没有任何效果,只需重新格式化整个磁盘并从头开始安装。不是每个问题都可以分析或有解决方案。


小智 5

请确保将 Windows 7 恢复分区设置为活动分区!!

我遇到了麻烦,因为活动分区设置为 C:\