Debian grub 引导加载程序找不到 Windows 7

Debian grub 引导加载程序找不到 Windows 7

我已经在我的计算机上使用 Windows 7 很长时间了,配置如下。我有三个硬盘,大小各不相同,Windows 安装在最大的硬盘上。这也是在 Windows 安装期间列为第三个硬盘的硬盘。MBR 安装在列为第一个硬盘的硬盘上。昨晚,我在第一个硬盘上安装了 Debian,并在使用前对其进行了格式化。我知道 grub 会安装,并假设它能够拾取安装了 Windows 的硬盘。但事实似乎并非如此。从我今天读到的内容来看,grub 仍然依靠 Windows MBR 来启动 Windows,但它找不到。它不仅仅是损坏了,而是消失了。我尝试从 Windows 安装 CD 修复 MBR,但由于没有 MBR,它找不到要修复的安装。我可以从 Debian 看到 Windows 操作系统,因此我可以恢复我需要的一切并在必要时重新安装,但如果可能的话,我想避免这种情况。非常感谢您提供的任何帮助。谢谢。

答案1

尝试启动SystemRescueCD并使用ms-sys程序会将 MBR 记录写入包含 Windows 安装的硬盘。然后尝试从那里开始工作。


说实话,我不知道 MBR “...消失了” 是怎么回事。我的意思是,GRUB 安装程序不会随意擦除驱动器上的 MBR。

所以......我还有另一个模糊的想法需要考虑:你的驱动器上可能有包含 Windows 的 GPT 样式分区表您的主板包含“双” BIOS,它可能同时按照规格[U]EFI和 BIOS 规格工作(许多最近的 AMI BIOS 都这样做;尤其是那些带有 GUI 鼠标界面的 BIOS)。

这里的“诀窍”是,默认情况下,此类 BIOS 以 UEFI 的形式运行,而 Windows 安装程序会在其中设置几个变量,其结果会显示为“Windows Boot Loader”字符串,出现在启动框的方法中。在此模式下,启动的唯一方法是使用“Windows Boot Loader”,它知道如何找到一个(特殊的、100MiB 大小的隐藏)分区,其中包含另一个实际拉入 Windows 的 EFI 加载程序。所有 MBR 分区的驱动器都会被忽略,因为 UEFI 只会查看 GPT。

但是,一旦您直接选择硬盘作为启动设备,BIOS 就会切换到旧的 BIOS 模式,并且突然所有 GPT 驱动器都变得“不可见”(因为 BIOS 只知道如何运行占用 MBR 中前 400 多个字节的引导加载程序),除非 BIOS 运行的某些程序(例如 GRUB)知道如何自行找到它们。

因此,我认为尝试恢复 Windows 的一种方法是切换回启动“Windows 启动加载程序”:您将无法启动 Debian,但至少您可以回到原点。

笔记在尝试将 MBR 放回 Windows 驱动器之前,我真的会尝试弄清楚您的 Windows 驱动器上是否有 GPT,因为这样做会破坏您的 GPT!

相关内容