在 Mac 上安装 Ubuntu 时,我应该将其安装在 EFI 还是 BIOS 下?

在 Mac 上安装 Ubuntu 时,我应该将其安装在 EFI 还是 BIOS 下?

在 Mac 上安装 Ubuntu 时,我应该在 EFI 还是 BIOS 下安装?我正在使用 rEFInd,尝试安装 Ubuntu 15.10

答案1

EFI 模式和 BIOS 模式安装的大部分安装过程相同。它们有以下三个不同之处:

  • 在 BIOS 模式下启动安装程序时,您可以启动 32 位或 64 位版本的 Ubuntu,至少如果您有 64 位 CPU 的话。在 EFI 模式下,您只能安装 64 位版本的 Ubuntu,而且前提是您有 64 位 EFI(大多数 Mac 都有)。如果您有一台罕见的带有 32 位 EFI 的 Mac,事情就会变得复杂。
  • 如果你以 EFI 模式安装,安装程序将设置你的EFI 系统分区 (ESP)自动挂载在/boot/efi。如果您在 BIOS 模式下安装,则不会发生这种情况。安装后可以手动更改此详细信息。
  • 安装程序将安装引导加载程序以匹配其自己的引导模式。(例外情况是,如果您启动到“安装前尝试”模式,打开终端并输入synaptic -b。在这种情况下,不会安装任何引导加载程序。)

在我看来,如今在 64 位 CPU 上安装 32 位操作系统几乎没有意义。一个值得注意的例外是一些相当早期的基于 Intel 的 Mac,它们具有 32 位 EFI。因此,第一点对大多数用户来说并不重要。如前所述,一个例外是如果您拥有一台具有 32 位 EFI 的稀有 Mac(大约来自基于 Intel 的 Mac 生产的第一年)。

第二点很容易更改,因此只要您知道如何编辑,就不需要考虑太多/etc/fstab。如果您不理解此主题,请参阅这一页。

引导加载程序问题是一个大问题。要启动 BIOS 模式的引导加载程序,Mac 要求您的磁盘使用 MBR 分区表或 GPT,并带有混合型MBR。OS X 通常安装在 GPT 上,这意味着如果您进行双启动,则需要混合 MBR 才能与 BIOS 模式引导加载程序进行双启动。请阅读本段前面的链接。它更详细地描述了混合 MBR,包括为什么它们如此危险的。仅出于这个原因,我强烈建议不要使用 BIOS 模式安装 Ubuntu如果您正在使用 OS X 双启动。

但是,如果 Ubuntu 是计算机上唯一的操作系统,则可以使用直接 MBR(无 GPT)并以 BIOS 模式安装。这可能比 EFI 模式安装效果更好,但如果您最终决定要双启动,它将限制您的选择。如果有必要,它还会使更新计算机固件变得更加困难。

回到双启动,如果您直接在 EFI 模式下安装 Ubuntu,它将尝试安装 EFI 模式版本的 GRUB。这可能工作正常,并可能使您能够使用 GRUB 的启动菜单与 OS X 进行双启动。此配置将绕过 rEFInd(除非您重新安装它)。不过,我看到过有关此配置不起作用的报告;系统将直接启动到 OS X 或 Ubuntu,这使得启动另一个操作系统变得困难。

如果您想继续使用 rEFInd,最安全的方法是:

  1. 在“安装前尝试”模式下启动 Ubuntu 安装程序。在 BIOS 模式或 EFI 模式下执行此操作都没有关系,除了关于完成后 ESP 是否会自动安装的评论。
  2. 打开终端窗口。
  3. 输入ubiquity -b。这将启动 Ubuntu 安装程序。该-b选项告诉它不是安装 GRUB。
  4. 定期安装 Ubuntu。务必使用 ext4fs,而不是其他文件系统。(如果您确实想使用其他文件系统,也可以,但这会使事情稍微复杂一些。如果您需要有关这一点的进一步建议,请回复详细信息。)
  5. 完成后,重新启动。应该会出现 rEFInd(如果已经安装)或计算机将直接启动到 OS X(如果尚未安装 rEFInd)。
  6. 在 OS X 中,(重新)安装 rEFInd。此步骤仅用于确保安装了 ext4fs 的 EFI 文件系统驱动程序。您也可以自己手动安装该驱动程序。(如果有必要,您也可以手动安装另一个 EFI 文件系统驱动程序。)

此过程的结果是,当您重新启动时,rEFInd 应该会出现并为您提供启动 OS X 或 Ubuntu 的选项。需要注意的是,如果您使用单独的分区,Ubuntu 选项将需要进行一些调整/boot。一旦选择了 Ubuntu 选项,您可以通过按 F2 或两次 Insert 而不是 Enter 来一次性启动。然后您可以添加ro root=/dev/whatever,其中/dev/whatever标识您的根 ( /) 文件系统。启动 Ubuntu 后,运行mkrlconfrEFInd 附带的脚本。这将生成一个名为 的文件/boot/refind_linux.conf,从而无需进行这些更改。

相关内容