SOS Systemd-boot dual boot isn't working

So, I use EndeavourOS - Windows 11 dual boot on my laptop. The linux and the windows have different ssd. For the past few months it worked perfectly fine. But yesterday I had to turn on secure boot and boot into windows (using the windows boot entrie instead of the systemd-boot). But for some reason even when I turned it off the endeavouros disappeared from the systemd-boot list. I tried to bring it back, but I couldn’t and I’m out of ideas. As I remember last time I’ve solved it as having the loader and conf files on my windows ssd efi and the kernels on the linux ssd efi. But now I can’t bring it back to the systemd-boot menu, even when I have the same file structure as I had before. I use linux for my everyday life so it is important to get in. Any ideas how I should solve this? If you need any further information let me know in the comments. (I have a live usb so i can run console commands)

Side note: For some reason my bios won’t recognize and boot anything on my linux efi, that’s why I had to solve it this way (i have an asus tuf gaming f16 laptop)

Thank you in advance.

From the live usb, post the output of these two commands to begin with:

efibootmgr

sudo parted -l

Please post the terminal output as formatted text. Not screenshots.
It will be easier to read, copy, paste, comment on etc.

As per your first screenshot you have two boot entries 0001 Linux Boot Manager and 0002 EndeavourOS with 0002 having the first boot priority. These entries have the exact same path and point to the same systemd-boot bootloader efi binary.

While this may not be the issue you are having, having two boot entries with the sole difference of naming is unnecessary.

And, if I have understood your post correctly, when you boot up your system, you get to the systemd-boot menu. Once there, you have the boot entry for Windows but not the one for EOS.

I would suggest that, in the live session, mount your system partition at /mnt and post the content of conf files under /mnt/efi/loader/entries

Also post the content of /efi/loader/loader.conf

You can log in to your forum account in the live session, post the output as text.
Please use the </> button at the top of the reply box to format the output.

The entries only has the conf file to the eos, and it contains this:

title EndeavourOS
linux /efi/vmlinuz-linux
initrd /efi/intel-ucode.img
initrd /efi/initramfs-linux.img
options root=UUID=12ad4a64-ce21-431d-836c-4dc1b67adb41 rw nvidia-drm.modeset=1 loglevel=3 pcie_aspm=off

And the loader.conf file looks like this:
timeout 5
default EndeavourOS

Also, you’ve understood the problem right.

I haven’t set up an EOS system for a while but this seems good, I guess. I mean, it looks as it should be according to the ArchWiki. However, since EOS automates the procedure by running its own script so I am not totally sure.

For now, we can look at two things that stands out as being “off”:

Regardless what initrds generator you use, mkinitcpio or dracut, intel-ucode is built into the initramfs, so you don’t need this line.

The default here should point to the name of the entry conf itself and not to the title inside the file.

So, if the entry conf is called endeavouros.conf, then you should have:

timeout 5 
default endeavouros.conf

My suggestion would be to chroot into your installed system, regenerate your initrams and correct your /efi/loader/loader.conf

From the live session:

sudo mount /dev/nvme1n1p3 /mnt 
sudo mount /dev/nvme1n1p2 /mnt/efi
sudo arch-chroot /mnt

When you are in chroot:

reinstall-kernels

Then correct the default entry in your /efi/loader/loader.conf as described above.

If there are errors and such, post them here before you go any further.

For more, see:

https://discovery.endeavouros.com/system-rescue/systemd-boot/2022/12/

I’ve reinstalled the kernels and have corrected the loader.conf but the eos option is still not in the systemd-boot menu after booting my laptop.

Could you chroot once again and post:

bootctl list

pacman -Q | grep -E 'mkinitcpio|dracut'

Also, install tree and post:

tree /efi

bootctl list:

