Manjaro bootloader problem

I have a 2 disk, multi-boot system. Until today Manjaro was the primary bootloader. The problem is that all of a sudden the Windows (Disk 0) bootloader is now loading first. I can access the Manjaro (Disk 1) bootloader screen by going to the UEFI boot screen then choosing Manjaro - a multi-step process I’d rather avoid.

While in Manjaro I’ve tried to update grub and to reinstall grub without fixing bootloader order. Does any one know how to fix this? Thanks.

Computers are deterministic, and something like what you describe cannot “suddenly” happen without anything triggering it.

Did you by any chance install a Windows update or something? Windows tends to want to claim the whole computer for itself, and it is known to mess with the EFI variables during an update.

Anyway, look at… :arrow_down:

man efibootmgr

Pay attention to the -a and -b options. If your Manjaro installation is ─ say ─ 0001, then you would need to issue something like… :arrow_down:

sudo efibootmgr -b 0001 -a

The command… :arrow_down:


… without options and run as a regular user will give you a listing of the EFI boot entries. From there, you can ascertain which entry corresponds to your Manjaro installation.

efibootmgr reports this:

BootCurrent: 000A
Timeout: 0 seconds
BootOrder: 0000,0001,0004,0005,0008,0009,000A
Boot0000* Windows Boot Manager
Boot0001* Manjaro

What would be the syntax to switch the two at the top? (Note: other distros on the Manjaro disk have been removed from the text for clarity)
Would it be best to change the bootorder with:

efibootmgr -o --BootOrder 0001,0000… for example?

sudo efibootmgr -o 0001,0000

Thanks for that, Aragorn. I am left with one issue, however: the Windows Boot Manager is no longer showing in the Manjaro bootloader list. I ran sudo update-grub but Windows is still missing.

Here is the current etfibootmgr:

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000,0005,0004,0008,0009,0007,0006
Boot0000* Windows Boot Manager
Boot0001* Manjaro

Do you have two efi boot partitions on your system ?

No. There’s only one instance of EFI System Partition on the Linux disk. It’s a 2-disk system with Windows on one and Linux on the second.

Taking what Aragon said earlier, do I need to make the 0000 active (i.e. show on the list) by

sudo efibootmgr -b 0000 -a

–Nevermind, the above didn’t work.

If that was my box I’d just reinstall grub, that should pickup the fixed win boot loader.

IF win drive is sda and linux drive is sdb and grub was installed to efi partition at the root of the linux drive, this should fix it:
sudo grub-install /dev/sdb

However, it’s not my box, so better wait 'till someone can confirm …

I’ve reinstalled grub (sudo pacman -Syu grub) and then even updated grub. There is no change. It is interesting to note that during the update os-prober doesn’t seem to be detecting the Windows partition on the second drive as it has in the past.


Got it! It seems there were two issues.

First, to recap, I was able to reset the boot order so Manjaro grubloader would show with:
sudo efibootmgr -o 0001,0000

Second, Windows was showing under GParted with File System ataraid instead of NTFS thanks to Intel Optane Memory. I suspect that’s why os-prober didn’t recognize it. So, I switched that off in Windows, booted back into Manjaro and updated grub again. Windows was finally added to the boot menu but the boot order also needed fixing again.

Once all that was done I booted back into Windows and turned the Intel Optane Memory back on. Next, on the reboot the Manjaro boot menu held its settings with it being the default and Windows being listed 2nd and bootable.

1 Like

But what if you again run update-grub? I guess you will lose Windows entry in grub again. Or not?

Just out of interest; why not?

~ >>> sudo grub-install /dev/sda                                               
[sudo] password for jaro: 
Installing for x86_64-efi platform.
Installation finished. No error reported.
~ >>>

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