如何让 UEFI 自动启动 Windows 10 的 Linux 启动管理器(由 systemd-boot 管理)而不是操作系统启动管理器?

如何让 UEFI 自动启动 Windows 10 的 Linux 启动管理器(由 systemd-boot 管理)而不是操作系统启动管理器?

我想将我的笔记本电脑设置为 UEFI 固件和 Windows 10 / Arch Linux 双启动,以便systemd-boot在启动时默认使用 Linux 启动管理器(由 管理),而不是操作系统启动管理器(仅启动 Windows 10)。在我自己尝试解决此问题时,我按下Esc启动按钮并按下F10进入“BIOS 设置”。然后我转到“启动”选项卡,发现启动设备的选项是:

  • USB(UEFI)
  • USB
  • 操作系统启动管理器

我目前的默认设置是 USB (UEFI),因为它使从实时 USB 启动更加方便,因为这对我来说并不罕见。

如您所见,没有“Linux Boot Manager”选项。我可以在按启动F9后按(这为我提供启动选项)来访问 Linux 启动管理器选项Esc,所以我知道它就在那里。它也有效,我目前正在运行 Arch Linux,我是通过这种方法启动的。然而,这个问题是我问的,当没有可用的 USB 启动时,我是否可以让我的笔记本电脑自动启动 Linux 启动管理器而不是操作系统启动管理器。

根据 Libre Arch 的回答,我跑了:

efibootmgr -c -d /dev/sda -p 2 -l /EFI/systemd/systemd-bootx64.efi -L "Linux Boot Manager"

在 UEFI 中禁用安全模式和安全启动后,返回:

** Warning ** : Boot0005 has same label Linux Boot Manager
BootCurrent: 0005
Timeout: 2 seconds
BootOrder: 0000,0006,3006,0001,0005,0008,2001,2002,2003
Boot0001* grub
Boot0002* Notebook Hard Drive
Boot0004* Internal Hard Disk or Solid State Disk
Boot0005* Linux Boot Manager
Boot0006* Windows Boot Manager
Boot0007* Internal Hard Disk or Solid State Disk
Boot0008* rEFInd Boot Manager
Boot2001* USB Drive (UEFI)
Boot2002* Internal CD/DVD ROM Drive (UEFI)
Boot3000* Internal Hard Disk or Solid State Disk
Boot3001* Internal Hard Disk or Solid State Disk
Boot3002* Internal Hard Disk or Solid State Disk
Boot3003* Internal Hard Disk or Solid State Disk
Boot3006* Internal Hard Disk or Solid State Disk
Boot0000* Linux Boot Manager

但每当我重新启动时,Windows 启动管理器(即 OS 启动管理器)仍被默认使用。/EFI/systemd/systemd-bootx64.efi确实存在/dev/sda2

答案1

您可能安装了 Windows 10Arch Linux 和 Windows 删除了 systemd-boot UEFI 条目。您需要重新启用 systemd-boot 才能获得您想要的菜单。确保您在 UEFI/BIOS 设置中禁用了安全启动和快速启动,并按照说明进行操作这里在 Arch 维基上。

您还可以使用 GRUB 修复工具通过实时 USB 安装 GRUB(而不是 systemd-boot)。

相关内容