如何让 Grub2 启动 OS X?

如何让 Grub2 启动 OS X?

我删除了 MacBook Pro 上的所有内容,将其分成几个小分区,并安装了 Ubuntu、Windows 和 OS X。Grub2 可以看到我的 Windows 和 Ubuntu 安装,但 OS X 没有出现在 Grub2 菜单中。

我尝试了 os-prober,但没有找到任何东西。我尝试了各种编辑,40_custom我见过这里这里和其他地方,但我一直得到"hd0,[blank]" does not exist

如何让 OS X 在启动时出现在 Grub2 菜单上?

答案1

EFI 模式 GRUB 应该能够链式加载 OS X 引导加载程序,但 GRUB 探测器可能不知道在哪里找到它。它传统上存储/System/Library/CoreServices/boot.efi在 OS X 根分区上;但从 Yosemite 开始,它通常存储在紧急启动磁盘上,因为根文件系统现在默认使用 LVM 设置,而固件无法读取。无论如何,您可能需要编写自定义 GRUB 条目才能启动它。请参阅这里以获取一些基本信息,尽管它并没有提供你想要的完整说明。

如果您的 Ubuntu 安装处于 BIOS/CSM/旧模式,则可能会更难,因为 GRUB 无法重定向到 EFI 模式启动。GRUB 能够直接启动 OS X 内核,但设置起来可能很棘手,并且可能会使您失去 OS X 中的一些功能。这绝对是边缘/前沿的东西,所以我不建议您尝试。如果您愿意这样做,您可能可以在互联网上的某个地方找到说明,但我手头没有任何 URL。

许多 Mac 用户更喜欢使用 GRUB 以外的其他程序作为默认引导加载程序,将 GRUB 降为次要状态或根本不使用它。执行此操作的传统工具是改装,但它已经被废弃了五年了。它仍然有效,但如果你使用 Yosemite 或其他相对较新的选项,你可能需要经历一些额外的麻烦。我创建了一个名为 rEFIt 的分支重新索引。它得到了积极的维护,可以启动任何操作系统。如果您愿意,可以在 CD-R 或 USB 闪存驱动器上试用它,然后再将其安装到硬盘上。(下载页面包括两种媒体类型的图像链接。rEFInd 可以直接启动 Linux 内核,从而绕过 GRUB;或者它可以链式加载到 EFI 模式或 BIOS 模式的 GRUB。它还可以链式加载到 OS X 引导加载程序以及 EFI 模式和 BIOS 模式的 Windows 引导加载程序。

答案2

我已经安装了没有 rEFInd 的 Debian。我很难从 GRUB 启动 OSX。我不得不按下按钮Alt才能启动到 MacOs。

我尝试在 40_custom 文件中输入几个条目,但无济于事。我偶然发现了这个解决方案:我刚刚在 GRUB2 中创建了一个菜单项,方法是在文件夹40_custom中的文件中包括以下代码/etc/grub.d/

menu entry 'Os X' {
exit
multiboot /boot
}

然后我就跑了sudo update-grub

相关内容