Not booted with EFI or running in a container, skipping EFI variable modifications. type: Boot Loader Specification Type #1 (.conf) title: EndeavourOS (default) (not reported/new) id: endeavouros.conf source: /efi//loader/entries/endeavouros.conf (on the EFI System Partition) linux: /efi//vmlinuz-linux initrd: /efi//intel-ucode.img /efi//initramfs-linux.img options: root=UUID=12ad4a64-ce21-431d-836c-4dc1b67adb41 rw nvidia-drm.modeset=1 loglevel=3 pcie_aspm=off

[root@EndeavourOS /]# pacman -Q | grep -E 'mkinitcpio|dracut'
mkinitcpio 41-4
mkinitcpio-busybox 1.36.1-1

[root@EndeavourOS /]# tree /efi
/efi
├── e575685982b34df3b7d31269ba44ff33
│ ├── 6.18.35-1-lts
│ └── 7.0.12-arch1-1
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── Linux
│ ├── Microsoft
│ │ ├── Boot
│ │ │ ├── BCD
│ │ │ ├── BCD.LOG
│ │ │ ├── BCD.LOG1
│ │ │ ├── BCD.LOG2
│ │ │ ├── bg-BG
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── bootmgfw.efi
│ │ │ ├── bootmgr.efi
│ │ │ ├── BOOTSTAT.DAT
│ │ │ ├── boot.stl
│ │ │ ├── CIPolicies
│ │ │ │ └── Active
│ │ │ │ ├── {5DAC656C-21AD-4A02-AB49-649917162E70}.cip
│ │ │ │ ├── {82443e1e-8a39-4b4a-96a8-f40ddc00b9f3}.cip
│ │ │ │ └── {CDD5CB55-DB68-4D71-AA38-3DF2B6473A52}.cip
│ │ │ ├── cs-CZ
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── da-DK
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── de-DE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── el-GR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── en-GB
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── en-US
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── es-ES
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── es-MX
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── et-EE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── fi-FI
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Fonts
│ │ │ │ ├── chs_boot.ttf
│ │ │ │ ├── cht_boot.ttf
│ │ │ │ ├── jpn_boot.ttf
│ │ │ │ ├── kor_boot.ttf
│ │ │ │ ├── malgun_boot.ttf
│ │ │ │ ├── malgunn_boot.ttf
│ │ │ │ ├── meiryo_boot.ttf
│ │ │ │ ├── meiryon_boot.ttf
│ │ │ │ ├── msjh_boot.ttf
│ │ │ │ ├── msjhn_boot.ttf
│ │ │ │ ├── msyh_boot.ttf
│ │ │ │ ├── msyhn_boot.ttf
│ │ │ │ ├── segmono_boot.ttf
│ │ │ │ ├── segoen_slboot.ttf
│ │ │ │ ├── segoe_slboot.ttf
│ │ │ │ └── wgl4_boot.ttf
│ │ │ ├── fr-CA
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── fr-FR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── hr-HR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── hu-HU
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── it-IT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── ja-JP
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── kd_02_10df.dll
│ │ │ ├── kd_02_10ec.dll
│ │ │ ├── kd_02_1137.dll
│ │ │ ├── kd_02_1414.dll
│ │ │ ├── kd_02_14e4.dll
│ │ │ ├── kd_02_15ad.dll
│ │ │ ├── kd_02_15b3.dll
│ │ │ ├── kd_02_1969.dll
│ │ │ ├── kd_02_19a2.dll
│ │ │ ├── kd_02_1af4.dll
│ │ │ ├── kd_02_1d0f.dll
│ │ │ ├── kd_02_8086.dll
│ │ │ ├── kd_07_1415.dll
│ │ │ ├── kd_0C_8086.dll
│ │ │ ├── kdnet_uart16550.dll
│ │ │ ├── kdstub.dll
│ │ │ ├── ko-KR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── lt-LT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── lv-LV
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── memtest.efi
│ │ │ ├── nb-NO
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── nl-NL
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pl-PL
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pt-BR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pt-PT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── qps-ploc
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── qps-plocm
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Resources
│ │ │ │ ├── bootres.dll
│ │ │ │ └── hu-HU
│ │ │ │ └── bootres.dll.mui
│ │ │ ├── ro-RO
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── ru-RU
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── SecureBootRecovery.efi
│ │ │ ├── sk-SK
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sl-SI
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sr-Latn-RS
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sv-SE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── tr-TR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── uk-UA
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── winsipolicy.p7b
│ │ │ ├── zh-CN
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ └── zh-TW
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ └── Recovery
│ │ ├── BCD
│ │ ├── BCD.LOG
│ │ ├── BCD.LOG1
│ │ └── BCD.LOG2
│ └── systemd
│ └── systemd-bootx64.efi
├── initramfs-linux.img
├── initramfs-linux-lts.img
├── intel-ucode.img
├── loader
│ ├── entries
│ │ └── endeavouros.conf
│ ├── entries.srel
│ ├── keys
│ ├── loader.conf
│ └── random-seed
├── System Volume Information
├── vmlinuz-linux
└── vmlinuz-linux-lts

