不带rEFInd的Linux的双引导OS X或macOS


19

我认为标题相当概括了这篇文章的内容。我想双启动Macbook pro 13',而不必使用第三方启动加载程序。我发现的所有教程都使用rEFIt或rEFInd在安装Linux时成功引导Linux,但是我不满意在我看来这是最好的选择,但要清除默认的Apple引导加载程序。到我见过的引导加载程序。

有什么办法做到这一点?

谢谢!

Answers:


18

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

注意:从Ubuntu 18开始,安装程序软件应自动创建在Mac上引导Ubuntu所需的文件。因此,Ubuntu 18和更高版本的用户应该能够跳过步骤5和6。

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

  4. 通过输入以下命令安装EFI系统分区。

    diskutil mount disk0s1
    
  5. 在文件夹Boot中创建一个名为的文件夹/Volumes/EFI/EFI。您可以使用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系统分区。

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

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

    os_ubuntu.png

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

  8. 使用Finder应用程序或在下面输入命令以卸载标有的EFI系统分区EFI

    diskutil unmount disk0s1
    

1
+1非常适合我在2014 Macbook Air上与macOS Sierra一起安装Linux Mint 18进行双启动
setholopolus

步骤7如何运作?为什么那只会更改Ubuntu分区的图标?我是否还可以更改Macintosh HD的图标,以便在启动菜单上为Mac分区提供一个Sierra徽标,为Linux分区提供一个Ubuntu徽标?
Arc676 '17

好的,现在我在您指定的地方有Ubuntu图标,并且/在我的Sierra分区上有Mac图标。Mac图标显示Mac HD,Ubuntu显示另一个分区。但是,我觉得将图标放在您指定的位置只是使其成为默认图标,因为将图标放在Ubuntu分区的根目录中是行不通的。如果我要安装第三个操作系统怎么办?
Arc676

1
@ Arc676:安装第三个操作系统可能需要第二个EFI分区。您可以拥有的EFI分区数量没有限制。在此答案中可以找到第二个EFI分区的示例。
David Anderson

这个答案使我免于精神错乱。我花了至少4天的时间来解决iMac的问题。基本上,rEFInd损坏了iMac的本机显示驱动程序。不知道如何,但是它将使默认分辨率成为最低分辨率。该问题的解决方案将删除rEFInd。重新安装rEFInd将再次损坏驱动程序,依此类推。谢谢@DavidAnderson。
jnkrois

15

请注意,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的启动管理器的限制。

相比之下,引导加载程序将内核加载到内存中并将控制权转移给它。引导加载程序不需要直接与用户交互(尽管可以)。尽管Linux内核创建了一条模糊的线,但从技术上说rEFIt和rEFInd都不是引导加载程序,因为它包括使它能够用作自己的EFI引导加载程序的功能(EFI存根加载程序)。另外,某些引导加载程序,例如在Linux发行版中很流行的GRUB 2引导加载程序,既可以充当引导管理器,又可以充当引导加载程序。

如果你是双启动Ubuntu和OS X(或者MacOS,因为它的近来重新命名)在Mac上,这是一个实际需要添加的东西来引导过程。您可以依靠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版本一起使用,但这样做可能需要跳过未记录的箍。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.