I’ve almost filled a dual boot SSD and I’ve got an NVME drive sitting there waiting to be installed and I haven’t done it yet because I wanted to move just the Linux partitions onto the NVME and leave the windows on the SATA SSD and its just complicated enough and fraught with just enough danger that it’s not fun.
For the life of me I’ve no idea why, I literally can’t remember the last time I booted into windows, certainly not since the last shenanigans with fusion 360.
High time to get rid of Windows, then.
I have in fact never had or seen this problem, and I’m quite bewildered by so many people having it. Do your normal windows updates do it? Or transition between major Windows versions? Or is it just a Win 11 problem?
I’ve pretty much always used a dual boot Win/Linux laptop, since around Vista, and I’m on 10 now (but only use it for a few games; all important things in Linux).
I’m not sure how it is now, but when I was still dual booting I had the same problem until I got a separate drive for Linux instead of just using different partitions of the same drive.
Do your normal windows updates do it?
They can. As Windows does updates it typically checks to make sure everything is working. This includes making sure it will boot after an update.
Or transition between major Windows versions?
If it’s not a feature enablement update, then yes it can happen. In place upgrades actually reinstall Windows. This includes boot.
Or is it just a Win 11 problem?
Happens with 8, 10 and 11. Since these are UEFI compatible.
The problem starts with how you install. If you do Windows first and then Linux when sharing an EFI partition, Windows doesn’t like this. A feature of Windows is PCR7. Since Secure Boot is a requirement now for Windows 11, this is more of a problem than it was. PCR7 binding happens when the entire boot chain has been authenticated using Microsoft’s CA. This can interfere with BitLocker automatic encryption for Home. If it’s already been enabled before you install Linux, you could lock yourself out of the Windows install if you don’t know where to retrieve your recovery key. People typically install Windows first and then Linux because majority of Linux installers are smart. They detect Windows and create an entry so as to preserve booting.
When an update or upgrade takes place and Windows does its checks, it may decide “I don’t like this EFI configuration” and then completely “repair” it. Not realising that it was that way on purpose.
The solution I’ve found is to manually create boot files for each, and then use rEFInd. Writing a manual configuration that simply loads the bootloaders on the Linux and Windows partition. That way neither are aware of the other.
So I’m a recent Linux user (as I created a duelbooting system this week for the first time) and I did as you said in this comment and downloaded rEFInd. Is that all you have to do or is there more to the part “manually create boot files for each”? If so would you mind giving me a brief rundown on how to do the same?
I installed Windows and Linux via command line from their installers. I did Windows first, then Linux. Each OS has its own SSD (This is where I manually created boot files for each). I booted into Windows to complete the install then did the same for Linux. Once that was done, while still in Linux, I created an EFI partition on a shared data drive. I placed refind on that and configured it. With all of that complete, I boot into firmware settings and set refind as the default.
For this to work without issue, you need at least two drives. I have three to make it even easier.
If Windows and Linux share the same drive, set up a manual partition layout with two EFI partitions. You’ll end up with this:
EFI || EFI || WinRe || Windows || Linux
The first EFI partition is for Windows, and the second is for Linux. Complete the OS installs and use a second drive for a third EFI partition to set up refind. Again, configuring it and then setting it as the default.
Thank you for the reply. This won’t work for me because I’m stuck duelbooting from a single SSD on a laptop. But maybe it can help someone else that stumbles on it.
I’ve not tried it, but you can do three EFI partitions on the same drive. There’s no real limit to how many EFI partitions you can have. The key here is to keep Windows and Linux boot files separate at all times. If they share the same EFI, then Windows will undoubtedly break it at some point. Having refind as the default just makes it easier to choose which OS you want. Rather than relying on Windows Boot Manager or Grub. Of course to do all this you need to wipe the disk to set up the layout.
Usually people have issues with this when they don’t create the partition free space for the linux partition inside windows first
Ah, that could be it. It’s a long time since I used to resize Windows from Linux; now on a new laptop I always (…I think?!) resize from Windows to make space, unless it’s a friend’s laptop with extra D/E/etc partitions I can delete or resize one.
Windows update went way further than deleting Grub on my laptop. It completely wiped my Linux partition, and I’m not alone in having Microsoft blow up my system:
I’ve never seen it with EFI. Used to happen with the old MBR disk format & BIOS, but with GPT disks and UEFI it leaves the ESP alone and the EFI picks the bootloader to use from that.
perfect
I don’t even use Linux but this meme is hilarious
Image Transcription: Meme
[An image of King Charles III stealing a wheel from a wheelchair. A person on the wheelchair is angry. They are labeled as such:]
King Charles: Windows Update
Wheel being stolen: UEFI Boot partition
Person on wheelchair: Linux
I am a human volunteer who transcribes posts to improve accessibility on programming.dev and you could be one too! [email protected]
I had to set up Grub2Win in order for these shenanigans to stop. Never had problems with dual booting again afterwards
For others who were interested in this like I was.
Be aware that systems with secure boot enabled are not supported and the author has stated will likely never be supported due to the hassle of getting it signed by a trusted authority.
not a huge issue but, still an annoyance
To be fair, Secure Boot is actively hostile toward dual-booting in the first place. Worst of all, it might seem to work for a while then suddenly start causing errors sometime later.
Yeah, I was just more so saying it because a lot of the larger distributions are trusted so you can use secure boot, so if you go into that expecting your OS will be supported and then find out post fact it is not might cause a surprise
This is the truest meme I’ve ever seen.
This just happened to me on my laptop like a week ago. I can still Systemd boot into Pop!_Os so I haven’t looked into fixing it yet.
You just need to boot from a live USB, chroot into the OS, and rebuild the boot sector. Pop has a great document on how to do it. It takes maybe 5 minutes.
Thanks! I assume this is the guide? I’ll have to try this out this weekend. I had looked at this earlier but moved on when it started mentioning grub since I use refind boot loader. Probably the same process nonetheless!
Yup! That’s the one. I think you can just do the grub install and then boot in and run refind. Idk though, I’ve never used refind.
This is why I stopped dual-booting
I’m a bit offended by Linux beeing in a wheelchair, implying it can’t run, even if one wheel wasn’t stolen 😤
Instead, it should be 8 legged and run the web 😉
I agree. I won’t lie: it’s a stolen meme too. I’m the worst!
Oh that’s why my Linux instance suddenly stopped working. I will have to look into this
This is what made me switch to Linux full-time. I’m not surprised this is still a thing 10+ years later
Can Linux not boot from UEFI boards then?
Linux boots fine under UEFI but windows tends to break/destroy alternative OS partitions.
Wilfried Just protects the user from accidentally selecting the wrong bootloader by conveniently removing them.
It absolutely can.
As a new duel booting Linux user this meme has instilled a fear in me I didn’t need
That’s why you should only have a Linux partition. Most things Windows cam be done with WINE, Proton, or, in absolute necessity, a VM.
I have exactly one program i need and that just won’t run in Linux. It’s the proprietary scan software that came with my scanner. It lives on a Windows VM and only gets fired up once a week.