You are not logged in.
Heyo.
I am using a dual-boot setup with Windows 11 and Arch Linux on the same disk. My motherboard is a GIGABYTE AORUS B450 V2.
```
nvme0n1
├─nvme0n1p1 259:1 0 16M 0 part (Windows)
├─nvme0n1p2 259:2 0 318.6G 0 part (Windows root)
├─nvme0n1p3 259:3 0 686M 0 part (Windows)
├─nvme0n1p5 259:4 0 256M 0 part /efi (esp)
├─nvme0n1p6 259:5 0 144.3G 0 part / (arch root)
└─nvme0n1p7 259:6 0 2G 0 part /boot (arch boot)
```
When switching from GRUB to systemd-boot, I had to reinstall the ESP partition (nvme0n1p5) from scratch. I restored the Windows bootloader using a Windows installation USB and then ran:
`bootctl --esp-path=/efi --boot-path=/boot install`
When using systemd-boot → Arch, everything works reliably. However, when I select systemd-boot → Windows 11 and reboot, **Linux Boot Manager disappears from the list of available boot entries**. I can restore it using an Arch Linux live USB by reinstalling it with the command above or with:
```
efibootmgr --create \
--disk /dev/nvme0n1 \
--part 5 \
--loader '\EFI\systemd\systemd-bootx64.efi' \
--label "Linux Boot Manager" \
--unicode
```
I have read many articles about Windows cleaning or overwriting NVRAM. I tried:
* changing the boot order with `efibootmgr -o XXXX,YYYY`,
* setting Windows Boot Manager as the first entry in `efibootmgr` and marking it inactive with `efibootmgr -b XXXX -A`.
In all cases, Windows dominated: it removed Linux Boot Manager from NVRAM and left only Windows Boot Manager.
**Question:** has anyone solved this problem? What else can I try?
Offline
No, Windows does not do this, your firmware does. The theory is that other entries are only there for rescue, and as soon as Windows boots successfully, it removes those other entries. The best option is usually to boot the fallback (ie, just tell the system to boot the disk instead of a specific binary).
Offline
Thanks for your answer.
So, what can i do? Forget about UEFI?
This worked before I clear and restore ESP...
Offline