MBP 上的 refind 问题

MBP 上的 refind 问题

我在 2013 年末的 MBPr 上运行 ubuntu,愚蠢的决定让我陷入困境。不久前,我有一个三重启动系统,但 OSX 的问题让我更加依赖 Ubuntu,最近我一直将它用作我的日常操作系统。不久前,我删除了 Windows 分区,今天我删除了 OSX 分区,因为它崩溃的频率很高,基本上无法使用。我读到的唯一缺点是它使固件更新变得更加困难,我对此很满意。我一直使用 refind 启动 Ubuntu,但我多次擦除并恢复 OSX 分区而没有重新安装 refind,它仍然正常工作,所以我认为 OSX 对 refind 所做的任何事情都不是不可或缺的。但我想我错了。

删除 OSX 分区后,我第一次尝试重新启动时,屏幕黑了 30 秒,然后弹出一条 Windows 8 消息,提示计算机无法启动(我大约一个半月前卸载了 Windows)。使用实时 USB,我尝试在 ubuntu 上重新安装 refind,效果不错……有点效果。Refind 不知为何安装到了 SD 卡上,我忘了它是否插在了 SD 卡上。所以现在为了启动,我需要按住 alt 键以启动 SD 卡 refind,然后从那里继续。

这些都不是主要问题,但似乎有点不稳定。我想知道是什么告诉 OSX 固件尝试启动 Windows,以及如何将其指向 ubuntu,或者只是删除 Windows 幽灵分区,以便 refind 自动启动

提前感谢你的帮助

答案1

首先,我建议你检查一下你的磁盘,看看是否有混合型MBR。最容易发现的是gdisk

$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.0

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

此示例显示了具有传统保护性 MBR 的合法 GPT。如果该MBR:行显示hybrid为 而不是protective,则表示您拥有的是混合 MBR。

如果您使用的是混合型 MBR(我怀疑您确实有),那么您的磁盘基本上处于不稳定的平衡状态,这可能会导致至少部分问题。因此,您有两种选择。(即使您使用的是保护性 MBR,您也可以选择其中任何一种,但在这种情况下,选项 1 会更简单。)

选项 1:EFI 模式启动

您可以使用 rEFInd 或您选择的另一个 EFI 模式启动管理器和启动加载程序。如果您有一个混合 MBR,您的第一步是将其转换为保护性 MBR:

  1. gdisk在磁盘上启动,如sudo gdisk /dev/sda
  2. 键入p以查看分区表。
  3. 键入x以进入专家菜单。
  4. 输入n以创建新的保护 MBR,并清除混合 MBR。
  5. 键入p以查看分区表。将其与之前的视图进行比较。您不需要比较输出的每个字符;重点是在将更改提交到磁盘之前发现意外情况,例如意外地因拼写错误而破坏了所有分区。
  6. 键入w以保存您的更改。

完成后,您必须重新安装 rEFInd 或将其恢复到可启动状态。您可能可以通过安装rEFInd PPA 或 Debian 软件包以正常(Linux)方式;但是,Mac 有点奇怪,所以这可能行不通。我甚至听说过 Mac 固件被 Linux 工具损坏,但至少两年来我还没有听说过这种证实的案例,所以我认为相关的错误已经修复了。如果你尝试这种方式,请安装你的EFI 系统分区 (ESP)首先/boot/efi

安装 rEFInd 的另一种方法是启动 OS X 应急系统(例如 OS X 安装光盘),启动 OS X 终端窗口(菜单栏中出现该选项),然后install.sh从该环境运行 rEFInd。这应该即使不重新安装 OS X 也可以工作,但我从未验证过这一点。

选项 #2:BIOS 模式启动

一般来说,如果您从 Mac 中删除 OS X,使用 Mac 的兼容性支持模块 (CSM)(启用 BIOS 模式启动)管理该计算机上的操作系统通常更容易。为此,您应该将磁盘从 GPT 转换为 MBR(完整的常规 MBR,而不是混合 MBR)。此过程如下所述这里。转换后您必须重新启动,但您的 Linux 安装将不再可启动,因此请准备好 Ubuntu 实时映像。

磁盘转换完成后,您需要安装 BIOS 模式的引导加载程序。最简单的方法可能是运行引导修复。不过,您必须小心谨慎地从紧急磁盘的 BIOS 模式启动运行 Boot Repair。您可以通过查找名为 的目录来验证 BIOS 模式启动/sys/firmware/efi;如果存在,则表示您已在 EFI 模式下启动,如果不存在,则表示您已在 BIOS 模式下启动。如果您在 EFI 模式下启动紧急系统,请在重新启动时尝试使用 Option 或 Alt 键以另一种方式启动介质。在极端情况下,准备一个 USB 闪存驱动器紧急磁盘并EFI从该磁盘上的 FAT 分区中删除目录树。这应该会导致它在 EFI 模式下无法启动。

由于您目前是在 EFI 模式下启动(至少就 rEFInd 而言),即使有点奇怪,转换为严格的 BIOS 模式启动也会带来一些风险,可能会让情况变得更糟。它应该可以工作,但在(几乎)最坏的情况下,您可能必须尝试各种修复实用程序,直到出现问题。

相关内容