Uefi

“此系統不支持 EFI 變數”

  • November 8, 2020

我正在嘗試將 Arch linux 安裝到新的(並且非常糟糕的)HP Pavillion 15 筆記型電腦上。

這是一個基於 UEFI 的機器。經過幾次搖擺之後,我已經成功地走得很遠。Legacy 模式在系統設置中被禁用,我已經通過 EFI 引導到我刻錄的 Arch DVD,並通過 Arch Beginner’s Guide和更高級的安裝指南進行到我正在安裝 grub 的地步。

編輯時chroot,我執行:

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

這會產生大量輸出,包括:

此系統不支持 EFI 變數

我第一次到達這一點時,我繼續安裝,不知道這是否是一個實際問題。原來是這樣,當我重新啟動機器時,找不到可啟動媒體並且機器拒絕啟動。那時我能夠進入 UEFI 設置菜單並選擇要啟動的 EFI 文件,Arch Linux 就會啟動。

但我現在要回去重新安裝,試圖解決上面的問題。

如何讓 GRUB 正確安裝?

問題只是efivarfs沒有載入核心模組。

這可以通過以下方式確認:

sh-4.2# efivar-tester
UEFI variables are not supported on this machine.

如果您已chroot進入新安裝,請exit退出,然後啟用efivarfs

exit
modprobe efivarfs

efivarfs曾經是efivars,所以如果這返回錯誤嘗試modprobe efivars

…然後再chroot回來。就我而言,這意味著:

chroot /mnt

但你應該chroot像以前一樣。

重新進入後,再次測試:

efivar-tester

這樣就不會再報錯了,你可以像以前一樣安裝grub了。

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug

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