Some backstory to this:
While the forums were down, I realised something relating to GRUB.
I don’t know if this is supposed to happen, but I had both the Manjaro bootloader in /boot/efi/EFI/manjaro/grubx64.efi
and a removable /boot/efi/EFI/boot/bootx64.efi
one. My system was installed in early June with Lysia 20.0.1 ISO, using Calamares.
This became relevant after I updated my motherboard’s BIOS to its latest version. After the update, all my attempts to boot up the system ended up in grub rescue with an error: symbol 'grub_calloc' not found
.
Note that I had updated the GRUB as instructed in the old forums and the wiki after the GRUB package was patched for BootHole.
Time to fire up the live environment.
I found this thread from a user suffering from the same error, and followed their instructions of replacing the bootx64.efi
with the grubx64.efi
and renaming it. This made my system bootable again.
But I thought that this was a half-measure, and wanted to fix this “properly”.
So I removed the contents under /boot/efi/EFI
and installed GRUB again with sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
I went to check the results, and panicked a bit when I noticed that /boot/efi/EFI/boot/
didn’t exist after the install. But I recalled reading somewhere that you could install with a --removable
argument, and gave it a try. And /boot/efi/EFI/BOOT/BOOTX64.EFI
was created, though now with capitalisation. And the system was booting up normally again! I have never used --removable
in the past.
So I’d suggest that since Calamares (which many noobs like me are going to use) wants to install both bootloaders, guides should mention that both are best kept up-to-date. You’ll never know when a motherboard vendor decides to change things up, so that you can no longer boot the system from /boot/efi/EFI/manjaro/grubx64.efi
, but it’s using (or trying to, and failing in my case) the horribly outdated one.
Edit: I have MSi B450M Mortar MAX motherboard, so this might apply to other MSi motherboards with the same chipset as well.