Win 11 bootloader restores precedence over Grub

Hello everybody,
I decided to upgrade from Win 10 to 11 and installed Endeavouros on a second hard drive after making good experiences with it on my laptop. Unfortunately, I am unable to give Grub the first boot priority. I can elect to boot Endeavouros when hitting F11 on startup, but can’t give it boot priority in the BIOS. There is just no entry for Endeavouros.

Running sudo efibootmgr -o 0002,0000,0004,0001 returns

BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000,0004,0001
Boot0000* Windows Boot Manager	HD(2,GPT,c94fdc5c-3867-4a85-988b-453e52a23f7d,0xfa000,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d0000006f000100000010000000040000007fff0400
Boot0001* Hard Drive	BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)0000474f00004e4fb7000000010000008d00430054003500300030005000310053005300440038000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a00000000010106000301010106000200010106000004010106000000031710000100000000a07518e1d3a7677fff040001042e00ef47642dc93ba041ac194d51d01b4ce631003800340033004500310044003300410037003600370000007fff04000000424f00004e4fbf0000000100000089004b0049004e004700530054004f004e00200053004e005600530035003000300047000000050109000200000000010416008b12e85cec2cf040837280640e3dc85802007fff040002010c00d041030a0000000001010600010101010600000003171000010000000026b73811f727657fff040001043600ef47642dc93ba041ac194d51d01b4ce6350030003000320036004200370033003800310031004600370032003700360000007fff04000000424f
Boot0002* endeavouros	HD(1,GPT,c1c93e30-7458-4940-8895-17ca57ac6489,0x1000,0x1f4000)/File(\EFI\ENDEAVOUROS\GRUBX64.EFI)
Boot0004* UEFI OS	HD(1,GPT,c1c93e30-7458-4940-8895-17ca57ac6489,0x1000,0x1f4000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f

If I reboot, Win 11 will give itself boot priority and I will boot into Win 11 and boot order will be restored to 000,0002,0004,0001.

I tried deactivating the Win11 bootloader:

$ sudo efibootmgr -b 0000 -A
efibootmgr: Boot entry 0 not found
Could not set active state for Boot0000: No such file or directory

Setting the NextBoot Option to Endeavouros $ sudo efibootmgr -n 0002 does work but is only an inconvenient work around.

Interestingly, setting the NextBoot option to Windows using sudo efibootmgr -n 0000 does work too, so efibootmgr is capable of working with that bootloader - it just can’t deactivate it.

Does anybody have any ideas how I could deactivate the Windows bootloader or stop it from grabbing precedence? Or just let me boot Endeavouros as default? I included the send-logs in case you need more information (hardware information, install log, fdisk, fstab)

Thanks for your help!

Sounds like an odd issue :thinking:

Is it not possible to go into BIOS/firmware settings and set the EnOS’ disk as first in boor priority?

1 Like

It doesn’t show up, thats what I meant with

but can’t give it boot priority in the BIOS.

The entire disk (/dev/nvme1n1) does not show up.

1 Like

Sorry, I overlooked that :man_facepalming:t5:

1 Like

No problem :slight_smile:
Apart from that - any other ideas?

Feels like “a stab in the dark”:

What if install EnOS’ bootloader to the same ESP as windows?

By the way, are you using Grub or systemd-boot?

1 Like

Tried using the Windows EFI partition before, didn’t work with the same error. I am using Grub, but tried with systemd-boot as well (unsuccessfully of course…) Yeah, I’m working on that issue a bit longer already :smiling_face_with_tear:

Having to go to sleep now, will be back tomorrow.

1 Like

Anybody else with an idea?

Did you check UEFI Bios settings and set the drive to to boot from. The entries should be there also.

Check settings in UEFI. What is the hardware? Post the url

inxi -Faz | eos-sendlog
1 Like

:thinking:

1 Like

The entries aren’t there. Inxi output is included in the logfiles linked in my first post: https://0x0.st/H8Oi.txt

Just as a test, if you take out your Windows disk, does your other with EnOS show up in UEFI settings?

1 Like

Will try when I get home

1 Like

Try copying EnOS bootloader to the default path.

If it still fails, try to replace the Windows bootloader

In both cases, use the file names of the target, not GRUBX64.EFI (it is obvious, but I am just clarifying :person_shrugging: ). Read the wiki articles to understand the procedure.

1 Like

Are you sure if this the problem?

The EFI boot entry seems to be functional:

but

The disk on which EnOS installed doesn’t even show up in BIOS:

:thinking:

Nor does efibootmgr work for changing the boot order. Setting the next boot works though.

1 Like

No, that’s why I proposed :person_shrugging:

It is not uncommon UEFI firmware to restrict allowed modifications, or other things. We can only try the known tricks, or invent new ones :smiling_face: .

1 Like

Yeah. But the whole disk not showing up is rather strange I think.

Yup! Bring it on!

:magic_wand: :tophat: :elephant:

1 Like

Drives are shown in the hardware output?

Drives:
  Local Storage: total: 988.8 GiB used: 8.06 GiB (0.8%)
  ID-1: /dev/nvme0n1 vendor: Kingston model: SNVS500G size: 465.76 GiB speed: 31.6 Gb/s lanes: 4
    serial: <filter> temp: 36.9 C
  ID-2: /dev/nvme1n1 vendor: Crucial model: CT500P1SSD8 size: 465.76 GiB speed: 31.6 Gb/s
    lanes: 4 serial: <filter> temp: 28.9 C
1 Like

I haven’t seen this happen on any UEFI hardware that i have or have installed on? This is a standard MSI desktop motherboard which I’m quite familiar with. I just don’t see why this would be. MSI has very good UEFI firmware in my opinion. :thinking:

X470 GAMING PRO (MS-7B79)

1 Like

You should have been able to just set the boot order for EndeavourOS in UEFI as you are pointing out it is there. Then if the entry for Windows isn’t in the boot menu you should have been able to just enable os-prober and run the update grub command. Normally the installer detects Windows and add the entry but for what ever reason it hasn’t I don’t know. :man_shrugging:

Edit: Sometimes the UEFI firmware has too many entries written to it and then it’s full. Sometimes clearing it helps.

1 Like