我有一台 Macbook Pro(2015 年末),有两个分区:一个分区装有 Mac OS,另一个分区装有 Ubuntu 16.04 LTS 操作系统。默认情况下,它始终启动到 Ubuntu,而我在需要时使用启动时的 Alt 键启动到 Mac OS。
几天前,我的 MacBook 出现了硬件问题,所以我把它带到了最近的 Apple Store,他们解决了这个问题。从商店拿回它后,我注意到它现在默认启动到 Mac OS。
我检查了分区以查看 Ubuntu 系统是否已被商店删除或他们是否擦除了硬盘,但一切似乎都正常。
我怎样才能恢复旧的行为,以便我的 Macbook 再次默认启动到 Ubuntu?
提前致谢。
答案1
听起来你正在遭受我所说的靴子政变。有关详细信息,请参阅该页面,但您可以尝试以下操作:
- 启动到 Ubuntu。鉴于您目前的情况,您可能需要使用处于“安装前尝试”模式的 Ubuntu 安装盘,或者使用我的rEFInd 启动管理器在 USB 闪存驱动器或 CD-R 上一次性启动到常规 Ubuntu。
- 在终端窗口中,输入
sudo efibootmgr -v
。这将显示您当前的 EFI 启动选项。我怀疑其中一个将被称为ubuntu
,但 将BootOrder
显示 macOS 条目作为第一个。(如果efibootmgr
抱怨它找不到 EFI 启动变量,则您已在 BIOS/CSM/旧模式下启动。再试一次,但为 Ubuntu 选择不同的启动选项。) - 此时有两种可能性:
- 如果我猜对了,你有一个现有
ubuntu
条目,你可以先输入 来设置它sudo efibootmgr -o ####[,####,####,....]
,其中第一个####
是条目的编号ubuntu
,后面的数字是当前启动顺序中的其余条目。或者,你可以使用refind-mkdefault
我的启动策略页面上描述的脚本,该脚本随 rEFInd 一起提供。你可以直接下载这里。键入sudo ./refind-mkdefault --label ubuntu
以将 Ubuntu 条目设置为第一个。 - 如果
efibootmgr
没有显示ubuntu
条目,则需要创建一个新的条目。执行此操作的命令是。如果这是安装 GRUB 的硬盘并且您的 ESP 是分区 #1,则sudo efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\grubx64.efi -L ubuntu
可以省略;如果您的磁盘和/或分区是-d /dev/sda
-p 1
不是这些值,您必须efibootmgr
适当调整命令。如果您使用的是基于 UEFI 的 PC,指定shimx64.efi
而不是会更安全grubx64.efi
。在 Mac 上,两者都应该可以工作;但如果没有shimx64.efi
安装 ,grubx64.efi
也可以工作并且更直接。作为替代方案,您可以运行引导修复。如果您不熟悉文本模式命令行工具,那么这个工具就不会那么吓人,但是启动修复有点过度,而且有让情况变得更糟的风险,所以我宁愿坚持使用它efibootmgr
作为第一次尝试。
- 如果我猜对了,你有一个现有
如果这两种方法都不起作用,则可能是您的 Ubuntu 安装在 BIOS/CSM/传统模式下。在这种情况下,有几种方法可以将其恢复到该模式下再次启动,具体取决于问题所在;但使用 Boot Repair 将其恢复到 EFI 模式下启动可能更容易在 EFI 模式下或者从 OS X 安装 rEFInd。后者将改变您的启动方式;无需按住 Alt 来选择操作系统,rEFInd 菜单将在每次启动时自动出现并允许您选择操作系统。