Uefi
“此系統不支持 EFI 變數”
我正在嘗試將 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