Grub2

在 Thinkpad X1 Carbon gen5 上進行 UEFI (BIOS) 升級後,GRUB 從引導菜單中消失

  • August 24, 2021

我在 Thinkpad X1 Carbon gen5 上安裝了 Windows 10 和 Arch linux(帶有 grub)的雙啟動系統。我已將 BIOS 從版本 1.22 更新到1.34

在更新之前,我在引導菜單中有幾個選項,包括Windows Boot Managergrub. 現在我沒有這些選項,只有 SSD 名稱(選擇此強製筆記型電腦啟動 Win 10)和網路啟動選項。

我已經嘗試了所有選項:

  • 安全 -> 安全啟動 ->$$ Disabled $$
  • 啟動 -> UEFI/舊版 ->$$ UEFI only $$
  • 啟動 -> UEFI/舊版 -> CMS ->$$ Disabled $$(也嘗試啟用)
  • 作業系統優化預設值 ->$$ Disabled $$

啟動菜單沒有任何變化。

我應該怎麼做才能強制 BIOS 列出包括 grub 在內的所有選項?

UPD。我已經降級到 1.23(降級到 1.22 是不可能的)並且啟動菜單中同樣缺少選項。

您的 UEFI 升級可能重置了 NVRAM 設置,在 UEFI 系統上還包括已安裝作業系統的引導配置。並非所有啟動菜單項都在啟動時即時檢測到:相反,已安裝作業系統的啟動項在作業系統安裝時儲存在 UEFI NVRAM 中。

我建議首先從 Windows 10 安裝媒體啟動。首先選擇您的語言/鍵盤和任何其他首選項,然後在出現選項時選擇“修復您的電腦”。它應該會自動重新創建 Windows 啟動菜單選項。

然後,您可以從任何支持 UEFI 的 Linux Live 媒體啟動,驗證 Arch GRUB 引導載入程序是否仍然存在於 ESP 分區中,然後使用efibootmgr命令為其添加引導菜單項。

假設您的 EFI System Partition 是 上的第一個分區/dev/sda,則必要的efibootmgr命令行應該與此類似:

# efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\arch\\grubx64.efi -L "Arch Linux"

請注意引導載入程序的 Windows 樣式路徑名,帶有雙反斜杠,因為反斜杠是 shell 的特殊轉義字元。對於啟動菜單標籤(-L 選項),如果您願意,您可以編寫任何您想要的內容,而不是“Arch Linux”。

引用自:https://unix.stackexchange.com/questions/473157