57 directories, 157 files

[root@EndeavourOS /]# tree /winefi
/winefi
├── e575685982b34df3b7d31269ba44ff33
│ └── 6.19.14-arch1-1
├── EFI
│ ├── BOOT
│ │ └── BOOTX64.EFI
│ ├── Linux
│ ├── loader
│ │ └── entries
│ ├── Microsoft
│ │ ├── Boot
│ │ │ ├── BCD
│ │ │ ├── BCD.LOG
│ │ │ ├── BCD.LOG1
│ │ │ ├── BCD.LOG2
│ │ │ ├── bg-BG
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── bootmgfw.efi
│ │ │ ├── bootmgr.efi
│ │ │ ├── BOOTSTAT.DAT
│ │ │ ├── boot.stl
│ │ │ ├── CIPolicies
│ │ │ │ └── Active
│ │ │ │ ├── {5DAC656C-21AD-4A02-AB49-649917162E70}.cip
│ │ │ │ ├── {82443e1e-8a39-4b4a-96a8-f40ddc00b9f3}.cip
│ │ │ │ └── {CDD5CB55-DB68-4D71-AA38-3DF2B6473A52}.cip
│ │ │ ├── cs-CZ
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── da-DK
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── de-DE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── el-GR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── en-GB
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── en-US
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── es-ES
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── es-MX
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── et-EE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── fi-FI
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Fonts
│ │ │ │ ├── chs_boot.ttf
│ │ │ │ ├── cht_boot.ttf
│ │ │ │ ├── jpn_boot.ttf
│ │ │ │ ├── kor_boot.ttf
│ │ │ │ ├── malgun_boot.ttf
│ │ │ │ ├── malgunn_boot.ttf
│ │ │ │ ├── meiryo_boot.ttf
│ │ │ │ ├── meiryon_boot.ttf
│ │ │ │ ├── msjh_boot.ttf
│ │ │ │ ├── msjhn_boot.ttf
│ │ │ │ ├── msyh_boot.ttf
│ │ │ │ ├── msyhn_boot.ttf
│ │ │ │ ├── segmono_boot.ttf
│ │ │ │ ├── segoen_slboot.ttf
│ │ │ │ ├── segoe_slboot.ttf
│ │ │ │ └── wgl4_boot.ttf
│ │ │ ├── fr-CA
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── fr-FR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── hr-HR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── hu-HU
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── it-IT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── ja-JP
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── kd_02_10df.dll
│ │ │ ├── kd_02_10ec.dll
│ │ │ ├── kd_02_1137.dll
│ │ │ ├── kd_02_1414.dll
│ │ │ ├── kd_02_14e4.dll
│ │ │ ├── kd_02_15ad.dll
│ │ │ ├── kd_02_15b3.dll
│ │ │ ├── kd_02_1969.dll
│ │ │ ├── kd_02_19a2.dll
│ │ │ ├── kd_02_1af4.dll
│ │ │ ├── kd_02_1d0f.dll
│ │ │ ├── kd_02_8086.dll
│ │ │ ├── kd_07_1415.dll
│ │ │ ├── kd_0C_8086.dll
│ │ │ ├── kdnet_uart16550.dll
│ │ │ ├── kdstub.dll
│ │ │ ├── ko-KR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── lt-LT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── lv-LV
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── memtest.efi
│ │ │ ├── nb-NO
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── nl-NL
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pl-PL
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pt-BR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pt-PT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── qps-ploc
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── qps-plocm
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Resources
│ │ │ │ ├── bootres.dll
│ │ │ │ └── hu-HU
│ │ │ │ └── bootres.dll.mui
│ │ │ ├── ro-RO
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── ru-RU
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── SecureBootRecovery.efi
│ │ │ ├── sk-SK
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sl-SI
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sr-Latn-RS
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sv-SE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── tr-TR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── uk-UA
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── winsipolicy.p7b
│ │ │ ├── zh-CN
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ └── zh-TW
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ └── Recovery
│ │ ├── BCD
│ │ ├── BCD.LOG
│ │ ├── BCD.LOG1
│ │ └── BCD.LOG2
│ └── systemd
│ └── systemd-bootx64.efi
├── loader
│ ├── entries
│ │ └── endeavouros.conf
│ ├── entries.srel
│ ├── keys
│ ├── loader.conf
│ └── random-seed
└── System Volume Information

