2 separate bootloader partitions. Grub launches the windows bootloader on a different partition so it isn’t aware of anything other than itself. Then the 2nd bootloader actually launches windows. Don’t try to share one partition or else windows will inevitably wind up clobbering the Linux loader.
This assumes windows is not maliciously checking for other bootloaders in order to fuck with them, which I’m not willing to give MS the benefit of the doubt on tbh.
If you have two EFI partitions, Windows will stop looking once it finds the first one.
Which is actually a problem sometimes, as it will stop looking and use the first one it finds, even if it’s on different drive than windows.
Imagine installing windows on a machine with two drives. Drive A already has an OS and an EFI partition, so you install Windows to drive B.
Except Windows will still go ahead and drop the bootloader onto drive A. Potentially breaking the OS that’s there, plus setting up Windows in such a way that it requires drive A to boot. EVEN THOUGH THAT ISN’T WHERE YOU INSTALLED IT.
This is why guides tell you to install windows with only one drive connected. It’s the only way to ensure it puts the bootloader and OS on the same drive.
I have found that removing the EFI flag from the partition also works.
I just choose which is easier, since removing some nvme SSDs can be buried under a few components depending on the motherboard
This is the way. I just discovered this, but the lazy way. If I want windows, I mash f8 on startup to get the manual boot selection. I never start windows through grub (systemd-boot in my case). It has its own EFI partition.
Then Windows will fuck up the EFI entry itself. Easy to fix of course but a pain in the ass when you are just starting with Linux and have barely any idea other than reinstalling for the 10th time in a few weeks.
Grub refers to this as chainloading and I did it years ago successfully (though with windows 10). Everything has to be EFI boot so grub can see the windows bootloader.
2 separate bootloader partitions. Grub launches the windows bootloader on a different partition so it isn’t aware of anything other than itself. Then the 2nd bootloader actually launches windows. Don’t try to share one partition or else windows will inevitably wind up clobbering the Linux loader.
This assumes windows is not maliciously checking for other bootloaders in order to fuck with them, which I’m not willing to give MS the benefit of the doubt on tbh.
It does work.
If you have two EFI partitions, Windows will stop looking once it finds the first one.
Which is actually a problem sometimes, as it will stop looking and use the first one it finds, even if it’s on different drive than windows.
Imagine installing windows on a machine with two drives. Drive A already has an OS and an EFI partition, so you install Windows to drive B.
Except Windows will still go ahead and drop the bootloader onto drive A. Potentially breaking the OS that’s there, plus setting up Windows in such a way that it requires drive A to boot. EVEN THOUGH THAT ISN’T WHERE YOU INSTALLED IT.
This is why guides tell you to install windows with only one drive connected. It’s the only way to ensure it puts the bootloader and OS on the same drive.
I have found that removing the EFI flag from the partition also works. I just choose which is easier, since removing some nvme SSDs can be buried under a few components depending on the motherboard
Windows will know, its lik a cancer
This is the way. I just discovered this, but the lazy way. If I want windows, I mash f8 on startup to get the manual boot selection. I never start windows through grub (systemd-boot in my case). It has its own EFI partition.
Then Windows will fuck up the EFI entry itself. Easy to fix of course but a pain in the ass when you are just starting with Linux and have barely any idea other than reinstalling for the 10th time in a few weeks.
Grub refers to this as chainloading and I did it years ago successfully (though with windows 10). Everything has to be EFI boot so grub can see the windows bootloader.