我认为标题很好地概括了这篇文章的内容。我想在不使用第三方引导加载程序的情况下双启动 MacBook Pro 13'。我发现的所有教程都使用 rEFIt 或 rEFInd 在安装 Linux 后成功启动它,但我不太愿意抹去默认的 Apple 引导加载程序,因为对我来说,这是我见过的最好的引导加载程序。
有什么办法可以做到这一点吗?
谢谢!
答案1
Ubuntu 会在 Mac 电脑的第一个 EFI 系统分区中安装 grub 和其他文件。通常,这是 Mac 电脑上的第一个分区。让 Ubuntu 出现在启动管理器上的过程相当简单。步骤如下。
注意:从 Ubuntu 18 开始,安装程序软件应自动创建在 Mac 上启动 Ubuntu 所需的文件。因此,Ubuntu 18 及更高版本的用户应该能够跳过步骤 5 和 6。
安装 Ubuntu。
完成后,重新启动并按住option键以调用启动管理器。选择从 OS X(或 MacOS)卷启动。
打开终端应用程序窗口。
通过输入以下命令来安装 EFI 系统分区。
diskutil mount disk0s1
Boot
在文件夹中创建一个名为的文件夹/Volumes/EFI/EFI
。您可以使用 Finder 应用程序或输入下面给出的命令。mkdir /Volumes/EFI/EFI/Boot
将文件
grubx64.efi
从文件夹 复制/Volumes/EFI/EFI/ubuntu
到文件夹/Volumes/EFI/EFI/Boot
。接下来,重命名此文件bootx64.efi
。此步骤可以通过使用 Finder 应用程序或输入下面给出的命令来完成。cp /Volumes/EFI/EFI/ubuntu/grubx64.efi /Volumes/EFI/EFI/Boot/bootx64.efi
(可选)从 sourceforge 网站下载图标集苹果电脑. 使用 Finder 应用程序打开下载的文件
mac-icns.dmg
,然后输入以下命令将 Ubuntu 图标文件复制os_ubuntu.icns
到 EFI 系统分区。cp /Volumes/mac-icns/OSX10.11.6/os_ubuntu.icns /Volumes/EFI/.VolumeIcon.icns
这会将以下 Ubuntu 图标添加到启动菜单。
注意:完成后,您可以使用 Finder 应用程序弹出该
mac-icns
卷。使用 Finder 应用程序或输入以下命令来卸载标有 的 EFI 系统分区
EFI
。diskutil unmount disk0s1
答案2
请注意,rEFIt 和 rEFInd 都不会损坏,更不会“消灭”默认的 Apple 引导加载程序;事实上,rEFIt 和 rEFInd 都只是将自己插入到引导过程中然后自己启动Apple的引导加载程序。
从根本上讲,rEFIt 和 rEFInd 是引导经理。启动管理器会显示一个菜单或其他用户界面工具,以便您选择要启动的操作系统。大多数 EFI(包括 Apple 的 EFI)都包含自己的启动管理器;但是,这些内置的启动管理器通常非常原始。在 Mac 上,您可以在计算机启动时(启动铃声响起时)按住 Option(或 Alt)键来启动内置的启动管理器。Mac 的内置启动管理器访问起来很不方便,功能也有限。我猜想这就是 Christoph Pfisterer 创建 rEFIt 的动机。在 rEFIt 失修后,我将 rEFIt 分叉为 rEFInd。我更关心基于 UEFI 的 PC 上的启动问题,但 rEFInd 仍然是一种绕过 Apple 启动管理器限制的方法。
一只靴子装载机,相比之下,引导加载程序将内核加载到内存中并将控制权移交给它。引导加载程序不需要直接与用户交互(尽管它可以)。从技术上讲,rEFIt 和 rEFInd 都不是引导加载程序,尽管 Linux 内核创建了一条模糊的界线,因为它包含一个功能(EFI 存根加载器),使其能够作为自己的 EFI 引导加载程序运行。此外,一些引导加载程序(例如 Linux 发行版中流行的 GRUB 2 引导加载程序)不仅可以作为引导加载程序,还可以作为引导管理器。
如果你在 Mac 上双启动 Ubuntu 和 OS X(或 macOS,最近已重新命名),那么在实际操作中有必要添加某物启动过程。您可以依靠 Apple 的启动管理器来控制要启动的操作系统,在这种情况下,启动 OS X 时不会涉及任何非 Apple 工具。不过,您仍然需要某些东西(GRUB、rEFInd 或其他一些引导加载程序或启动管理器)来启动 Linux 内核。鉴于大多数这些工具比 Apple 的内置启动管理器更方便使用,大多数用户将它们设置在启动顺序中,以便在 OS X 启动管理器之前调用它们。
如果你只是不喜欢 rEFInd,你当然可以不用它。你可以依赖 GRUB 2 的启动管理器功能,或者你可以安装另一个工具,如 gummiboot/systemd-boot。理论上,如果你安装 Ubuntu在 EFI 模式下,它应该以使其成为默认启动管理器的方式安装 GRUB 2,并且应该提供启动 Ubuntu 和 OS X 的选项。实际上,我不确定这是否会起作用 —— Apple 的做法有点不同,而且很少有人这样做,所以我不能保证它会起作用。不过,你可以尝试一下,然后解决事后遇到的任何问题。不过,我建议在开始之前了解有关 EFI 启动的更多信息,这样你就不会犯一些基本的错误,比如在 BIOS 模式下启动安装程序或以错误的方式设置分区。你可以从这些页面开始:
- Adam Williamson 的博客文章介绍了 EFI 的工作原理—— 本页描述了 EFI 模式启动背后的理论。
- Superuser.com 上关于 BIOS 和 EFI 启动之间的区别的问答—— 这提供了前面内容的基础,但更加简洁。
- 我的关于在 EFI 系统上安装 Linux 的页面—— 与 Adam Williamson 的博客相比,此页面对 EFI 模式启动进行了更实用的介绍。
- 我的 CSM 页面-- 本页介绍了 CSM,包括它何时有用以及何时无用。它在某种程度上以 PC 为中心,但大多数信息适用于 Mac。
- Ubuntu 社区 wiki 中有关 UEFI 的条目-- 这个页面有点脱节,但却是针对 Ubuntu 的 EFI 及其问题最具体的介绍。
如果你决定坚持使用 rEFInd 这条更常见的方法,请务必检查你遵循的任何说明的日期。一些非常旧的页面仍然存在,它们通常无法解决新问题,例如系统完整性保护 (SIP);或者他们描述使用已废弃的 rEFIt 而不是较新的 rEFInd。(尽管 rEFIt 仍可与较新的 OS X 版本配合使用,但这样做可能需要克服未记录的障碍。)