雙啟動不斷啟動到Windows
我的設置:
- 1 個安裝了 Windows 10 的硬碟
- 1 個帶有 Archlinux 的 ssd,使用 systemd-boot 安裝
- 主機板:MSI X470 Gaming Pro
我首先安裝了 Arch,然後是 Windows 10,雙啟動就像一個魅力,但在更新 BIOS 之後,我的主機板會自動啟動到 Windows,而無需先通過 systemd-boot。
在 bios 中檢查啟動順序時,我的 ssd 仍然是第一個,但現在顯示的是 Windows Boot Manager 而不是 UEFI OS(適用於 Linux)。
我可以驗證 Linux 驅動器上仍然有我所有的東西,並且似乎沒有受到影響。
有人可以向我解釋為什麼會這樣嗎?
如果有人想知道我是如何解決的:
我從 USB 記憶棒啟動並掛載了我的 ssd 目錄並將該
Microsoft
目錄從/boot/EFI/
其他地方移動。之後,我的 ssd 的 bios 標籤再次正確顯示 UEFI OS 並再次啟動到 systemd-boot(顯然不再顯示 Windows 選項)。
最後,我將
Microsoft
目錄移回原處/boot/EFI/
,一切正常。我的問題仍然是為什麼它首先發生以及如何在未來的 bios 升級中避免它。
UEFI 有它自己的啟動管理器。此引導管理器使用 NVRAM 中的變數來定位和執行引導載入程序,您的 BIOS 使用這些變數在引導菜單中列出引導選項。您的 BIOS 更新很可能干擾了 NVRAM 並導致了問題。
我認為您可能誤解了一些重要的事情,您說您的 BIOS “錯誤地標記了我的驅動器”。驅動器不是入口點…您可以針對具有不同標籤的同一驅動器擁有許多引導條目。
因此,在上下文中,這不是關於不正確的引導條目,而是添加了引導條目並刪除了您想要的引導條目。
SeetheMoar 的回答指出 NVRAM 可能已被擦除(可能)。BIOS 也很有可能首先檢查 Microsoft Windows,然後才搜尋其他目錄。微軟在市場上仍然擁有足夠的主導地位,足以讓這種情況發生得足夠普遍。
在大多數 BIOS 中,您可以在引導螢幕上手動添加新條目。您將使用的路徑可能類似於:
/EFI/arch/grubx64.efi
如果您使用的是 Arch linux。
否則,如果您可以啟動到 Linux,那麼該工具
efibootmgr
將允許您讀取、寫入和重新排序啟動條目。