在没有rEFInd的情况下使用Linux双引导OS X或macOS

我认为标题总结了这篇文章的内容。 我想在不必使用第三方引导加载程序的情况下双启动macbook pro 13’。 我发现的所有教程都使用rEFIt o rEFInd来安装Linux时成功启动Linux,但是我不清楚消除默认Apple的启动加载程序的想法,对我而言,当它到来时它是最好的东西我见过的引导装载机。

有没有办法做到这一点?

谢谢!

Ubuntu在Mac计算机的第一个EFI System分区中安装grub和其他文件。 通常,这是Mac计算机上的第一个分区。 使Ubuntu出现在启动管理器上的过程非常简单。 步骤如下。

  1. 安装Ubuntu。
  2. 完成后,重新启动并按住选项键以调用启动管理器。 选择从OS X(或MacOS)卷启动。
  3. 打开终端应用程序窗口。

  4. 输入以下命令安装EFI System分区。

    diskutil mount disk0s1 
  5. 在文件夹/Volumes/EFI/EFI创建名为Boot的文件夹。 您可以使用Finder应用程序或输入下面给出的命令。

     mkdir /Volumes/EFI/EFI/Boot 
  6. 将文件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 
  7. (可选)从sourceforge网站Mac icns下载一组图标。 使用Finder应用程序打开下载的文件mac-icns.dmg ,然后输入以下命令将Ubuntu图标文件os_ubuntu.icns复制到EFI System分区。

     cp /Volumes/mac-icns/os_ubuntu.icns /Volumes/EFI/.VolumeIcon.icns 

    这会将以下Ubuntu图标添加到“启动”菜单中。

    os_ubuntu.png

    注意:完成后,您可以使用Finder应用程序弹出mac-icns卷。

  8. 使用Finder应用程序或输入以下命令以卸载标记为EFI的EFI System分区。

     diskutil unmount disk0s1 

请注意,无论是rEFIt还是rEFInd都不会损坏,更不用说“擦除”默认的Apple启动加载程序; 实际上,rEFIt和rEFInd都只是将自己插入启动过程,然后自己启动Apple的启动加载程序。

从根本上说,rEFIt和rEFInd是启动管理器。 引导管理器提供菜单或其他一些用户界面工具,使您可以选择要引导的操作系统。 大多数EFI,包括Apple,都包括他们自己的启动管理器; 但是,这些内置的启动管理器通常非常原始。 在Mac上,您可以在计算机启动时按住Option(或Alt)键启动内置启动管理器(启动时会发出启动声)。 Mac的内置启动管理器很难访问并且function有限。 我认为这就是Christoph Pfisterer创造rEFIt的动机。 在rEFIt失修后,我将rEFIt分配到rEFInd。 我对基于UEFI的PC的启动问题更有动力,但rEFInd仍然是苹果启动管理器限制的一种方式。

相反,引导加载程序将内核加载到内存中并将控制转移到内存中。 引导加载程序不需要直接与用户交互(尽管可能)。 rEFIt和rEFInd在技术上都不是引导加载程序,尽管Linux内核创建了一条模糊的行,因为它包含一个function( EFI存根加载程序 ),使其能够作为自己的EFI引导加载程序。 此外,一些引导加载程序,如Linux发行版中受欢迎的GRUB 2引导加载程序,可用作引导管理器以及引导加载程序。

如果您在Mac上双启动Ubuntu和OS X(或者最近重新命名的macOS),那么在启动过程中添加一些内容是非常必要的。 您可以依靠Apple的启动管理器来控制启动哪个操作系统,在这种情况下,启动OS X时不会涉及非Apple工具。您仍然需要一些东西(GRUB,rEFInd或其他一些启动加载程序或启动管理器)但是,要启动Linux内核。 鉴于大多数这些工具比Apple的内置启动管理器更方便使用,大多数用户将它们设置为启动顺序,以便在OS X启动管理器之前调用它们。

如果你只是不喜欢rEFInd,你当然可以不用它。 你可以依赖GRUB 2的启动管理器function,或者你可以安装另一个工具,比如gummiboot / systemd-boot。 理论上,如果你在EFI模式下安装Ubuntu 它应该以一种使它成为默认启动管理器的方式安装GRUB 2,它应该提供启动Ubuntu和OS X的选项。实际上,我不确定会工作 – 苹果做的事情有点不同,所以很少有人这样做,我不能保证它会起作用。 不过,你可以尝试一下,然后解决你遇到的任何问题。 我建议您在开始之前了解有关EFI启动的更多信息,这样您就不会犯一些基本错误,例如在BIOS模式下启动安装程序或以错误的方式设置分区。 您可以从这些页面开始:

  • Adam Williamson关于EFI如何工作的博客文章 – 本页描述了EFI模式启动背后的理论。
  • 有关Superuser.com上BIOS和EFI启动之间差异的问答 – 这提供了前面的基础知识,但更简洁。
  • 我在EFI系统上安装Linux的页面 – 这个页面是比Adam Williamson的博客更实用的EFI模式启动介绍。
  • 我在CSM上的页面 – 此页面涵盖了CSM,包括何时有用以及何时有用。 它有点以PC为中心,但大部分信息都适用于Mac。
  • UEFI上的Ubuntu社区wiki条目 – 这个页面有点脱节,但是对于EFI及其问题,它是Ubuntu特定的介绍。

如果您决定坚持使用rEFInd的更多旅行路径,请务必检查您遵循的任何指示的日期。 一些非常旧的页面仍在那里,它们通常无法解决系统完整性保护(SIP)等新问题; 或者他们描述使用废弃的rEFIt而不是新的rEFInd。 (虽然rEFIt仍然可以用于更新的OS X版本,但这样做可能需要跳过未记录的箍。)