最近幾年出廠的電腦幾乎都是用 UEFI 開機, 好幾次安裝 Arch linux 設定 EFI 開機時,按照教學先在隨身碟載入 efivars 的模組

 $ modprobe efivars 

會出錯:

Module efivars not found  

這會影響後面 grub 的安裝,經過一翻爬文以及嘗試之後,發現了兩種情形會導致這樣的狀況:

  1. 開機的時候沒有用 UEFI 模式進入 live usb
    如果你發現外面沒有/sys/firmware/efi/efivars那可能就是這個原因了 只要重開機 在開機選單選擇是用UEFI進入隨身碟就可以了
  2. arch-chroot 進本機硬碟裏面沒有/sys/firmware/efi/efivars

第二種狀況的話有兩個解法:

  • 使用arch-chroot進去之後安裝efibootmgr 以掛載在/mnt為例:
$ arch-chroot /mnt
$ pacman -S efibootmgr
  • 還有一個方法是在外面
$ mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars

兩種方法都可以試試看,我自己是比較喜歡直接安裝efibootmgr只要直接安裝一個套件

解決了之後,安裝 grub 時應該就不會有問題囉!