rEFInd 无法在 macOs Sierra 上运行:“加载旧版加载器时未找到”

rEFInd 无法在 macOs Sierra 上运行:“加载旧版加载器时未找到”

我在 2015 年末的 MacBook Air 上安装了 rEFInd 0.10.3(当时的最新版本),该机器运行的是 macOS Sierra,但在尝试从 USB 磁盘启动时出现以下错误:“加载旧式加载程序时未找到”

我尝试使用以下方法创建多个不同的实时 USB(来自 Ubuntu 16 和 Debian 8 ISO):dd 命令、将 iso 放入文件夹中、使用 Rufus(dd 和 ISO 模式)和 YUMI 创建可启动的 UBS。

点击查看错误图片

我之前尝试了很多次才问:有解决办法吗?

编辑:

已经发布了一个新版本(0.10.4),但是虽然开发人员说它对他有用,但对我来说仍然不起作用。

开发人员备注:

注意:从 10.12 版(“Sierra”)开始,Apple 已将其 OS X OS 更名为 macOS。我继续使用“OS X”来指代此 OS 的任何版本。我看到过有关 rEFInd 无法与 macOS 10.12 配合使用的报告;但是,根据我的经验,它运行良好——但升级会产生启动问题,如rEFInd 文档的这一页

答案1

您看到的错误消息表明您正在尝试以 BIOS/CSM/旧模式启动磁盘,但无法正常工作。这是 Mac 启动 USB 驱动器时常见的问题,不幸的是,原因有很多,这些问题可能出现在某些特定的 Mac 型号上,但不会出现在其他型号上,这使得这些问题很难调试和修复。更糟糕的是,rEFIt(以及 rEFInd)在 Mac 上以 BIOS 模式启动的方式非常神秘,因此我(我是 rEFInd 的维护者)很难支持此代码。在某些情况下,在打开计算机时按住 Option(或 Alt)比 rEFInd 更适合以 BIOS 模式启动 USB 驱动器,因此您可以尝试一下。

如果可能的话,最好以 EFI 模式启动 USB 介质。不幸的是,有些工具无法创建可启动 EFI 的 USB 驱动器,因此您可能需要尝试多种工具才能找到合适的工具。理论上,Rufus(仅限 Windows)和dd(Linux 和 OS X)都应该可以使用,但 Rufus 有几个选项必须正确选择,而且dd很容易被误用。请参阅这里了解有关此主题的更多信息。

如果您的 Mac 有光驱,另一种方法是从文件创建 DVD .iso。您最近的 MacBook 可能没有此功能,但外部光驱可能会有用,因此如果您有外部光驱,值得一试。

答案2

问题在于 Sierra 的文件系统(APFS)无法被 refind 访问(它没有驱动程序),因此,refind 无法访问 Sierra 的引导加载程序,并且您会收到该错误消息。

我认为一个可能的解决方案是将 Sierra 的引导加载程序(最终还会有一些附加文件)复制到 ESP 分区上...我试过...但由于我收到了其他错误消息,所以我无法让它工作。

编辑:

我相信,从“El Capitan”升级到“Sierra”确实会保留预先存在的 HFS+ 分区,但安装“Sierra”的新副本则不会(HFS+ 分区是用 APFS 格式化的 - 但我不确定,因为我只执行了全新安装,最后得到了实验性的 APFS)。

编辑2:

顺便说一句,Apple 似乎将在 2017 年秋季发布 APFS 的最终/稳定版本,届时所有 Apple 设备将被迫使用 APFS!此外,APFS 的稳定版本将有完整的文档记录,并根据开源许可证发布。

编辑3:

我意识到这是我的错误,在安装 Sierra 时,我为 macOS 分区选择了 APFS 而不是 HFS+。我在 Linux 中使用 gdisk 实用程序发现;APFS 对应于分区类型 AF05,而 HFS+ 对应于 AF00。我在四台计算机中的两台上都犯了这个错误,现在我可以确认,只要您的 macOS 分区使用 HFS+ 格式化,rEFInd 仍然可以在 Sierra Mac 上运行。

相关内容