Systemd-boot menu no longer appears after BIOS update (Windows-EOS dual boot)

Hello, sirs!
I have a dual boot system: Windows & EOS
Today I updated my BIOS and the system automatically starts Windows without systemd-boot prompt.

I’d faced the same issue a while ago, and this EOS thread helped me, but I was not able to fix the issue today.

I logged in with my thumbdrive and did the following

parted output

  1. Samsung SSD 980 PRO - Windows nvme ssd
  2. Samsung SSD 970 EVO Plus - EOS nvme ssd
  3. ATA Samsung SSD 870 - data ssd
  4. ATA ST4000DM004-2CV1 - hard drive
  5. JetFlash Transcend 8GB - thumbdrive with EOS
[liveuser@eos-2022.12.17]$ sudo parted -l
Model: ATA Samsung SSD 870 (scsi)
Disk /dev/sda: 500GB
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  500GB   500GB   ntfs         Basic data partition          msftdata


Model: ATA ST4000DM004-2CV1 (scsi)
Disk /dev/sdb: 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: JetFlash Transcend 8GB (scsi)
Disk /dev/sdc: 8103MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size   Type     File system  Flags
 2      1931MB  2041MB  110MB  primary  fat16        esp


Model: Samsung SSD 980 PRO 1TB (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size   File system  Name                  Flags
 1      1049kB  999GB   999GB  ntfs         Basic data partition  msftdata
 2      999GB   1000GB  864MB  ntfs                               hidden, diag, no_automount


Model: Samsung SSD 970 EVO Plus 1TB (nvme)
Disk /dev/nvme1n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name         Flags
 1      2097kB  1051MB  1049MB  fat32                     boot, esp
 2      1051MB  1000GB  999GB   ext4         endeavouros

blkid output

[liveuser@eos-2022.12.17]$ sudo blkid
/dev/nvme0n1p1: LABEL="DEEZ" BLOCK_SIZE="512" UUID="9CD2431FD242FCD0" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="d6c1717d-b8d3-4ff5-a135-c0a59f0c85ce"
/dev/nvme0n1p2: BLOCK_SIZE="512" UUID="D81263E61263C858" TYPE="ntfs" PARTUUID="3fd707c7-b26c-4e03-bcfb-e6d7ced889fd"
/dev/sdb2: LABEL="Seagate HDD" BLOCK_SIZE="512" UUID="36CA63B1CA636BD5" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="a9a6b155-405b-495c-a81a-057bfe106281"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"
/dev/sdc2: SEC_TYPE="msdos" LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="A59C-8529" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="5ab6cd03-02"
/dev/sdc1: BLOCK_SIZE="2048" UUID="2022-12-17-15-01-34-00" LABEL="EOS_202212" TYPE="iso9660" PARTUUID="5ab6cd03-01"
/dev/nvme1n1p2: LABEL="endeavouros" UUID="574cf629-78bf-46ac-8911-aa0b98ab5e37" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="endeavouros" PARTUUID="ed33455c-a62f-7949-b14c-dcb36490fb73"
/dev/nvme1n1p1: UUID="CA33-6841" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="703d50d6-fe11-fe4b-ac3e-354ee089b242"
/dev/sda2: LABEL="Samsung 870" BLOCK_SIZE="512" UUID="787E83117E82C6FA" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="7f018757-5cd7-4add-aaba-7b880c304bc3"
/dev/sdb1: PARTLABEL="Microsoft reserved partition" PARTUUID="b9c4398e-1cbd-455c-b034-b174d0a7f382"
/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="a6c7c55e-d6d1-4df8-94cb-cc239f731687"

bootctl install

[liveuser@eos-2022.12.17]$ sudo mount /dev/nvme1n1p2 /mnt
[liveuser@eos-2022.12.17]$ sudo mount /dev/nvme1n1p1 /mnt/efi
[liveuser@eos-2022.12.17]$ suo arch-chroot /mnt
[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).
Created EFI boot entry "Linux Boot Manager".
[root@EndeavourOS /]# exit

efibootmgr

[liveuser@eos-2022.12.17]$ efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0003,0001,0000
Boot0000* Windows Boot Manager	HD(1,GPT,703d50d6-fe11-fe4b-ac3e-354ee089b242,0x1000,0x1f4000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000000000100000010000000040000007fff0400
Boot0001* UEFI: JetFlashTranscend 8GB 1100	PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/USB(0,0)/CDROM(1,0x398c00,0x34a98)0000424f
Boot0003* Linux Boot Manager	HD(1,GPT,703d50d6-fe11-fe4b-ac3e-354ee089b242,0x1000,0x1f4000)/File(\EFI\systemd\systemd-bootx64.efi)

However, after rebooting my system starts up Windows. Also, there is no additional entry in boot order in BIOS

When I try to check efibootmgr output again from the liveusb, the efibootmgr order gets reset and points to Windows Boot Manager

P.S. Secure boot is off

Could you help me figure out how to proceed?

sudo efibootmgr -o 3,0,1

Or whatever combo, but 3 needs to be first.

I did exactly that, but Windows boot manager would still run on the startup. I then went and check efibootmgr entries (with liveusb): the order reset and Windows is the first in boot list. It happens again and again

NOTE: in BIOS there isn’t any new boot entry after doing bootctl install

Did you turn secure boot back off?

Yes, I turned secure boot off

TLDR: the following did no good

I also updated all the packages and retested the procedure.

pacman -Sy archlinux-keyring && pacman -Syu

bootctl update

Skipping "/efi/EFI/systemd/systemd-bootx64.efi", same boot loader version in place already.
Skipping "/efi/EFI/BOOT/BOOTX64.EFI", same boot loader version in place already.
Skipping "/efi/EFI/BOOT/BOOTX64.EFI", same boot loader version in place already.

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).
Created EFI boot entry "Linux Boot Manager".

bootctl list

[liveuser]$ bootctl list
         type: Boot Loader Specification Type #1 (.conf)
        title: EndeavourOS (6.12.3-arch1-1) (default) (not reported/new)
           id: 1627ed6913e543019a8f0bf74c122364-6.12.3-arch1-1.conf
       source: /efi//loader/entries/1627ed6913e543019a8f0bf74c122364-6.12.3-arch1-1.conf
     sort-key: endeavouros-6.12.3-arch1-1
      version: 6.12.3-arch1-1
   machine-id: 1627ed6913e543019a8f0bf74c122364
        linux: /efi//1627ed6913e543019a8f0bf74c122364/6.12.3-arch1-1/linux
       initrd: /efi//1627ed6913e543019a8f0bf74c122364/6.12.3-arch1-1/initrd
      options: nvidia-drm.modeset=1 nvme_load=YES rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 systemd.machine_id=1627ed6913e543019a8f0bf74c122364

         type: Boot Loader Specification Type #1 (.conf)
        title: EndeavourOS (6.12.3-arch1-1-fallback) (not reported/new)
           id: 1627ed6913e543019a8f0bf74c122364-6.12.3-arch1-1-fallback.conf
       source: /efi//loader/entries/1627ed6913e543019a8f0bf74c122364-6.12.3-arch1-1-fallback.conf
     sort-key: endeavouros-6.12.3-arch1-1-fallback
      version: 6.12.3-arch1-1-fallback
   machine-id: 1627ed6913e543019a8f0bf74c122364
        linux: /efi//1627ed6913e543019a8f0bf74c122364/6.12.3-arch1-1/linux
       initrd: /efi//1627ed6913e543019a8f0bf74c122364/6.12.3-arch1-1/initrd-fallback
      options: nvidia-drm.modeset=1 nvme_load=YES rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 systemd.machine_id=1627ed6913e543019a8f0bf74c122364

         type: Boot Loader Specification Type #1 (.conf)
        title: EndeavourOS (6.6.63-1-lts) (not reported/new)
           id: 1627ed6913e543019a8f0bf74c122364-6.6.63-1-lts.conf
       source: /efi//loader/entries/1627ed6913e543019a8f0bf74c122364-6.6.63-1-lts.conf
     sort-key: endeavouros-6.6.63-1-lts
      version: 6.6.63-1-lts
   machine-id: 1627ed6913e543019a8f0bf74c122364
        linux: /efi//1627ed6913e543019a8f0bf74c122364/6.6.63-1-lts/linux
       initrd: /efi//1627ed6913e543019a8f0bf74c122364/6.6.63-1-lts/initrd
      options: nvidia-drm.modeset=1 nvme_load=YES rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 systemd.machine_id=1627ed6913e543019a8f0bf74c122364

         type: Boot Loader Specification Type #1 (.conf)
        title: EndeavourOS (6.6.63-1-lts-fallback) (not reported/new)
           id: 1627ed6913e543019a8f0bf74c122364-6.6.63-1-lts-fallback.conf
       source: /efi//loader/entries/1627ed6913e543019a8f0bf74c122364-6.6.63-1-lts-fallback.conf
     sort-key: endeavouros-6.6.63-1-lts-fallback
      version: 6.6.63-1-lts-fallback
   machine-id: 1627ed6913e543019a8f0bf74c122364
        linux: /efi//1627ed6913e543019a8f0bf74c122364/6.6.63-1-lts/linux
       initrd: /efi//1627ed6913e543019a8f0bf74c122364/6.6.63-1-lts/initrd-fallback
      options: nvidia-drm.modeset=1 nvme_load=YES rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 rw root=UUID=574cf629-78bf-46ac-8911-aa0b98ab5e37 systemd.machine_id=1627ed6913e543019a8f0bf74c122364

         type: Reported by Boot Loader
        title: archiso-x86_64-linux.conf (selected) (reported/absent)
           id: archiso-x86_64-linux.conf
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

         type: Reported by Boot Loader
        title: archiso-x86_64-linux-nv.conf (reported/absent)
           id: archiso-x86_64-linux-nv.conf
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

         type: Reported by Boot Loader
        title: fallback.conf (reported/absent)
           id: fallback.conf
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

         type: Automatic
        title: EFI Shell
           id: auto-efi-shell
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

         type: Automatic
        title: Reboot Into Firmware Interface
           id: auto-reboot-to-firmware-setup
       source: /sys/firmware/efi/efivars/LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f

efibootmgr

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0004,0001,0006
Boot0001* UEFI: JetFlashTranscend 8GB 1100	PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/USB(0,0)/CDROM(1,0x398c00,0x34a98)0000424f
Boot0004* Linux Boot Manager	HD(1,GPT,703d50d6-fe11-fe4b-ac3e-354ee089b242,0x1000,0x1f4000)/\EFI\systemd\systemd-bootx64.efi
Boot0006* Linux Boot Manager	HD(1,GPT,703d50d6-fe11-fe4b-ac3e-354ee089b242,0x1000,0x1f4000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00610031003800630061003400330033002d0061003100380030002d0031003100650066002d0038006400660064002d006200300033006300640063006600360061003700330039007d00000000000100000010000000040000007fff0400

efibootmgr -o 0004,0001,0006

BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0004,0001,0006
Boot0001* UEFI: JetFlashTranscend 8GB 1100	PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/USB(0,0)/CDROM(1,0x398c00,0x34a98)0000424f
Boot0004* Linux Boot Manager	HD(1,GPT,703d50d6-fe11-fe4b-ac3e-354ee089b242,0x1000,0x1f4000)/\EFI\systemd\systemd-bootx64.efi
Boot0006* Linux Boot Manager	HD(1,GPT,703d50d6-fe11-fe4b-ac3e-354ee089b242,0x1000,0x1f4000)/\EFI\Microsoft\Boot\bootmgfw.efi57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00610031003800630061003400330033002d0061003100380030002d0031003100650066002d0038006400660064002d006200300033006300640063006600360061003700330039007d00000000000100000010000000040000007fff0400

However, I’m still stuck with Windows on startup

Additional info from BOOTICE tool (windows)





  1. Linux Boot Manager
    \EFI\Microsoft\Boot\bootmgfw.efi

  2. Linux Boot Manager
    \EFI\systemd\systemd-bootx64.efi

  3. Windows Boot Manager
    \EFI\Microsoft\Boot\bootmgfw.efi

  4. Linux Boot Manager
    \EFI\systemd\systemd-bootx64.efi

  5. UEFI: JetFlashTranscend 8GB 1100

1-4 point to the same Boot Disk (ssd) where EOS was installed

Apparently, there are duplicate entries, but I’m afraid of deleting anything at the moment.

NOTE: you may be interested that 1st entry says Microsoft - I tried moving all systemd-bootx64.efi entries at the top, but Windows would still load and the order got reset again.

Guys, I’m such a mess. I just found the right setting in the bios. It seemed the old msi bios had a different look and that’s why I got really confused with the selection between Windows and Linux boot manager. I eventually found it.
So, all in all mounting onto the right disk and bootctl install does the trick

3 Likes

Windows can clean the bootdrive in total only bootctl install wont do reinstall kernels do also

My MSI board has this also. There are boot settings and then boot priorities.

1 Like

Correct. I also did it (however, I think reinstalling kernels was somewhat redundant)
@ringo, you were the man of the hour :star_struck: Thank you for helping me in telegram

1 Like

funfact i lost my bootloader today :stuck_out_tongue: had to fix it

grub or systemd-boot?

Systemd-boot…boorpartition corrupting somehow

1 Like

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