The thing is I’m currently trying to work around a potential quirk in the UEFI BIOS of my motherboard, where it appears to be trying to keep Windows Boot Manager as the first boot option in a rather hacky way.
If I change the boot order to boot something else first, and then actually booted it, like Manjaro GRUB, the BIOS would silently remove the Windows Boot Manager entry from the boot options. This does not have any apparent effect, except that since Windows Boot Manager is now gone from UEFI BIOS boot options, it has to be chainloaded from another place (like Manjaro GRUB or rEFInd).
If I at one point booted Windows again, regardless of where I booted it from (be it Manjaro GRUB or rEFInd), the BIOS would silently reinstate Windows Boot Manager as the first boot option so subsequent boots will go to Windows automatically.
I’ve already disabled things like Fast Boot (due to the use of ImDisk RamDisk) so one can rule out that be the cause of the issue.
For now I ended up renaming
/EFI/Microsoft folder to something else like
/EFI/Windoze as this would make Windows Boot Manager permanently disappear from the UEFI BIOS boot options so it would not be able to do its dirty tricks. This does have side effects. Namely, rEFInd and Manjaro GRUB (os_prober) could no longer detect the presence of Windows Boot Manager anymore. I could, however, copy the previously generated Windows boot option to 40_custom and point to the new path and confirmed this way works and I could boot Windows again. However, this means I can only boot this from Manjaro GRUB, and I’ll need to manually update the boot option in case anything vital got changed in the future…
I’m not sure what’s really causing the boot order issue in the UEFI BIOS, but I’m still looking for a better solution. From what I read, on some systems (like some HP laptops), renaming Windows boot manager was mandatory to get something other than Windows to boot.
By the way, does anyone here have experience with Quibble? I’m interested in using that to replace Windows’ original boot manager but I’m not sure whether os_prober or rEFInd could pick it up, and whether it’ll still work on a NTFS partition (Quibble was said to be used for booting Windows on Btrfs).
I’m not really confident about converting the system partition to Btrfs, due to a past experience while I was on vanilla Arch (about 4 years ago), where after converting to btrfs from ext4, the home partition became very unstable that it constantly entered a read-only state that I ended up backing up the contents and formatting the home partition with a fresh btrfs partition to get the issue fixed.