启动顺序更改前
安装好双系统(Linux After Windows)完后,启动顺序一切正常,启动顺序(Primary Boot Sequence) 如下:
> M.2 Drive 1: Sum...
> Manjaro
> Windows Boot Manager
> SATA 1: ...
> SATA 2: ...
启动顺序被更改
但开机动画太拖延时间,又去 BIOS
胡乱设置,导致只能启动 Windows
,重启后再次进入 BIOS
发现 Primary Boot Sequence
已经被 Windows
更改(调戏)了:
> M.2 Drive 1: Sum...
> Windows Boot Manager *
> Manjaro *
> SATA 1: ...
> SATA 2: ...
BIOS
是无法对同一个硬盘下的 Windows Boot Manager
和 Manjaro
设置启动顺序。
因为电脑只有一个
M.2
接口,所以只能将512G
的硬盘分区装双系统
解决方案
开机时按 F12
选择 Manjaro
。进入 Manjaro
后需提前安装 efibootmgr。执行 efibootmgr
结果如下:
➜ ~ efibootmgr
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0000,0003,0007,0006,0008,0009,000A
Boot0000* Windows Boot Manager
Boot0003* Manjaro
Boot0006* ST2000DM008-2FR102
Boot0007* Samsung SSD 970 PRO 512GB
Boot0008* Realtek PXE B04 D00
Boot0009* Generic Usb Device
Boot000A* CD/DVD Device
通过 BootOrder: 0000,0003,0007,0006,0008,0009,000A
可以看出 Boot0000* Windows Boot Manager
被安排了。我们只需要修改成期望的执行顺序即可:
➜ ~ efibootmgr -o 0003,0000,0007,0006,0008,0009,000A
➜ ~ reboot
这里 -o 参数的意思是设置启动顺序
最后,建议将双系统安装在不同的硬盘中,避免一些不必要得麻烦。