2

I followed the guide for installing Arch Linux on UEFI system. I created two partitions (/dev/sda1 and /dev/sda2). The first one - EFI type (8200) was formatted as vfat (F32) and the second one (Linux filesystem 8300) as ext4. Root (/dev/sda2) was mounted to /mnt and esp (/dev/sda1) to /mnt/boot/efi. After installing arch and required packages I installed GRUB with the following command:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch

However after rebooting arch is not showing as boot option (in BIOS settings). I read that I should deactivate Fast boot which I did however that didn't help. Also I successfully installed Arch on another system the same way.

Is there anyone that can point me to the issue?

  • Did you do the steps under "Generate the main configuration file" on the Arch Wiki GRUB page? Btw, my recommendation to fellow Archers is to skip Grub on UEFI machines and use systemd-boot as boot manager. Much simpler to configure: just two really small text files. – Johan Myréen Mar 16 '18 at 11:57
  • I did generated the configuration file but no luck. I haven't tried using systemd-boot (will do that now). Although I am not quite sure where is the problem, since the boot process does not come far enough to load GRUB (as far as I understand it). When I run efibootmgr -v, arch bootloader is listed but does not point to HD. Thanks :) – Stefan Dordevic Mar 16 '18 at 12:08
  • Try creating a directory called boot in the efi directory and copying the grubx64.efi from the arch directory and rename it bootx64.efi. – Paul H. Mar 16 '18 at 12:47
2

See this section of the GRUB ArchWiki - EFI default/fallback boot path.

Some UEFI firmwares require a bootable file at a known location before they will show UEFI NVRAM boot entries.

If this is the case, you can install GRUB like this:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable

Or you can move your existing GRUB EFI:

mv /boot/efi/<existing directory> /boot/efi/boot  
mv /boot/efi/boot/grubx64.efi /boot/efi/boot/bootx64.efi

Here is another relevant quote from that page. esp refers to the mount point of the EFI System parition.

Tip: If you use the option --removable then GRUB will be installed to esp/EFI/BOOT/BOOTX64.EFI and you will have the additional ability of being able to boot from the drive in case EFI variables are reset or you move the drive to another computer. Usually you can do this by selecting the drive itself similar to how you would using BIOS. If dual booting with Windows, be aware Windows usually has a BOOT folder inside the EFI folder of the EFI partition, but its only purpose is to recreate the EFI boot option for Windows.

Depending on your UEFI firmware, you may also have to either disable Secure Boot, or manually add the UEFI file as trusted, if you have that option.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.