Arch Linux 与 Windows 10 双启动

Arch Linux 与 Windows 10 双启动

在我的 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。在我的设置中,fastbootakafast 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 双启动。

相关内容