将 UEFI Ubuntu 与 MBR Windows 相结合

将 UEFI Ubuntu 与 MBR Windows 相结合

在网上搜索了很长时间却没有找到令人满意的解决方案后,我决定自己在这里提出一个问题。

我的电脑已经运行 Windows 7 和 Ubuntu 18 双启动系统一段时间了。最近我搞砸了 Ubuntu 系统,但我决定重新安装,而不是修复它,这样会更快。

因此,我创建了一个可启动的 USB 盘,尝试在 Windows 之后重新安装(包括格式化)Ubuntu,但出现了以下错误

grub-efi-amd64-signed package failed to install into /target/

谷歌搜索这个错误提示,我只需要/boot/efi/在安装过程中提供一个挂载点。这已经感觉有点奇怪了,因为我确定当时第一次安装时我没有这样做。无论如何,我尝试了一下,系统安装成功。缺点是,grub 无法检测到 Windows 7。

进一步谷歌搜索该问题后我发现,grub2 拒绝检测非 UEFI 引导加载程序,这与我以前的经验相矛盾(之前安装了相同的操作系统,双启动正常工作)。

更多细节:

  • 这两个操作系统安装在单独的 SDD 上,每个系统都有自己的引导加载程序。
  • BIOS 支持两种启动方式 (Legacy/UEFI)
  • 对于 Windows 7 磁盘,我fdisk -l认为Disklabel type: dos这意味着该 SDD 仍然使用旧的 MBR/Legacy 启动方法。
  • 我仍然可以告诉 BIOS 启动 Windows 磁盘,它也能正常工作。这排除了 Windows 引导加载程序损坏导致 grub 无法检测到它的可能性。
  • Ubuntu 18 使用 grub2(默认)作为引导程序。由于我已经安装了新系统,因此我无法分辨旧系统使用了哪种引导类型,或者它具有哪种 Disklabel 类型。
  • 运行时update-grub2仅检测到 Ubuntu。
  • 运行os-prober没有结果(分别产生空结果)。
  • 我可以在运行 Ubuntu 时挂载并访问 Windows 磁盘。

我发现的一个解决方案是将 Windows 启动类型更改为 UEFI,但我不想这样做,因为这意味着迁移 Windows 或重新安装它,而我不想这样做。

有人知道如何以非 UEFI 方式安装 Ubuntu,或者让 grub2 检测基于 MBR 的 Windows 安装吗?我不喜欢这两种方式中的任何一种(或可能的其他方式)。

如果您需要任何进一步的信息,我非常乐意提供。

祝一切顺利,感谢您的回答!

答案1

每个主板的 BIOS/UEFI 接口略有不同,但您应该注意到启动选项或启动优先级列表中的 USB 驱动器有两个(或更多)不同的条目。确保选择了非 UEFI 选项,以便安装程序默认为传统模式。

否则,如果您选择以 开头的闪存驱动器UEFI:,则安装程序将默认为 UEFI。

如果没有显示任何非 UEFI 选项,您可能需要在 BIOS 中搜索其他设置以禁用 UEFI 或启用 MBR。有时这被称为“传统模式”。有关如何执行此操作的硬件特定问题,请参阅制造商手册。

使用 USB 启动到传统模式应该可以让 GRUB 和安装程序更容易找到您的 Windows 安装。

相关内容