58 directories, 152 files

Thereotically it boots the winefi and the kernels are on the efi (because the winefi doesn’t have engough space to store the kernel files)

Permit me to say, you seem to have created a complex, complicated, unusual and, well, messy setup.

You seem to mount two different ESPs under your Linux system (one from Linux at /efi and one from windows at /winefi) and you have not only installed systemd-boot’s bootloader and config files on both but also Linux kernels as well:

An outdated kernel. And:

No wonder your system is in a state of total confusion.

Is this the result of what you did to bring it back?

Anyways, If I were you, I would start but not mounting Windows ESP on /winefi to begin with.

Then I would clean up /efi. And try rebuilding things from scratch.

But you didn’t use the command line reinstall-kernels as I gave you before?

I cannot see kernel-install-mkinitcpio in

With no spirit of offense, your boot environment is messed up.

You have to be much more explicit in what information you provide, what you did or didn’t in order to repair your system.

You’re right it’s messed up in many ways. Let’s make things clear.

How it worked:

Using XBOOTLDR the config files were on the windows efi partition and the kernels were on the linux efi partition. When I created this structure last time I did it this way, because when I put everything on the linux efi partition, like it should be, my bios didn’t recognize it and it wasn’t in the boot menu. (I used tutorials, posts and AI during this configuration so that’s how this spaghetti was created.)

What I’ve done:

Before I came here I reinstalled mkinitcpio and regenerated all of systemd-boots files as well, but it didn’t work. And because I don’t know what went wrong, I had to try different methods, but none of them worked (I used google and gemini AI during this procedure)

In the past I struggled a lot with this dual boot system. I want to solve it for life, but I’m kinda new to linux and os configuration especially in this type. That’s why I came here, hoping for someone, who has more experience and knowledge. At this point I’m very confused, and it shouldn’t be that hard so probably there are a lots of problems and mistakes in this config (that’s why it won’t work.) So I’m looking for every possible solutions, how i can clean up this mess, and make my system work for good. If you have any questions or if you need any further information in the future let me know and I will share it with you.

Thank you so much for providing some more information! It surely clarifies things somewhat more.

I do believe that your system can be recuperated. I’ll do what I can to the extent of my knowledge and in case of failure, there are much more advanced users who can chime in and assist you.

So hang in there!

If you could provide the content of /etc/fstab from your Linux system it would give some further insight of your setup.

What is puzling me is:

And:

To my knowledge, in setups like this, you would need a separate partition to be mounted at
/boot and not /efi.

Anyways, please post the content of your /etc/fstab and the output of

sudo blkid

