Why is grub-install unable to find EFI Directory?

Why is grub-install unable to find EFI Directory?

$ grub-install /dev/sda grub-install: error: cannot find EFI directory. My file system contains sda4, sda5, and sda6 for the EFI system, Linux swap, and Linux file system respectively. I am not very experienced using mount or other commands.

Can you use grub install on an UEFI system?

You don’t have a UEFI system so I thing you should use: Please read the arch wiki: https://wiki.archlinux.org/index.php/GRUB –target=i386-pc instructs grub-install to install for BIOS systems only. It is recommended to always use this option to remove ambiguity in grub-install.

Which is the EFI partition for Arch Linux?

You missed the EFI partitioning part, I am assuming you want to use /dev/sda1 as your EFI partition. this should work. For more detail please go through the arch wiki Thanks for contributing an answer to Unix & Linux Stack Exchange! Please be sure to answer the question. Provide details and share your research! But avoid …

What to do if you forgot to Mount EFI partition?

You forgot to mount the EFI system partition, it should be FAT-formatted (not ext4) and you should (arch-)chroot in before running the GRUB commands. And step 6 should start with Note that the UEFI grub-install command doesn’t need a block device.

Do you need a block device for UEFI grub install?

Note that the UEFI grub-install command doesn’t need a block device. EDIT: and the mkinitcpio command should be run from the chroot (although you probably don’t need to run it at all). Thank you, I will try this immediately! I am already doing arch-chroot /mnt but I forgot to mention it.

Where do I find the EFI partition in Windows 10?

Locate your EFI partition with blkid. It should be a vfat file system 0.5GB or less. Then mount it to /boot/efi and check you now have a directory /boot/efi/EFI

Which is the correct target for grub install?

Another thing: possible targets for grub-install are ‘i686-pc’ and ‘x86_64-efi’; when running grub-install the program automatically selects ‘x86_64.efi’ as target. I don’t know if it’s correct (I do have an AMD64 laptop, just to clarify). Thanks in advance. By default grub-install uses target x86_64-efi.

Where to find Grub module in boot / boot / i386-pc?

Grub looks for this module in the /boot/grub/i386-pc/ by default (Here i386-pc is specific, it depends on your system architecture). For that we have to check the contents of each of the three partitions in order to ensure if the file is present there or not. We can do this using ls command. We need to do this for every partition.

What does it mean if Grub cant find a file?

Since, the grub couldn’t locate the file in its usual location, it means either the file has been displaced or it could have been deleted somehow. So, let’s consider the first case for now ie the file has been displaced and could be in some other partitions.

Where to find bootx64.efi in Ubuntu?

11.now just check “ls -l /efi/boot/” has an efi file or not mine showed me a file bootx64.efi when i ran this command. 12.You can also make sure your path “/efi/boot/bootx64.efi” is a correct path by opening the usb in ubuntu first and going to this path from the file explorer to check everything