A bit off-topic, but Windows changes boot order for Windows first every time you boot for Windows. This is so annoying when you are regularly booting to different OS.
The fix for this used to be that you'd just install the systems on different physical drives. Changing their boot order in Bios during install so Windows is going on the primary/boot disk. You then swap them back and update grub on your Linux side. When you use grub to boot windows it temporarily re-maps the drives before booting so that windows thinks it's the only OS on the primary drive and is happy without touching your grub setup on the 'real' primary drive.
On the other hand, having dualboot with Linux on my ThinkPad T490s managed to break my bitlocker on the windows partition every time Linux updated. Not sure why, as I really needed Windows for work I had to revert and didn't have enough time to really investigate.
Entering the recovery key is enough but the problem is my work uses software to rotate the recovery key and the last time the stored key didn't work. Probably it was just rotated but not updated in the system yet. So I had to restore fully and I removed Linux.
You might have used the same EFI partition for both, which is always unsafe.
In the future, better make own EFI partition for every OS unless you manually define directory hierarchy.
I did indeed. I thought it was OK to do that. I noticed they both made their own directory in the EFI partition. And it was what Ubuntu's installer did by default when it detected windows.
Good to know, thanks! To be honest in this day & age of virtualisation I hardly ever dual-boot anymore.
Haven't been following PCs for a while, is this now something that an OS can do? I've always assumed that boot order is a BIOS setting that's only accessible from the BIOS setup text mode thing.
Windows modifies UEFI settings on runtime. There is an API for that. Even setting password for BIOS/UEFI won’t prevent that as machine has been booted already.
Yes, under EFI the OS can set the boot order; you can do it yourself with the "efibootmgr" command on Linux. This is used for instance by fwupd to install firmware updates (it temporarily changes the boot order to boot into a firmware update loader).