如何通过 grub2 启动恢复 Windows 7

如何通过 grub2 启动恢复 Windows 7

我之前曾发布过有关类似问题的帖子,但现在我已经设法按照其他人的各种教程和解决方案取得了进一步的进展,但不确定到底发生了什么,也不确定这是否是一个量身定制的情况。

您可以在下面找到我尝试恢复 MBR 后删除的启动修复 URL 链接。

http://paste.ubuntu.com/7018148/

背景信息

  • 我有一个装有 Windows 7 的 SSD 和一个装有 Ubuntu 13.10 的 HDD
  • 当前正在使用 grub2 启动(我相信,如果这是 2 的话,背景是紫色的)(我想从我的 SSD 启动,但目前让 windows 以任何可能的方式工作对我来说都没问题)

近期试验

  • 我尝试更改 BIOS 设置,使 SSD 位于列表顶部;Windows 说缺少 BOOTMGR
  • Windows 修复 CD 不允许我修复启动
  • 我尝试按照本教程进行操作这里

我确信有解决方案。由于担心损坏我的 Windows 驱动器,所有文件仍在那里,所以我相信我的安装过程是正确的。我按照标准在第二个驱动器上创建了分区,以便:

  • 启动分区
  • 根分区
  • 正常空间
  • Linux 交换

答案1

您损坏了 Windows,但如果您有 Windows 修复 CD 或闪存驱动器,可以轻松修复。

当您安装 Windows 时,另一个驱动器是否是 BIOS 中的启动驱动器?Windows 将其启动分区(通常为 100MB 且在 Windows 中隐藏)安装到 BIOS 中作为启动驱动器的驱动器。并且该分区具有启动标志(活动分区),因此 Windows 知道从哪个分区启动。

但您不必拥有单独的 Windows 启动分区。但您缺少 bootmgr 和 BCD。如果您在 Windows NTFS 分区上运行 Windows 修复,则应该添加这些。请务必先将 Windows 驱动器设置为 BIOS 启动驱动器,否则 Windows 修复可能会将新的启动分区放入 sdb,并且由于它看不到 Linux 分区并重写分区表,因此会破坏 sdb 上的 Linux。

Grub 不使用启动标志,但有些 BIOS 不允许您在主分区上没有启动标志的情况下启动。我建议将启动标志从 sdb5 移到 sdb1,但这与此无关,可能不是必需的。

修复 Windows 后,重置 BIOS 以从 sdb 启动。启动 Ubuntu 并运行此程序,它会将 Windows 添加到 grub 菜单。如果有任何问题,您可以直接从 BIOS 或一次性启动密钥在 sda 上启动 Windows。

sudo update-grub

相关内容