EFI can't see Manjaro's GRUB after motherboard update

After upgrading my B450M MORTAR MAX (MS-7B89) from firmware 2.F0 to 2.I0, my motherboard doesn’t offer the option to boot from Manjaro’s GRUB.

I also have Kubuntu 22.04 (on the same SSD as Manjaro) and Windows 11 (on another SSD). Their bootloaders are still seen by the motherboard.

I managed to boot Manjaro from Kubuntu’s GRUB, where Manjaro is listed, using the fallback initramfs entry.

Both Secureboot and TPM are disabled.

This could be a problem of my motherboard’s settings being reset, but after re-disabling Secureboot and TPM I can’t figure out what else to check.

Any idea?

Might actually be from

Manjaro needs its own grub to work - other system grubs will not work well.
Once you are booted into manjaro you should try and run

sudo update-grub

The UEZFI reset probably deleted the EFI variable associated with Manjaro. You’ll need to reinstall Manjaro’s GRUB.

When booted into Manjaro, run… :arrow_down:

sudo grub-install && sudo update-grub

When you update your system firmware - most vendors recommend to reset the firmware to default.

Even if they don’t - there is a fair chance the update will overwrite the current boot entries.

Be sure to establish knowledge whether your system has been booted as EFI or BIOS as the EFI loader and BIOS loader is incompatible.

The wiki entry describes various methods

Something like this inside your Manjaro installation

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
1 Like

This one worked! Thanks a lot!

…but even by reading the wiki you linked, I have not understood what happened.
The three bootloaders have always been there. The only thing I can think of is:

  1. The EFI firmware is reset with secureboot on.
  2. It builds an internal database of the bootloaders, looking only for secureboot enabled ones.
  3. Even when I disable secureboot it looks at its database instead of looking at the real bootloaders on the EFI partition.
  4. The command you suggested refreshed the internal firmware database.

Is this correct?

Yes that is correct.

The firmware has a section with pointers to the partitons where the loaders are located.

When you run the grub install command - the target instructs the command to create an entry in the firmware pointing to the location of the loader.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.