使用 BIOS 和 EFI 双重启动?

使用 BIOS 和 EFI 双重启动?

我把 Ubuntu 安装在了另一台电脑上,而不是现在正在运行的那台。旧电脑只支持 BIOS,所以就用 BIOS 的方式安装。我最近用 UEFI 安装了 Windows 7,因为如果使用 BIOS 的话,它就无法安装。(我被告知新主板只支持 UEFI,但 Ubuntu 仍能正常工作。)但是,GRUB 只能识别 Ubuntu,而不能识别 Windows,而且 Windows 引导程序甚至没有为 GRUB 覆盖 MBR - 正常启动,无需调用启动菜单,就能启动 Ubuntu。

简而言之:

  • 首先安装 Ubuntu,使用 BIOS。
  • 稍后使用 UEFI 安装 Windows。
  • 两个引导加载程序都无法发现另一个操作系统。我想将 Windows 添加到 GRUB 菜单。

我如何让 GRUB 识别 Windows 安装,或者这不可能吗?

答案1

安装和启动的简单规则:

A)Windows 只能通过 MBR 样式磁盘以 BIOS 方式启动

(使用 MBR 记录 + 分区引导记录 + 活动分区上的引导管理器)。

b)Windows 只能通过 UEFI 方式从 GPT 磁盘启动

(此处启动管理器位于 EFI 系统分区上)。

c) Linux/GRUB 可以从 MBR 样式磁盘以 BIOS 方式启动。

d) Linux/GRUB 可以通过 BIOS 方式或 UEFI 方式从 GPT 磁盘启动

(当从 GPT 磁盘以 BIOS 方式启动时,Linux/GRUB 使用特殊的单独启动分区)。

现在您可以在双启动 Windows 和 Linux 时进行组合。


如果您有 UEFI 固件,最好将 Linux 和 Windows 都安装到 GPT 磁盘(可以使用 Linux 工具或 Windows 工具将磁盘格式化/设置为 GPT)并以 UEFI 方式启动两个系统。


甚至还有磁盘工具可以将 MBR 样式的磁盘转换为 GPT 样式的磁盘,同时保留当前分区内容(例如 OS 安装)!一般来说,将 GPT 转换为 MBR 是不可能的。

只需将启动管理器/加载程序重写为 UEFI 就足够了(在 MBR 到 GPT 磁盘转换之后)来启动操作系统(Windows 或 Linux) - 无需重新安装(如果转换后丢失,最终会在磁盘上创建额外的 EFI 系统和 MS 保留分区)。

笔记:

如果您想以 UEFI 方式安装 - 您可以以 UEFI 方式启动安装媒体(DVD/USB)!(显然,只有计算机上有 UEFI 固件才能做到这一点。)

答案2

您没有指定某些关键细节,例如您有多少个磁盘以及它们如何分区。因此,不可能给出完整的答案;但是,一个模糊的答案可能是您需要为 Linux 安装 EFI 引导加载程序。有很多方法可以做到这一点。最简单的两种方法是:

  • 引导修复-- 您可以运行引导修复程序从 EFI 模式启动并告诉它重新安装 GRUB。诀窍是获得 EFI 模式启动,当然您无法从当前的 Ubuntu 安装中进行此操作。最简单的解决方案是启动 Ubuntu 安装磁盘在 EFI 模式下并从中运行 Boot Repair。要强制 EFI 模式启动,请尝试在固件设置实用程序中禁用 BIOS/CSM/legacy 支持。
  • 重新索引-- 您可以下载我的 USB 闪存驱动器或 CD-R 映像rEFInd 启动管理器,使用它启动您当前的 Ubuntu 安装,然后使用 Debian 包或 PPA 在 Ubuntu 中安装 rEFInd。这将使 rEFInd 负责启动过程;您不再需要 GRUB。

如果您有问题或需要进一步说明,请编辑您的问题以包含我之前提到的磁盘详细信息。

相关内容