cat /etc/mkinitcpio.d/*

PS.

Are there any special reasons you are using systemd-boot and not Grub?
Grub would make your dual-boot-dual-disk life much easier.

[root@EndeavourOS /]# cat /etc/fstab
# /dev/nvme1n1p3
UUID=12ad4a64-ce21-431d-836c-4dc1b67adb41 / ext4 rw,relatime 0 1

#XBOOTLDR
UUID=5B75-2E68 /boot vfat defaults,nofail 0 0

# /dev/nvme0n1p1
UUID=E6E4-F976 /efi vfat defaults,nofail 0 0

/dev/nvme0n1p3: LABEL="Kingston" BLOCK_SIZE="512" UUID="6202963302960BE3" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="9068d71d-e549-46c9-8a61-56ed7e617e96"
/dev/nvme0n1p1: UUID="E6E4-F976" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="787beec5-8580-4053-a8c3-838c42e697f9"
/dev/nvme0n1p4: BLOCK_SIZE="512" UUID="CED6DCFCD6DCE5AD" TYPE="ntfs" PARTUUID="3d4325a3-4729-4bdb-a099-1743644723e0"
/dev/nvme1n1p2: UUID="5B75-2E68" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="0a9cdd1f-49e7-483f-93f8-060cc393fbcd"
/dev/nvme1n1p3: UUID="12ad4a64-ce21-431d-836c-4dc1b67adb41" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="9254af89-654c-4b48-b493-4be0a6a7d1b0"
/dev/sda1: LABEL="EOS_202604" UUID="18EB-115B" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="Main Data Partition" PARTUUID="aa9c61fb-5ff1-4e3f-9eb6-60800244d946"
/dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="9db3dd7d-a907-412f-a28a-dd67e1dd9364"
/dev/loop0: BLOCK_SIZE="1048576" TYPE="squashfs"

[root@EndeavourOS /]# cat /etc/mkinitcpio.d/*
# mkinitcpio preset file for the 'linux-lts' package

#ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux-lts"
#ALL_kerneldest="/boot/vmlinuz-linux-lts"

PRESETS=('default')
#PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux-lts.img"
#default_uki="/efi/EFI/Linux/arch-linux-lts.efi"
#default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp"

#fallback_config="/etc/mkinitcpio.conf"
#fallback_image="/boot/initramfs-linux-lts-fallback.img"
#fallback_uki="/efi/EFI/Linux/arch-linux-lts-fallback.efi"
#fallback_options="-S autodetect"
# mkinitcpio preset file for the 'linux' package

#ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-linux"
#ALL_kerneldest="/boot/vmlinuz-linux"

PRESETS=('default')
#PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/initramfs-linux.img"
#default_uki="/efi/EFI/Linux/arch-linux.efi"
#default_options="--splash /usr/share/systemd/bootctl/splash-arch.bmp"

#fallback_config="/etc/mkinitcpio.conf"
#fallback_image="/boot/initramfs-linux-fallback.img"
#fallback_uki="/efi/EFI/Linux/arch-linux-fallback.efi"
#fallback_options="-S autodetect"

I’m using systemd-boot, because I wanted to be able to enable secure boot (There are games on windows which need it, and turning it constantly on and off in the bios when I need is not the most convinient opciton.) So I went online and I’ve found that systemd-boot is the best option in the case of dual booting with secure boot constantly being enabled. That’s why I use ssystemd-boot instead of grub. (But I couldn’t make it work yet, even when I followed the tutorials step by step. But that’s the problem for future me. Firstly I want to make my system work again, and properly and then maybe enabling secure boot wouldn’t be that hard either.)

We can take one step at a time so we wouldn’t complicate more the situation.

For your set up with XBOOTLDR to work it needs to have the right partition type (the filesystem vfat is ok).

So let’s check: lsblk -o PARTTYPE /dev/nvme1n1p2

It should show: bc13c2ff-59e6-4262-a352-b275fd6f7172

If that is correct, we can move on to the next step and see if we can make things work with your current setup/scheme.

However, whatever references I have found on ArchWiki with this kind of setups mention that both ESP and XBOOTLDR are on the same disk. Yours are on different disks. Anyways, we can try.

First go into BIOS and make sure Legacy/CSM is disabled so your Live USB boots up only in UEFI mode.

Now with more info, we can set up chroot correctly according to your setup.
In the live session:

sudo mount /dev/nvme1n1p3 /mnt 
sudo mount /dev/nvme0n1p1 /mnt/efi
sudo mount /dev/nvme1n1p2 /mnt/boot
sudo arch-chroot /mnt

In chroot:

Under /efi rename loader directory to loader.bak

Under /boot remove

Now run: mkinitcpio -P to get a fresh set of initramfs and kernel images:

Now edit /boot/loader/entries/endeavouros.conf

It should be:

title EndeavourOS
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=UUID=12ad4a64-ce21-431d-836c-4dc1b67adb41 rw nvidia-drm.modeset=1 loglevel=3 pcie_aspm=of

Make sure the default in /boot/loader/loader.conf is set to endeavouros.conf

Now IF a setup like yours with ESP and XBOOTLDR on two different disks could actually work in practice at all, the only thing remaining is to exit the chroot and reboot.

In case of failure, I’m afraid there may be something structurally incorrect in this setup and we have to redo some things to hopefully make it work.

The parttype shows this instead of what you sent:

[liveuser@eos-2026.04.27 ~]$ lsblk -o PARTTYPE /dev/nvme1n1p2
PARTTYPE
c12a7328-f81f-11d2-ba4b-00a0c93ec93b

That seems like the GUID type code for a regular ESP partition

I got the number I gave you from ArchWiki’s systemd-boot page here:

You would need to change that.

In the live session, check if sgdisk is installed. If not install it.

sudo sgdisk --typecode=2:bc13c2ff-59e6-4262-a352-b275fd6f7172 /dev/nvme1n1

Check again to see if the partition type is correct.

Using sgdisk i changed the partition type, then it was as it shoud be. Then, I’ve done the things you mentioned earlier step by step. But unfortunately it didn’t solve my problem, it’s still not working.

As I mentioned before, the reference I have found for your kind of setup in ArchWiki, mentions that ESP and XBOOTLDR should be on the same disk.

I’m afraid for your setup, I may have come to the end of the rope.

Unless someone else with more experience in this form of setup will step in and assist you, I can only offer you help to do away with XBOOTLDR and use/mount that partition as a regular ESP
at /efi, reinstall the bootloader and reconfigure the configs and see if that would work.

The decision is yours.

I think I’ll give a shot for your recommendation and we’ll see if that would work. The recommendation of using XBOOTLDR came from AI after lots struggling, so it can happen, that it works without XBOOTLDR as well. If that wouldn’t work either I think I’ll clean my entire laptop and redo everything from scratch (it has a few more broken things apart from dual-boot). But first I would give a try to your solution.

Let me know if you need help at any stage.

Also, note that in order to get your initramfs and kernel images int you /efi, you need to edit the files under /etc/mkinitcpio.d/ and change the path to point to /efi:

ALL_kver="/efi/vmlinuz-linux-lts"

Do it for all the files. /boot >> /efi

Also, change back the partition type:

sudo sgdisk --typecode=2:c12a7328-f81f-11d2-ba4b-00a0c93ec93b /dev/nvme1n1

And edit your /etc/fstab:

# /dev/nvme1n1p3 
UUID=12ad4a64-ce21-431d-836c-4dc1b67adb41 / ext4 rw,relatime 0 1 

# /dev/nvme1n1p2 
UUID=5B75-2E68 /efi vfat defaults,nofail 0 0

I would also reinstall the systemd-bootloader and let it create a new path in BIOS.

Use arch-root -S for chrooting.

Check again that everything is correctly configured in /efi/loader/loader.conf and /efi/loader/entries/endeavouros.conf.