Systemd-boot entry for windows (auto-detected) no longer working

Thanks for your response. I have not changed any (windows) bootloader files, so I’m guessing things might have changed via an update. There are slight differences between the windows efi files on the windows drive vs the one that are on my systemd-boot drive (the systemd-boot drive has changes on the 9th of September).


I think I have a slightly better idea what is going wrong. Looking back out the output from my command from bootctl list, the entry for auto-windows is identical to the entry from auto-reboot-to-firmware-setup, which explains why it goes straight into bios after it is being selected.

  • Just for my understanding, how did the efi Windows folder (which is on different drive) end up on the drive that is used for booting? I’m assuming there is some configuration from EndeavourOS (systemd-boot config) that copied this over?

So as far as can tell I have two options, given the following setup:

  ❯ lsblk -f
NAME        FSTYPE FSVER LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
nvme1n1                                                                                  
├─nvme1n1p1 vfat   FAT32             50B3-2442                                           
├─nvme1n1p2                                                                              
├─nvme1n1p3 ntfs                     A8BCB59DBCB5670A                                    
└─nvme1n1p4 ntfs                     701E2EF41E2EB350                                    
nvme0n1                                                                                  
├─nvme0n1p1 vfat   FAT32             6EA8-EF60                             785,5M    23% /efi
└─nvme0n1p2 ext4   1.0   endeavouros b567675a-f85d-4be8-9f69-2000fe1db294  818,4G     5% /

/sys/firmware/efi/efivars🔒 
  ❯ sudo blkid | grep vfat
/dev/nvme0n1p1: UUID="6EA8-EF60" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI" PARTUUID="08ce914c-9bb1-4e3a-b2c3-bd618f6e2a74"
/dev/nvme1n1p1: UUID="50B3-2442" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="bf5a8742-8922-479f-b3fd-3dad95e993ff"
  1. Remove the /efi/EFI/Microsoft directory (on /dev/nvme0n1p1 mounted at /efi). Mount the windows efi partition (/dev/nvme1n1p1) and copy the entries from over there to the one used by systemd-boot (basically back into /efi/EFI/Microsoft). I’m not sure now how systemd-boot will add the entry on the fly, is this as simple as calling sudo bootctl install at this point?
  2. Adding an menu entry menually for systemd-boot loader as described in this tutorial, [Tutorial] Add a systemd-boot loader Menu entry for a Windows installation using a separate ESP Partition. In that case I’m not sure how I would get rid of the automacially added (broken) entry that is there now.

Is this a correct assessment? Is there a benefit for deciding on one over the other?