I’ve been dualbooting for over a year now. Made sure each system has its own separate drive. I’ve noticed that every time I had to reinstall Linux, my windows boot entry is gone and then I can’t access it no matter what I tried. Turned out installing Linux first then windows was my mistake. When installing windows while there is a Linux install, windows will see the EFI partition already there and just decides to share it, and doesn’t create its own.
I found that out by accident while I was in windows’ storage management. There was no efi partition. Took a whole day to find out how to create one on the same drive where windows is installed and removing the one it created on the Linux partition. It was so painful.
Bottomline, install windows first if you want to dualboot. After that, even if windows takes over the boot after an update, all it does is resets the boot sequence and makes it default to it. You’d just need to access the bios and reset the sequence to prioritize Linux. That’s it
When installing windows while there is a Linux install, windows will see the EFI partition already there and just decides to share it, and doesn’t create its own.
That’s what it’s supposed to do, it’s a plain FAT32 partition, the bootloaders are just files you put in there.
Part of the issue is that while a well-made motherboard will look for all bootloaders on the partition and present them as options in the firmware UI, bad ones will only look for a specific file (\EFI\BOOT\BOOTX64.EFI) and use that. For an OS to have a chance of booting on those boards it has to overwrite that file, blowing away whatever other bootloader was there before.
It’s annoying, since Windows is mostly well behaved here (It puts the main copy of the bootloader at \EFI\Microsoft\Boot\bootmgfw.efi and Linux bootloaders can see that and offer it, the reverse isn’t true) and can co-exist with Linux well (Well…), but manufacturers cutting corners causes more problems for everybody.
The \EFI\BOOT\BOOTX64.EFI is the only file the UEFI standard says it is required automatically lookup from an EFI system partition. There can many EFI partitions but the UEFI is only required to find a single file per such a partition.
efibootmgr -u can show all bios auto created boot entries (don’t touch those, the bios can/will reset them at whim) and the manually created entries that don’t launch a BOOTX64.EFI named file.
Wow, damn. I didn’t know the motherboard can have a hand in this. Stupid gigabyte then. I hope this time, windows stays in its lane if I ever had to reinstall Linux. Thank you for the explanation, btw. Much appreciated
I’d double check, if you haven’t picked an option specifically it might just default to the fallback (i.e. BOOTX64) It’ll be under the boot device order section.
(Not my picture, stole it from Reddit)
Here it’s listing all the possible boot options this mobo can find, but there’s a generic “UEFI OS” option which I’d bet is the fallback. And once a choice is made it’s kept unless something resets it, so if it just happened to be set to the fallback once it’ll stick with that until a change is forced.
There WAS something weird that had a UEFI word in it, but choosing it shows nothing. I’d go over all the menu choices I see one by one and none of them takes me to windows. It was very annoying, all good now since I separated them. Next time this happens I’ll just ask on the Linux community. Hopefully you’ll pop up there and help. 😅
Maybe I’m fucking cursed. I did absolutely nothing out of the ordinary. Installed Linux on a drive. Installed windows on another. Set the boot sequence in the BIOS to Linux. Installed osprober and ran it. The only different thing I have is the windows iso I use is stripped down using Chris Titus’ windows debloat script, and that one shouldn’t mess with anything as far as I know. It only debloats windows.
sometimes you do, sometimes you don’t. Different updates will break different things for different machines. Some people are blessed by Bill Gates himself, and never have to re-fix their shit. Others are cursed and have to fix random shit unrelated to the update every fucking update.
I can’t prove it, but I think microsoft does this on purpose so that some people will enthusiastically share their positive experiences with windows while everyone else gets shat on.
As long as you do what I mentioned in my comment, you’ll mostly be fine. Worst thing that could happen is a windows feature update resetting the boot sequence to itself only. It’s been a breeze.
I’ve been dualbooting for over a year now. Made sure each system has its own separate drive. I’ve noticed that every time I had to reinstall Linux, my windows boot entry is gone and then I can’t access it no matter what I tried. Turned out installing Linux first then windows was my mistake. When installing windows while there is a Linux install, windows will see the EFI partition already there and just decides to share it, and doesn’t create its own.
I found that out by accident while I was in windows’ storage management. There was no efi partition. Took a whole day to find out how to create one on the same drive where windows is installed and removing the one it created on the Linux partition. It was so painful.
Bottomline, install windows first if you want to dualboot. After that, even if windows takes over the boot after an update, all it does is resets the boot sequence and makes it default to it. You’d just need to access the bios and reset the sequence to prioritize Linux. That’s it
That’s what it’s supposed to do, it’s a plain FAT32 partition, the bootloaders are just files you put in there.
Part of the issue is that while a well-made motherboard will look for all bootloaders on the partition and present them as options in the firmware UI, bad ones will only look for a specific file (
\EFI\BOOT\BOOTX64.EFI
) and use that. For an OS to have a chance of booting on those boards it has to overwrite that file, blowing away whatever other bootloader was there before.It’s annoying, since Windows is mostly well behaved here (It puts the main copy of the bootloader at
\EFI\Microsoft\Boot\bootmgfw.efi
and Linux bootloaders can see that and offer it, the reverse isn’t true) and can co-exist with Linux well (Well…), but manufacturers cutting corners causes more problems for everybody.The
\EFI\BOOT\BOOTX64.EFI
is the only file the UEFI standard says it is required automatically lookup from an EFI system partition. There can many EFI partitions but the UEFI is only required to find a single file per such a partition.efibootmgr -u
can show all bios auto created boot entries (don’t touch those, the bios can/will reset them at whim) and the manually created entries that don’t launch a BOOTX64.EFI named file.Wow, damn. I didn’t know the motherboard can have a hand in this. Stupid gigabyte then. I hope this time, windows stays in its lane if I ever had to reinstall Linux. Thank you for the explanation, btw. Much appreciated
I’d double check, if you haven’t picked an option specifically it might just default to the fallback (i.e. BOOTX64) It’ll be under the boot device order section.
Here it’s listing all the possible boot options this mobo can find, but there’s a generic “UEFI OS” option which I’d bet is the fallback. And once a choice is made it’s kept unless something resets it, so if it just happened to be set to the fallback once it’ll stick with that until a change is forced.
There WAS something weird that had a UEFI word in it, but choosing it shows nothing. I’d go over all the menu choices I see one by one and none of them takes me to windows. It was very annoying, all good now since I separated them. Next time this happens I’ll just ask on the Linux community. Hopefully you’ll pop up there and help. 😅
Ahhh, so that’s why I’ve never had any issues with my linux first windows 10 second setup.
I have genuinely never had this issue while dual booting and I’m very confused as to why
Maybe I’m fucking cursed. I did absolutely nothing out of the ordinary. Installed Linux on a drive. Installed windows on another. Set the boot sequence in the BIOS to Linux. Installed osprober and ran it. The only different thing I have is the windows iso I use is stripped down using Chris Titus’ windows debloat script, and that one shouldn’t mess with anything as far as I know. It only debloats windows.
Tbh I think I’m just lucky because this seems like a really common issue
Don’t jynx it. Lmao
oh good to hear. I heard about windows doing jank stuff on update recently and was really worried I’d have to fight with it soon.
sometimes you do, sometimes you don’t. Different updates will break different things for different machines. Some people are blessed by Bill Gates himself, and never have to re-fix their shit. Others are cursed and have to fix random shit unrelated to the update every fucking update.
I can’t prove it, but I think microsoft does this on purpose so that some people will enthusiastically share their positive experiences with windows while everyone else gets shat on.
As long as you do what I mentioned in my comment, you’ll mostly be fine. Worst thing that could happen is a windows feature update resetting the boot sequence to itself only. It’s been a breeze.