Intro
This is a quick history on how I've been using --efi-directory
grub parameter wrong for years but suddenly grub stopped to handle this mistake by simply not working anymore.
The problem
Well I'm an Archlinux user (btw) for like 12 years (if I remember correctly) and my grub installation command was the following:
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB
And everything worked perfectly... Until some weeks ago.
If you look my lsblk
output you can already detect the problem:
sdc 8:32 0 111,8G 0 disk
├─sdc1 8:33 0 1G 0 part /boot
└─sdc2 8:34 0 110,8G 0 part /
Don't you see yet?
Well, the problem is that my esp partition is mounted on /boot
while my --efi-directory
is pointing to /boot/EFI
, and this is wrong!
Why this? I don't know, probably lazy reading the arch wiki and if it's working why fix it? ¯_(ツ)_/¯
For some reason this worked until grub 2.12 without any problems, but now it's fixed and I screw up my grub installation.
Thanks for this Gentoo's forum thread
Since then I've been using refind just because I was lazy enough to not read the wiki with attention to see where I was wrong.
The fix
This problem affected me and other people but only recently I found the problem.
Well the fix is really easy: Just point --efi-directory
to the same path of your mount point.
Conclusion
RTF Wiki!