在单独的磁盘上双启动 arch/windows10 systemd UEFI

在单独的磁盘上双启动 arch/windows10 systemd UEFI

我显然遗漏了 BIOS 如何确定使用 UEFI 启动哪个磁盘的一些信息。我有一个带有两个 SSD 磁盘的双启动设置。Disk0 有 Arch,Disk1 有 Windows10。通常我使用 Disk0 上的 systemd 启动来启动 Arch 或 Windows。

我需要升级 Windows10,但双启动失败,所以我断开了 Disk0。系统启动 Windows 时没有任何问题,所以我完成了升级并重新启动了几次,以确保升级已完成。

然后我把 Disk0 放回去,但 Windows10 直接加载,并且在 BIOS 中我不再有 Disk0 上 Arch 的 UEFI 启动选项。

移除 Disk1 仍然不允许从 Disk0 启动。

BIOS 如何检测有效的 UEFI 分区,为什么它现在无法检测 Disk0 上的分区?

答案1

发现 BIOS 无法检测磁盘上的 EFI 分区,而是被告知了它们。UEFI 将启动管理器信息存储在 NVRAM 中。就我而言,Windows 用自己的一个 NVRAM 条目覆盖了 systemd-boot NVRAM 条目,尽管它已经有一个条目了。我使用了 arch 安装介质并运行“efibootmgr”以删除重复的 Windows10 条目并按照此 wiki 添加 systemd-boot/arch 条目https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr

相关内容