双启动一直启动到 Windows

双启动一直启动到 Windows

我的设置:

我首先安装了 Arch,然后安装了 Windows 10,双启动效果非常好,但在 BIOS 更新后,我的主板不断自动启动到 Windows,而无需先通过 systemd 启动。

在 BIOS 中检查启动顺序时,我的 SSD 仍然是第一个,但现在显示的是 Windows Boot Manager,而不是 UEFI OS(适用于 Linux)。

我可以验证 Linux 驱动器上仍然保存着我的所有内容并且似乎没有受到任何影响。

/boot/loader/ 的内容

有人可以向我解释为什么会发生这种情况吗?


如果有人想知道我是如何解决的:

我从 USB 记忆棒启动并安装了我的 SSD 目录并将该Microsoft目录从/boot/EFI/其他位置移动。

之后,我的 SSD 的 BIOS 标签再次正确显示 UEFI OS,并再次启动到 systemd-boot(显然不再显示 Windows 选项)。

最后我将Microsoft目录移回/boot/EFI/,一切又恢复正常了。

我的问题仍然是为什么它首先发生以及如何在未来的 BIOS 升级过程中避免它。

答案1

UEFI 有自己的启动管理器。此引导管理器使用 NVRAM 中的变量来定位和执行引导加载程序,并且 BIOS 使用这些变量在引导菜单中列出引导选项。您的 BIOS 更新很可能干扰了 NVRAM 并导致了该问题。

答案2

我认为你可能误解了一些重要的事情,你说你的 BIOS 有“我的驱动器贴错标签了“。驱动器不是入口点...您可以针对具有不同标签的同一驱动器有许多引导条目。

因此,在上下文中,这不是关于不正确的启动项,而是关于添加启动项和删除您想要的启动项。

西斯莫尔的回答指出 NVRAM 可能已被擦除(可能)。 BIOS 也很可能首先检查 Microsoft Windows,然后再搜索其他目录。微软在市场上仍然拥有足够的主导地位,这种情况经常发生。


在大多数 BIOS 上,您可以通过一种方法在启动屏幕上手动添加新条目。您将使用的路径可能类似于:

 /EFI/arch/grubx64.efi

如果你使用的是 Arch linux。


否则,如果您可以启动进入 Linux,那么该工具efibootmgr将允许您读取、写入和重新排序启动项。


同样在windows下你可以使用编辑如上所述这里

相关内容