uefi usb在Mac上启动而无需重新安装

我一直在努力让我的MacBook在启动菜单中识别Ubuntu(启动时为alt)。 我真的不想安装rEFIt。 还有别的办法吗? 非常感谢!!

首先,rEFIt是放弃软件; 它在六年内没有更新。 因此,我创建了一个名为rEFInd的rEFIt fork ,它正在积极开发中,与Linux(包括Ubuntu)和最近版本的OS X相比,它比rEFIt更好。 因此,如果你不能按照你想要的方式工作,请查看rEFInd而不是rEFIt。

也就是说,有两种方法可以在OS X下安装Ubuntu,每种方法都有几种变体。 您的问题的答案取决于您选择的方法和变体:

  • BIOS / CSM /传统模式 – 许多较旧的文档描述了使用兼容性支持模块(CSM)在Mac上安装Ubuntu,即BIOS模式或传统模式支持。 在其最简单的安assembly置中,这涉及在BIOS模式下启动Ubuntu安装程序并让它安装GRUB 2.然后,您应该在Mac的启动菜单上获得用于启动BIOS模式操作系统的选项。 IIRC,它不知道不同的引导加载程序之间的区别,所以它将调用GRUB 2“Windows”,但它应该工作。 如果您愿意,可以安装LILO,GRUB Legacy或更具异国情调的引导加载程序而不是GRUB 2,但这将涉及跳过额外的箍。 这种方法的一个大问题是它需要使用混合MBR,这是一个丑陋而危险的黑客攻击。 如果你不了解GPT,MBR和混合MBR,我强烈建议不要采用这种方法,因为你最终会很容易丢弃你的硬盘。 如果您确实理解了这些主题,您可以这样做而不会造成太多问题,但它仍然不是我个人的首选。
  • EFI模式 – Ubuntu的EFI模式安装消除了对混合MBR的需求,这使得它更加安全。 有很多方法可以做到这一点,但从广义上讲,它们分为两类:
    • 标准EFI安装 – 在基于UEFI的PC上,Ubuntu将EFI模式GRUB 2安装到EFI系统分区(ESP) ,并将指向GRUB的条目添加到NVRAM启动管理器列表。 不幸的是,Apple的EFI并没有以正常的方式使用这个启动菜单列表,所以尽管这种方法可以使GRUB成为默认的启动管理器,但它不太可能出现在Mac的GUI启动菜单上。 GRUB可能会也可能不会启动OS X(我已经看到过成功和失败的报告)。 因此,将常规EFI模式安装Ubuntu到Mac可能会有问题。 有足够的持久性和GRUB知识,你可能能够让它工作,但不是你想要的方式。
    • 假装是Mac OS X – OS X在HFS +卷/System/Library/CoreServices/boot.efi其引导加载程序安装为/System/Library/CoreServices/boot.efi 。 如果您创建一个HFS +卷并将GRUB 2( grubx64.efi )复制到该名称以及一些支持文件,OS X的系统选择器将会注意到它并使您能够选择它。 有关此方法的更多信息 ,请参阅此博客文章 。 Ubuntu不支持这种类型的安装(除非它是16.04的新版本,我还没有学到它)。 因此,如果要使用此方法,则需要手动设置。 此外,最近有一些变化(对El Capitan,IIRC – 或者可能是Yosemite)似乎需要一些额外的支持文件,以便选择显示在OS X自己的引导选择器中。 我还没有研究过这些变化,所以我还不确切知道可能需要什么。 如果您想尝试这种安装方法,最好定期进行EFI模式安装,然后将主GRUB 2文件及其支持文件复制到一个小型HFS +卷,然后添加特定于Mac的支持文件。 请注意,您必须创建专用的GRUB 2 HFS +卷或使用以前无法启动的HFS +卷。 您不能为此目的尝试使用常规OS X卷,因为这会消灭OS X引导加载程序,导致OS X无法引导。

另请注意,Ubuntu安装程序的初始引导模式(即BIOS与EFI)决定了它是安装BIOS模式还是EFI模式GRUB。 因此,您必须控制此启动模式。 Apple的启动管理器可能不清楚这一点,或者甚至可能不会给你你想要的选项。 (详细信息取决于Mac型号,固件版本以及如何准备引导介质。)启动Ubuntu后,您可以通过查找名为/sys/firmware/efi的目录来检查引导模式。 如果该目录存在,则以EFI模式启动; 如果它不存在,你已经在BIOS模式下启动了。

总而言之,这些选项都不容易和好 – BIOS模式安装很容易但很丑陋且有潜在危险; 和EFI模式启动更难设置,但更安全,更清洁。 这是许多Mac用户使用rEFInd(或之前的rEFIt)的原因之一。

请注意,rEFInd不需要为Ubuntu启动复杂性添加任何内容,因为它可以替换 GRUB 2.根据您的配置方式,通过rEFInd启动会出现rEFInd菜单。 此菜单可以将引导过程定向到OS X的引导加载程序,引导GRUB 2(BIOS模式或EFI模式,假设已安装),或直接引导Linux内核。 由于这种最后的可能性,甚至不需要安装GRUB 2。 如果你想这样做,最简单的方法是:

  1. 以BIOS模式或EFI模式(这几乎不相关)引导Ubuntu安装程序。
  2. 出现提示时,选择尝试Ubuntu而不安装它的选项。
  3. 在Ubuntu实时会话中打开终端窗口。
  4. 输入ubiquity -b 。 这将启动Ubuntu安装程序,但告诉它安装GRUB 2。
  5. 安装Ubuntu。 理想情况下,不要创建单独的/boot分区; 但如果你这样做(支持LVM,RAID或磁盘加密),请注意你的Ubuntu根( / )分区( /dev/sda5/dev/mapper/ubuntu-root或其他)的标识。 另外,将ext4fs用于包含Linux内核的分区(根[ / ]分区,或者如果使用的话,则使用单独的/boot分区)。
  6. 重启。 OS X应该出现。
  7. 安装rEFInd。
  8. 重启。 rEFInd应该出现并为您提供OS X和Ubuntu的选项。 测试他们两个。 如果您创建了单独的/boot分区,则必须执行一些额外的步骤:
    1. 当您突出显示Ubuntu选项时,请不要按回车键; 相反,点击F2或插入两次。
    2. ro root={whatever}添加到选项中,其中{whatever}是您的根( / )文件系统标识符。
    3. 在Ubuntu中,找到mkrlconf附带的mkrlconf脚本并运行它。 (您应该可以从OS X卷运行它;或者您可以重新下载rEFInd .zip文件,解压缩并从那里运行它。)
    4. 重新启动时,您应该能够通过在rEFInd菜单中选择它后按Enter键来启动Ubuntu。

如果你想避免rEFIt,因为你通常想要启动OS X(或Ubuntu)并且不想处理菜单,请注意你可以调整rEFInd,这样只有在启动时按住某个键才能显示其菜单:编辑refind.conf文件,以便设置以下选项:

 timeout = -1 default_selection = "OS X" 

当然,您可以根据需要调整default_selection