• Heads Up: Grub Not Installing Correctly on EFI Systems


    Hey guys,

    I walked through the graphical installer with a custom /boot and / partitions. The installer seemed to work fine, until the end it reported that it had errors when installing grub.

    To fix this, I hit Ctrl+Alt+F3 to another terminal and did the following:

    \# su  
    \# efivars -l  
    
    

    I got an error about efivars. No list was shown. Apparently Arch has changed some stuff dealing with efivars since I last did an install. More specifically [b:20n5nl6g]efivars[/b:20n5nl6g] is >Still supported by kernel upstream [b:20n5nl6g]but completely disabled in Arch’s official kernels.[/b:20n5nl6g]

    I found some useful information on it here: [url:20n5nl6g]https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Variables[/url:20n5nl6g]. Long story short, they are now favoring the replacement [b:20n5nl6g]efivarfs[/b:20n5nl6g].

    To fix this, I needed to make a small change as root:

    \# modprobe efivarfs  
    \# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
    

    Then I could continue on as usual.

      
    \# df -h  
    \# cd /install  
    \# mount -t proc proc proc/  
    \# mount --rbind /sys sys/  
    \# mount --rbind /dev dev/  
    \# mount --rbind /run run/  
    \# chroot /install /bin/bash  
    \# source /etc/profile  
    \# grub-install --target=x86\_64-efi --efi-directory=/boot --bootloader-id=grub\_uefi --recheck  
    \# grub-mkconfig -o /boot/grub/grub.cfg
    
  • Hey guys,

    I walked through the graphical installer with a custom /boot and / partitions. The installer seemed to work fine, until the end it reported that it had errors when installing grub.

    To fix this, I hit Ctrl+Alt+F3 to another terminal and did the following:

    \# su  
    \# efivars -l  
    
    

    I got an error about efivars. No list was shown. Apparently Arch has changed some stuff dealing with efivars since I last did an install. More specifically [b:20n5nl6g]efivars[/b:20n5nl6g] is >Still supported by kernel upstream [b:20n5nl6g]but completely disabled in Arch’s official kernels.[/b:20n5nl6g]

    I found some useful information on it here: [url:20n5nl6g]https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#UEFI_Variables[/url:20n5nl6g]. Long story short, they are now favoring the replacement [b:20n5nl6g]efivarfs[/b:20n5nl6g].

    To fix this, I needed to make a small change as root:

    \# modprobe efivarfs  
    \# mount -t efivarfs efivarfs /sys/firmware/efi/efivars
    

    Then I could continue on as usual.

      
    \# df -h  
    \# cd /install  
    \# mount -t proc proc proc/  
    \# mount --rbind /sys sys/  
    \# mount --rbind /dev dev/  
    \# mount --rbind /run run/  
    \# chroot /install /bin/bash  
    \# source /etc/profile  
    \# grub-install --target=x86\_64-efi --efi-directory=/boot --bootloader-id=grub\_uefi --recheck  
    \# grub-mkconfig -o /boot/grub/grub.cfg
    
  • Thanks for this. Grub installed fine on my antergos install. On my arch install, however, I was having trouble and couldn’t figure out why. So thank you :)

    Distro hopping junkie
    Developer for [Entropy GNU/Linux[/url:22cla13f]]0

  • Thanks for this. I just did 2 installs on EFI systems in the past week and couldn’t reproduce this. I am glad you were able to solve it

Posts 4Views 2453
Log in to reply