Grub Install Error Cannot Find EFI Directory

on boot with USB install you have selected
USB ( bios boot )
UEFI USB partition 1 ( EFI boot )

i have found

Boot0007* UEFI: SanDisk, Partition 1	PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)/USB(2,0)/HD(1,MBR,0x0,0x3c1228,0x2000)

@gohlip , UEFI that start on MBR , mean booting on part 1 boot not part 2 esp ?

Yea, because if I dont boot from USB, I am unable to boot into linux. The boot order believe I can change from bios to make that after

Boot0000* Windows Boot Manager	HD(1,GPT,f1246fd9-5ca5-440d-ac08-4e771bdfbf7a,0x800,0x145000)/File(\EFI\boot\bootx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...8................

Edit: If boot from windowsBootManger, will boot into window directly (as expected)?

it's just install Grub & EFI manjaro in boot process
@gohlip will help you

1 Like

Thank you for the direction. I spend a few hours focusing into installing Grub and I got it working now. Thanks again :slight_smile:

Good to hear.
Do you now have a /boot/efi in fat32 and mounted at fstab?
You did not have earlier. If unsure and to check, at manjaro terminal ..

cat /etc/fstab
efibootmgr -v

Welcome to Manjaro.

3 posts were split to a new topic: Messed up my EFI partition

I think I do? (At least for the first part).
Attached output below, Correct me if I am wrong on the following statement as well?

  1. I currently have those two partition (swap and ext4 file) mounted at "/" and "swap" which are within fstab?
  2. At the same time, I have my Grub in my EFI System Partition (which will mount during boot and un-mount after enter Manjaro?)
[rogerhfcheng@rogerlinux ~]$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=e7f9405a-dcc4-4daa-adac-9489077a0ffe /              ext4    defaults,noatime 0 1
UUID=4df07a2f-306d-42de-9b02-b1ef3f5f5a8a swap           swap    defaults,noatime 0 2
[rogerhfcheng@rogerlinux ~]$ efibootmgr -v
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0000,0001,0003,0004,0006
Boot0000* Windows Boot Manager	HD(1,GPT,f1246fd9-5ca5-440d-ac08-4e771bdfbf7a,0x800,0x145000)/File(\EFI\boot\bootx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...8................
Boot0001* Diskette Drive	BBS(Floppy,Diskette Drive,0x0)..BO
Boot0002* manjaro	HD(1,GPT,f1246fd9-5ca5-440d-ac08-4e771bdfbf7a,0x800,0x145000)/File(\EFI\manjaro\grubx64.efi)
Boot0003* USB Storage Device	BBS(USB,USB Storage Device,0x0)..BO
Boot0004* CD/DVD/CD-RW Drive	BBS(CDROM,CD/DVD/CD-RW Drive,0x0)..BO
Boot0006* M.2 PCIe SSD	BBS(HD,P0: SSDPEKKF256G8 NVMe INTEL 256GB,0x0)..BO

This is the wrong part (assumption).
You should also have /boot/efi (esp) in fstab, so it will not "unmount" after boot.

so should cat /etc/fstab out put have an extra row of output? and I am missing something in my system? If so, what area of fix should I be looking into?

Yes. The esp at /boot/efi

UUID=8E7F-7DF7  /boot/efi vfat defaults,noatime 0 2

As petsam says, you do not have a $esp in your fstab entry.
You will need to put in this at fstab

UUID=8E7F-7DF7                            /boot/efi      vfat    defaults,noatime 0 0

Then after putting into fstab, at terminal....

sudo mount /dev/nvme0n1p1 /boot/efi
sudo grub-install 
sudo update-grub
sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi

If the first command results in an output that states /boot/efi is already mounted, verify with

findmnt /boot/efi

and the result must show /dev/nvme0n1p1 and continue with the 2nd, third and forth commands.

@AgentS,
A strange case of not having a /boot/efi entry in fstab and yet having a 'manjaro' entry (/dev/nvme0n1p1) at 'efibootmgr -v'. I'm a latecomer to this topic, but reading quickly, how did that happen? I ask OP to check fstab as I did not see anywhere he did that. His grub-install does not specify that either, or did he and I missed that?

Oh.. you sent out you last post as I was typing. But ...please look into this.

@Bulaxy, fstab entry best to have '0 0 ' instead of '0 2' but either will work. I think '0 0' is better.

I dont think I was able to update grub. the same error that bug me the whole day

[rogerhfcheng@rogerlinux ~]$ sudo grub-install
Installing for x86_64-efi platform.
Installation finished. No error reported.
[rogerhfcheng@rogerlinux ~]$ sudo update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-4.19-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Found memtest86+ image: /boot/memtest86+/memtest.bin
/usr/bin/grub-probe: warning: unknown device type nvme0n1.
done
[rogerhfcheng@rogerlinux ~]$ sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/boot/bootx64.efi

Okay try again with

sudo grub-install --no-nvram

Make sure /dev/nvme0n1p1 is mounted as /boot/efi first.

so...
findmnt /boot/efi
givves output of /dev/nvme0n1p1? If yes, do command.
If no, mount that first and do command.
sudo mount /dev/nvme0n1p1 /boot/efi
sudo grub-install --no-nvram

Have you mounted the fat32 partition first?

1 Like

Good point!

So @Bulaxy, mount $esp first
do the 'sudo grub-install' without --no-nvram
and if same error, do the command with --no-nvram

[EDIT] - and tell us. :grinning:

1 Like

If you want strange, check this

Okay, I was out the whole day. Will take a look later.
Meantime, how about this? :grinning:

OP have to say if the partition was mounted.
If yes, then maybe a reboot (with esp in fstab) will provide more.
Even if it is required to use USB to get into Manjaro

1 Like

@gohlip

Sorry for being noob
is mounting esp

sudo mhwd-chroot
sudo su
mount /dev/nvme0n1 /mnt 

I thought
sudo mount /dev/nvme0n1p1 /boot/efi is mounting esp already?

No No No....
no chroot.
Are you able to boot to manjto? And I don't mean livecd.
If you are bboted at installed OS, just do the commands at terminal.

Repeat. Tell us. Can you boot to manjaro installed OS?

Forum kindly sponsored by Bytemark