在我的 Acer 笔记本电脑上安装了 Windows 10 /dev/sda4
,并且 ESP 分区是/dev/sda2
。
正如所述新手指南我在新创建的分区上安装了 Arch Linux /dev/sda5
,并/dev/sda6
与 Windows 10 创建的 ESP /dev/sda2
进行交换/boot
。
systemd-boot
如果主板是 UEFI(确实是 UEFI),我选择指南推荐的引导加载程序。
我配置/boot/loader/loader.conf
如下:
timeout 10
default arch
我为 创建了一个条目,arch.conf
如下/boot/loader/entries/arch.conf
所示;
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=/dev/sda5 rw
但重启后 Windows 10 默认启动。我甚至看不到引导加载程序菜单。在启动选项中也没有选择 Linux 引导加载程序的选项。我做错了什么?
注意:fastboot
(Windows 10) 和secureboot
(UEFI) 都已关闭。
在问题中Windows 10 / Linux 双启动 - 引导加载程序问题 OP 使用 GRUB 作为引导加载程序。就我而言,我使用的是systemd-boot
。在我的设置中,fastboot
akafast startup
已被禁用。
#efibootmgr -v
返回我的所有启动选项。列表中有 Linux 启动管理器,但启动顺序没有指定任何内容。因此,我手动编辑了启动顺序# efibootmgr -o 1003,1001,2001
。但问题是一样的。重启后,启动顺序又恢复了。
答案1
好的,我尝试过
#efibootmgr -v
这将返回我的所有启动选项。列表中有 Linux 启动管理器 (1003),但启动顺序没有指定任何内容。因此,我手动编辑了启动顺序
# efibootmgr -o 1003,1001,2001
但是问题是一样的。重启后启动顺序会恢复。所以我检查了 Linux 启动管理器是否可见并bcd
存储在 Windows 10 中
bcdedit /enum firmware
bcd
存储包含我的 Linux 启动管理器。所以我运行
bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi
在提升的命令提示符下。此命令将使 Windows 引导加载程序调用 Linux 引导管理器,而无需直接调用 Windows 10。
这确实解决了我的问题。现在我在同一个硬盘上安装了 Windows 10 和 Arch Linux 双启动。