Systemd Bootloader gone after Bios Update (Dual Boot)

Hi Endeavour-Friends,
I had EOS running smoothly together with Windows on a different SSD. Secureboot was also configured and working. As bootloader I chose systemd-boot and btrfs as EOS filesystem.

After a BIOS-update the linux bootloader disappered (no option in the BIOS).

To fix it I disabled secure boot in the BIOS and startet a EOS-Live-Stick and chroot into my installation:

sudo su
mount -o subvol=@ /dev/nvme2n1p2 /mnt
mount /dev/nvme2n1p1 /mnt/boot
arch-chroot /mnt

after that I’ in my installation. The command “efibootmgr -v” has this result:

[root@EndeavourOS /]# efibootmgr -v
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0000,0006,0001
Boot0000* Windows Boot Manager  HD(1,GPT,2ead33d2-d5e9-4218-acef-ba3a461d7db5,0x800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000020200100000010000000040000007fff0400
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 20 03 00 00 00 00 00 d2 33 ad 2e e9 d5 18 42 ac ef ba 3a 46 1d 7d b5 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 4d 00 69 00 63 00 72 00 6f 00 73 00 6f 00 66 00 74 00 5c 00 42 00 6f 00 6f 00 74 00 5c 00 62 00 6f 00 6f 00 74 00 6d 00 67 00 66 00 77 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
    data: 57 49 4e 44 4f 57 53 00 01 00 00 00 88 00 00 00 78 00 00 00 42 00 43 00 44 00 4f 00 42 00 4a 00 45 00 43 00 54 00 3d 00 7b 00 39 00 64 00 65 00 61 00 38 00 36 00 32 00 63 00 2d 00 35 00 63 00 64 00 64 00 2d 00 34 00 65 00 37 00 30 00 2d 00 61 00 63 00 63 00 31 00 2d 00 66 00 33 00 32 00 62 00 33 00 34 00 34 00 64 00 34 00 37 00 39 00 35 00 7d 00 00 00 20 20 01 00 00 00 10 00 00 00 04 00 00 00 7f ff 04 00
Boot0001  Windows Boot Manager  HD(1,GPT,491a46f2-7f7d-4c4e-9065-4b281652edff,0x1000,0x200000)/\EFI\Microsoft\Boot\bootmgfw.efi0000424f
      dp: 04 01 2a 00 01 00 00 00 00 10 00 00 00 00 00 00 00 00 20 00 00 00 00 00 f2 46 1a 49 7d 7f 4e 4c 90 65 4b 28 16 52 ed ff 02 02 / 04 04 46 00 5c 00 45 00 46 00 49 00 5c 00 4d 00 69 00 63 00 72 00 6f 00 73 00 6f 00 66 00 74 00 5c 00 42 00 6f 00 6f 00 74 00 5c 00 62 00 6f 00 6f 00 74 00 6d 00 67 00 66 00 77 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
    data: 00 00 42 4f
Boot0006* UEFI: KingstonDataTraveler 3.0PMAP, Partition 1       PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/Pci(0xc,0x0)/Pci(0x0,0x0)/USB(6,0)/HD(1,MBR,0x445df,0x800,0x39cb7e0)0000424f
      dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 01 02 / 01 01 06 00 00 00 / 01 01 06 00 00 0c / 01 01 06 00 00 00 / 03 05 06 00 06 00 / 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 e0 b7 9c 03 00 00 00 00 df 45 04 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 / 7f ff 04 00
    data: 00 00 42 4f

So, for whatever reason, only two windows boot partitions.
I tried “bootctl install”:

[root@EndeavourOS /]# bootctl install
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/BOOT/BOOTX64.EFI".
⚠ Mount point '/efi' which backs the random seed file is world accessible, which is a security hole! ⚠
⚠ Random seed file '/efi/loader/random-seed' is world accessible, which is a security hole! ⚠
Random seed file /efi/loader/random-seed successfully refreshed (32 bytes).

I also tried “reinstall-kernels”:

[root@EndeavourOS /]# reinstall-kernels
Installing kernel 6.12.9-arch1-1
dracut[I]: ....
....
dracut[I]: *** Creating image file '/efi/5dcd4fdd610c41d392550444a82345e5/6.12.9-arch1-1/initrd' ***
dracut[I]: *** Creating initramfs image file '/efi/5dcd4fdd610c41d392550444a82345e5/6.12.9-arch1-1/initrd' done ***
sbctl: Signing kernel /efi/5dcd4fdd610c41d392550444a82345e5/6.12.9-arch1-1/linux

All this doesn’t work. Still no Linux Bootloader showing up in the BIOS. “bootctl” shows that it is installed:

[root@EndeavourOS /]# bootctl is-installed
yes

Someone any ideas? Thanks!

For more insights, here the disks/partitions (3 nvme drives. nvme1 = Windows 11 and nvme2 = EndeavourOS):

[root@EndeavourOS /]# parted -l
Model: Kingston DataTraveler 3.0 (scsi)
Disk /dev/sda: 31.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  31.0GB  31.0GB  primary  fat32        boot, lba


Model: WD_BLACK SN850X 4000GB (nvme)
Disk /dev/nvme0n1: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      17.4kB  16.8MB  16.8MB               Microsoft reserved partition  msftres
 2      16.8MB  4001GB  4001GB  ntfs         Basic data partition          msftdata


Model: WD_BLACK SN770 1TB (nvme)
Disk /dev/nvme2n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name         Flags
 1      2097kB  1076MB  1074MB  fat32        EFI          boot, esp
 2      1076MB  1000GB  999GB   btrfs        endeavouros


Model: Samsung SSD 990 PRO 2TB (nvme)
Disk /dev/nvme1n1: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  106MB   105MB   fat32        EFI system partition          boot, esp, no_automount
 2      106MB   123MB   16.8MB               Microsoft reserved partition  msftres, no_automount
 3      123MB   1800GB  1799GB  ntfs         Basic data partition          msftdata
 4      2000GB  2000GB  821MB   ntfs                                       hidden, diag, no_automount

What does efibootmgr show now after running bootctl install?

Still no linux:

[root@EndeavourOS /]# bootctl install
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/BOOT/BOOTX64.EFI".
⚠ Mount point '/efi' which backs the random seed file is world accessible, which is a security hole! ⚠
⚠ Random seed file '/efi/loader/random-seed' is world accessible, which is a security hole! ⚠
Random seed file /efi/loader/random-seed successfully refreshed (32 bytes).
[root@EndeavourOS /]# efibootmgr
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0000,0006,0001
Boot0000* Windows Boot Manager  HD(1,GPT,2ead33d2-d5e9-4218-acef-ba3a461d7db5,0x800,0x32000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000020200100000010000000040000007fff0400
Boot0001  Windows Boot Manager  HD(1,GPT,491a46f2-7f7d-4c4e-9065-4b281652edff,0x1000,0x200000)/\EFI\Microsoft\Boot\bootmgfw.efi0000424f
Boot0006* UEFI: KingstonDataTraveler 3.0PMAP, Partition 1       PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)/Pci(0xc,0x0)/Pci(0x0,0x0)/USB(6,0)/HD(1,MBR,0x445df,0x800,0x39cb7e0)0000424f

Looks like your EFI entries aren’t getting updated.

If you reboot without the USB drive, can you boot the UEFI fallback entry? It will usually be called something like “UEFI <something>

It’s not at all unknown that a BIOS update will nuke the NVRAM. Shame that it takes care to preserve or restore Windows, but not Linux.
Good luck with it…I just installed a new M2 SSD and installed Pop-OS and it’s somehow giving me similar trouble with setting boot order. I may have to set it in the BIOS itself vs uefibootmgr.

unfortunately without the USB drive there is no boot option like “UEFI Fallback” or something like that.

It would probably be something like “UEFI OS” or “UEFI: name of the disk”

If that isn’t there, I would worry if something is wrong with the BIOS/Firmware. Have you checked to see if there are any available firmware updates for your MB?

Because I just updated to the latest bios version I now have this issue. The full bios boot config page of my gigabyte mainboard looks like this:


The three options under CSM support only show up when CSM is active (normally not for me).

The Boot-Override Menue (F12 while booting) shows this entries. None of them does boot linux. Both Win options boot into the same win11 install:

Any ideas?

you need to make sure that secure boot is turned back off. (Turned on is the Default)

Also I notice CSM support is enabled Unless your booting into a legacy boot you should disable it.

Thanks for your feedback. I set CSM to true for testing the suggestion with “UEFI Fallback”.
The problem I described in the first Post was with CSM off and Secure Boot diasabled.