Featured image of post 用 Bootcamp 安装 Windows 遇到的引导问题

用 Bootcamp 安装 Windows 遇到的引导问题

苹果的咖喱味越来越重。

这几天回学校,愉快的打开我的 Macbook,却发现引导失败自动进入了 GRUB 的基本命令行。

之前用 Ubuntu 的时候也出现过这个情况,当时只需要启动时按住 Option 键选择启动 Ubuntu,下次就能正常启动。于是我就没有把这次启动失败当回事,轻车熟路按下 Option 和电源键,而这次却并没有启动成功,而是又进入了 GRUB 的基本命令行。

修复引导

首先重启进入 Mac OS,打开终端,diskutil list列出所有的磁盘:

随后挂载 EFI 分区:

1
sudo diskutil mount disk0s1

其中disk0s1可能在不同的电脑上有不同,请根据实际情况挂载 EFI 分区对应的IDENTIFIER

挂载 EFI 分区后用 Finder 打开它,将BOOT文件夹重命名为BOOT(Backup)以备不时之需。随后建立一个新的BOOT文件夹,复制/Microsoft/Windows/Boot/bootmgfw.efi到刚刚新建的BOOT文件夹,重启后即可解决问题。1

为什么?

UEFI 在启动时默认会寻找名为bootx64.efi的引导文件。用 BootCamp 安装 Windows 时,Windows 的引导文件被放在/Microsoft/Windows/Boot/bootmgfw.efi,BootCamp 安装 Windows 时配置了正确的启动顺序,但一旦从 Mac 的启动顺序菜单更改启动顺序,就会出现这种莫名其妙的 Bug。至于进 Grub 的原因,也许是我之前安装过 Ubuntu。

后记

苹果就是这样,你在它自己的生态里基本不出问题,一旦因为各种原因跳出它的生态,各种莫名其妙的小问题就会出现。要彻底解决这类问题,也许我应该去试试rEFInd这种第三方 Bootloader。

虽然目前苹果已经全面淘汰 x86,但连装个 Windows 都能遇到这种莫名其妙的 Bug,苹果的工程师真的有在用心工作吗……


  1. 方案和头图来源:Reddit ↩︎

Licensed under CC BY-NC-SA 4.0