23 mac dual-boot macosx bootloader refind
我认为标题很好地总结了这篇文章的内容。我想双引导 macbook pro 13' 而不必使用第三方引导加载程序。我发现的所有教程都使用 rEFIt 或 rEFInd 在安装后成功启动 Linux,但我对清除默认的 Apple 引导加载程序的想法不满意,对我来说,这是最好的事情到我见过的引导加载程序。
有没有办法做到这一点?
谢谢!
Dav*_*son 25
Ubuntu 在 Mac 计算机上的第一个 EFI 系统分区中安装 grub 和其他文件。通常,这是 Mac 计算机上的第一个分区。使 Ubuntu 出现在启动管理器上的过程相当简单。步骤如下。
注意:从 Ubuntu 18 开始,安装程序软件应自动创建在 Mac 上启动 Ubuntu 所需的文件。因此,Ubuntu 18 及更高版本的用户应该可以跳过步骤 5 和 6。
安装 Ubuntu。
完成后,重新启动并按住option键以调用启动管理器。选择从 OS X(或 MacOS)卷启动。
打开终端应用程序窗口。
通过输入下面给出的命令挂载 EFI 系统分区。
diskutil mount disk0s1
Run Code Online (Sandbox Code Playgroud)
创建一个在文件夹中命名Boot
的文件夹/Volumes/EFI/EFI
。您可以使用 Finder 应用程序或输入下面给出的命令。
mkdir /Volumes/EFI/EFI/Boot
Run Code Online (Sandbox Code Playgroud)
将文件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
Run Code Online (Sandbox Code Playgroud)
(可选)从 sourceforge 网站Mac icns 下载图标集合。使用 Finder 应用程序打开下载的文件mac-icns.dmg
,然后输入以下命令将 Ubuntu 图标文件复制os_ubuntu.icns
到 EFI 系统分区。
cp /Volumes/mac-icns/OSX10.11.6/os_ubuntu.icns /Volumes/EFI/.VolumeIcon.icns
Run Code Online (Sandbox Code Playgroud)
这会将以下 Ubuntu 图标添加到启动菜单。
注意:完成后,您可以使用 Finder 应用程序弹出
mac-icns
卷。
使用 Finder 应用程序或输入以下命令卸载标有EFI
.
diskutil unmount disk0s1
Run Code Online (Sandbox Code Playgroud)
Rod*_*ith 18
请注意,rEFIt 和 rEFInd 都不会损坏,更不用说“清除”默认的 Apple 引导加载程序;实际上,rEFIt 和 rEFInd 都只是将自己插入到引导过程中,然后自己启动 Apple 的引导加载程序。
从根本上说,rEFIt 和 rEFInd 是引导管理器。启动管理器提供一个菜单或一些其他用户界面工具,使您能够选择要启动的操作系统。大多数 EFI,包括 Apple 的,都包含自己的启动管理器;然而,这些内置的引导管理器通常非常原始。在 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。理论上,如果你在 EFI 模式下安装 Ubuntu ,它应该以使其成为默认启动管理器的方式安装 GRUB 2,并且它应该提供用于启动 Ubuntu 和 OS X 的选项。实际上,我不确定这会起作用——Apple 做的每件事都有些不同,这样做的人太少了,我不能保证它会奏效。不过,您可以尝试一下,然后在事后解决您遇到的任何问题。不过,我建议您在开始之前了解有关 EFI 引导的更多信息,这样您就不会犯一些基本错误,例如在 BIOS 模式下引导安装程序或以错误的方式设置分区。您可以从这些页面开始:
如果您决定坚持使用 rEFInd 的更广泛路径,请务必检查您遵循的任何说明的日期。一些非常旧的页面仍然存在,它们通常无法解决系统完整性保护 (SIP)等新问题;或者他们描述使用废弃的 rEFIt 而不是更新的 rEFInd。(虽然 rEFIt 仍然可以与较新的 OS X 版本一起使用,但这样做可能需要跳过未记录的环节。)