Hello! Long time Linux user, first time Bazzite user here!
I’m replacing a Windows 10 gaming PC, but because I mostly game with friends I want to leave some of the games on Windows and dual-boot just in case I run into compatibility issues and want to flip back quickly. So I tried to set things up in a dual-boot situation where I repartitioned the existing drive.
But! I ran into a ton of trouble, where there wasn’t a grub menu no matter what I did with ujust configure-grub, and even if I hacked around to get menu there I couldn’t get Windows to appear in it, even with os-prober and ujust regenerate-grub, which was what all the guides kept linking to. The whole thing was very very confusing, and I was worried I’d completely blown up my Windows partition.
But! It turns out what actually happened was that my BIOS is a bit confusing, and offers both UEFI and Compatibility Support Module (CSM) which allows it to boot in traditional mode. And when I was changing things around to get it to boot into my USB key, I appear to have set it up to boot my USB key in CSM mode, not UEFI, which I didn’t even know was a thing it did.
This, it turns out, causes a lot of problems. Because now the installer builds a traditional booting system, but the EFI boot partitions are still there, and it seems like none of the ujust commands detect this, but none of them do the right thing anymore either. Once I figured this out, I disabled CSM but my disk was no longer bootable at all. I have quite a bit of Linux knowledge, but this interaction between BIOS and Boot put me right at my limit, and I couldn’t figure how to fix this besides just reinstalling Bazzite from scratch, with CSM disabled, and booting into the USB key a second time in this state.
From there I was able to blow away the original Bazzite partition and re-install on top, and everything worked fine. From this state I could run ujust regenerate-grub and it detected Windows right away and everything worked great. I had only setup Bazzite the day before, so all I lost was 24h of time and I had to log-in to a few things again and redownload a game or two, but if I hadn’t found this right away this might have been really bad.
Anyway! All of that is justification for why I’m here now. I think as a distro that’s trying to be user-friendly for gamers / Windows Refugees, I think this is a massive foot-gun that could be disarmed. I’ve seen a few conversations on Reddit, this forum, and GitHub that seem to be mysterious “I can’t get Windows to dual-boot” and end with no resolution. I wonder how many of them are actually this, but the new users don’t have the capability to debug bios boot issues, nor the patience for “this should work goddammit” ![]()
Anyway, I was wondering if it would be possible to add a detection for this situation to ujust, or even better the installer itself. If the installer sees it’s got a disk that’s setup for UEFI, but there isn’t a /sys/firmware/efi, then it knows this is an EFI system that’s booted traditionally, and can pop up a warning being like “Hey, just so you know you probably booted this USB key wrong. Here’s some docs on how to change your BIOS to do the right thing and restart, or if you really really think you know what you’re doing, click this to continue”. Also the install could end with the equivalent of ujust regenerate-grub so Windows is in the list automatically, because why does a user have to regenerate grub on their fresh install, I just setup grub, why is it wrong? ![]()
Anyway, besides that I’m having fun trying this new system out, and I want it to be as seamless as possible for new users. Thanks!