背景
我已经在我的旧 White Core 2 Duo iMac 上成功安装了 Ubuntu 64 位 14.04.03 桌面版
Linux 是第二个操作系统,OS X 10.7.5 仍然可以使用。
我发现唯一可行的安装方法是使用外部 CD 驱动器的 amd64+mac 选项 - 内部驱动器坏了,USB 不起作用
从 Live CD 尝试 Ubuntu 运行良好
refind 0.10.2
- 我在安装过程中选择了将 grub 安装到特定分区
问题
重新找到启动菜单,其中显示了 Linux 启动选项。但是选择它会导致黑屏约 10 秒,然后在左上角快速闪烁白色光标,大写锁定无响应,CTRL-alt-Delete 无效
我尝试过的事情
- 使用 live CD 调整默认 grub linux 参数以包含 nomodeset noapic acpi=off
- 完全关闭电源而不是重新启动
- 在谷歌上搜索了好几个小时
- 在启动期间按住选项键 - 仅显示现有的 OS X + 恢复
- 通过 F2 编辑器将 nomodeset noapic acpi=off 选项放入 refind 启动参数中
结论
- 我的旧 iMac 只能在 Legacy 即 BIOS 模式下启动 Linux。Live CD 的工作方式如下,我检查了 /sys/firmware/efi,但找不到它
- 我不相信 Refind 甚至试图进行传统启动,它正在使用 EFI 启动
- 有一种叫做混合 MBR 的东西,Refind 的作者非常讨厌它,但这也许是唯一的出路
问题
- 是否可以强制从 refind 启动旧式 BIOS?
- 我还需要 grub 吗?Refind 会绕过这个问题并自行启动内核吗?
- 我是否必须采用这种混合 MBR 方法?
- 是否可以将 refind 置于某种调试模式,以便我能够准确地看到正在发生的事情,Ubuntu 是否正在启动?
- 我是否甚至需要 Refind - 是否可以让分区显示在 Boot+Hold 选项键启动中?
答案1
据我所知,Mac 无法从合法的 GPT 磁盘以 BIOS/CSM/传统模式启动;它们需要 MBR 或混合 MBR 才能以 BIOS 模式启动。但是,rEFInd 不会检查此细节;当被要求启动 BIOS 模式时,它会尝试启动,即使磁盘使用 GPT。根据您的描述,我怀疑这就是正在发生的事情。因此,如果您在 GPT 磁盘上安装了 BIOS 模式,它将无法工作;您必须创建混合 MBR。请注意,rEFInd 仅在检测到 EFI 模式引导加载程序时才会尝试 EFI 模式引导,这听起来像是您已经不是安装。因此,rEFInd 几乎肯定不是尝试以 EFI 模式启动 Ubuntu。
顺便说一句,我是 GPT fdisk 的作者和 rEFInd 的维护者。混合 MBR 是危险的东西——我回答过太多因为混合 MBR 而导致磁盘损坏的人的问题。不幸的是,Apple 将其固件设计为使用它们作为解锁 BIOS 模式启动的“钥匙”,因此如果您需要的话,您几乎只能使用它们。
稍微回顾一下,大多数 Mac 都可以在 EFI 模式下正常启动 Linux。不过,根据您的描述,您可能拥有 32 位 EFI。您可以通过阅读 rEFInd 中的“关于/信息”页面来检查这一点;它应该会将您的固件标识为 32 位或 64 位(检查该Platform:
行)。如果您拥有 32 位 EFI,则必须使用 32 位引导加载程序才能在 EFI 模式下启动 Linux。由于各种原因,这很难做到——32 位版本的 Ubuntu 安装程序无法在 EFI 模式下启动,而 64 位版本的 Ubuntu 安装程序只附带 64 位 EFI 引导加载程序。有办法解决这个问题,但它们需要大量的麻烦。请参阅这个问题了解有关此主题的更多信息。