我双启动 Ubuntu 和 Windows,并有 2 个 SSD。第一个 1TB 专用于 Windows,另一个 500GB 专用于 Ubuntu。我将其设置为启动到 Grub,但每次 Windows 升级或其他东西时,它似乎都会将其丢弃,系统将直接启动到 Windows。所以我只是在启动时按 F11 来获取选项,然后在需要时选择 Ubuntu,这会带我进入 grub,然后我实际上会选择它。所有这些都有效,但有点痛苦。有没有更简单的方法来配置这个?我不想每次 Windows 更新时都必须重新进行设置。即使每次启动时都默认使用 BIOS 启动菜单也可以,但我在 BIOS 中看不到设置该菜单的方法(MSI B450 MB)。
如果有帮助:
$ efibootmgr -v
BootCurrent: 0001
Timeout: 2 seconds
BootOrder: 0000,0001,0002
Boot0000* Windows Boot Manager HD(2,GPT,c6a1dba9-5c97-46d3-b98c-a9bcb9f5184d,0xfa000,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
Boot0001* ubuntu HD(1,GPT,1cb82576-8a01-4836-a909-440920fe0ea4,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0002* ubuntu HD(2,GPT,c6a1dba9-5c97-46d3-b98c-a9bcb9f5184d,0xfa000,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)..BO
奇怪的是第二个 Ubuntu 选项指向 1TB 光盘(根据启动菜单中出现的名称),该光盘没有安装 Ubuntu。但它似乎有效,并在 500GB 光盘上启动安装。这个选项我已经删除了几次,但每次 Windows 弄乱它时,它都会重新添加该选项。
因此,点击 Boot0001 或 Boot0002 会带我进入 grub,其菜单为:
$ awk -F\' '/menuentry / {print $2}' /boot/grub/grub.cfg
Ubuntu
Ubuntu, with Linux 5.4.0-70-generic
Ubuntu, with Linux 5.4.0-70-generic (recovery mode)
Ubuntu, with Linux 5.4.0-67-generic
Ubuntu, with Linux 5.4.0-67-generic (recovery mode)
Windows Boot Manager (on /dev/sda2)
UEFI Firmware Settings
答案1
使用 efibootmgr 更改引导顺序,使 Ubuntu 成为第一个:
efibootmgr -o 0001,0000