禁用 Windows Boot Manager,使用 rEFInd 引导的教程:https://github.com/linux-surface/linux-surface/wiki/Surface-Go-2#dual-booting-linux-and-windows
中文翻译版:
解决方案
要解决这个问题,请先启动 Windows,然后在重新启动时按住 SHIFT 键,选择「使用设备」选项,以便重新启动到新安装的 Linux 系统。
修改启动顺序
打开终端,使用 efibootmgr 的 --bootorder 选项来更改启动顺序,将你选择的启动管理器(如 GRUB、systemd-boot、rEFInd 等)设置为首选项。如果 efibootmgr 的输出如下所示:
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0000,0001,2001,2002
Boot0000* rEFInd Boot Manager
Boot0001* Manjaro
Boot0003* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI Network
你需要输入以下命令:
sudo efibootmgr --bootorder 0000,0001,0003,2001,2002
这将告诉系统首先使用 rEFInd 启动管理器。
启动管理器的强制回归
在大多数计算机上,系统将在下次启动时正常加载 rEFInd 启动管理器。然而,在 Surface Go 2 上,Windows 启动管理器会被强制置于启动顺序的最上方。
简单的解决方法
不过,有一个简单的解决方法:使用 efibootmgr 的 --inactive 选项来禁用 Windows 启动管理器:
sudo efibootmgr --inactive --bootnum 0003 或 sudo efibootmgr -Ab 0003
GRUB 和 rEFInd 会自动检测到任何 Windows 10 安装,并将其添加到启动菜单中,因此你仍然可以在需要时选择启动 Windows。