Good afternoon, shocked to see how difficult it could be such a common request as having windows and silverblue on the same boot or at least bootable in some ways.
Many people started discussions about this and the answer in never so clear.
I’m not even able to install Silverblue in UEFI mood (The os will not have a boot error), not even eraisng completely all my hard disk, leaving empty space. Quite surprising right?
Now I re-installed SilverBlue via Legacy, maybe it’s easier to add windows after it.
But honestly I’m extremely disappointed. A lot of people had troubles related to this and we still continue.
If you want to use Fedora Atomic Desktops and Windows on one machine, I would personally recommend installing them on separate physical drives and booting one of them from your computer’s EFI/BIOS firmware.
Thank you very much:) what are the motivations that make this so complicated?
Not even chatgpt knows how to fix it and I ended up deleting all my old windows. What if i had MacOS?
Aren’t there developers interested in this? I found many topics from past years on the same problem and I think the user should be helped during the guided installation or at least releasing an official guideline that covers this (I don’t even have bitlocker but maybe some people do, different windows versions etc..)
There are some dual-boot limitations with Silverblue, as mentioned in the docs.
However, dual booting Windows and Silverblue on the same disk is possible, but you would have to allocate distinct /boot/efi and /boot partitions for Fedora (after having installed Windows) via the installer’s custom partitioning, i.e. don’t let Anaconda use the Windows EFI partition.
Then you’d have to select one OS or the other from the UEFI Boot Selection Menu, and not from GRUB.
It’s possible, but I personally wouldn’t suggest it because I think partitioning a single disk becomes kind of a mess. Additionally, switching between Silverblue and Windows from the same physical disk is not quite easy, although it is possible with some additional manipulations. Moreover, BitLocker has become mandatory for Windows 11, although it is possible to turn it off if you are building your own system. You can still use Windows 10, but its support will eventually end when Microsoft decides to stop providing security updates.
From my point of view, all this is not worth the effort, since I can simply attach another disk to the computer.
My experience with dual booting Windows 11 and Fedora Silverblue from the same disk is actually quite fine. Except for the small annoyance that I have to press a key combination at startup when I want to invoke the UEFI Boot Menu for booting the non-default OS, there really are no other issues (mainly as a result of the fact that Windows doesn’t mess up with the EFI partition, being distinct for Fedora) and no tricks needed.
One has to pay attention with partitioning when installing Silverblue though, in order to obtain the right setup.
That is true for desktop computers, but it’s not an acceptable use case for laptops one carries around.
Selecting the OS from the UEFI boot menu as by far the simplest way. However, some UEFI implementations makes this unnecessarily complicated, and in some cases you need to do some secret settings in the UEFI settings to even allowing a non-Windows system to boot.
That could indicate that you have one of the problematic UEFI implementation.
In my opinion, creating distinct EFI partitions for Fedora and Windows is not a trivial nor an easy process and is actually kind of tricky.
In my experience, connecting an external disk and/or USB to SATA/NVMe adapter and attaching a disk to it works for installing and booting Linux or Windows on laptops.
I agree it’s not exactly straightforward. When installing Fedora on a drive with Windows installed, one has to choose custom partitioning, let Anaconda propose the partitions, then remove the efi partition used by Windows from the proposed list and add a new, distinct one for Fedora, after having decreased the size of the proposed root partition accordingly.
That’s what I am also doing when performing some tests. However, if I were to need my laptop outside of my home with both Windows and Fedora installed, then I wouldn’t want to carry around an external drive.
As Atomic Desktops become more popular and questions about dual booting with Windows are likely to be asked more frequently in the future, I’m starting to consider writing an unofficial guide to the procedure. If you and other folks think such a guide would be useful, we can collaborate on writing and testing it. We can then publish it somewhere, explicitly stating that it is not official nor supported by the Fedora project.
Yeah, I am aware of this issue, as mentioned in the official Fedora Silverblue documentation, along with all the notes regarding dual booting and manual partitioning. However, folks still want to dual boot Windows on the same disk, which is understandable.
I think a dual boot guide should be comprehensive and contain screenshots of Anaconda with the Windows partitions etc., as is in the official Fedora Silverblue documentation. Unfortunately, I won’t be able to start writing and testing it until at least next week or so.
To make sure the workaround is still working, I’ve just run a test in a VM: fresh install of Silverblue on the same disk as another OS. These are roughly the steps to be taken:
Make unallocated free space available on the existing drive for the new OS, using the available tooling (e.g. Fedora Workstation ISO booted into a live environment)[1];
Boot the Fedora Silverblue (or another Fedora Atomic) installation media;
In the Installation Destination window, select the Custom option for Storage Configuration. Press Done;
In the Manual partitioning window, click the option to create the mount points automatically (Click here to create them automatically);
The installer will propose the mount points. Among them there is the /boot/efi mount point, referencing the existing EFI partition used by the other OS. Remove this mount point with the “-” button;
Select the root partition, press Modify, change the Size policy to Fixed, and enter a value about 1GiB smaller then the proposed value. Save;
With the “+” sign, add a new mount point /boot/efi, with desired capacity up to but no more than 1024MiB (the system proposes by default 977MiB).
Press Done in the top left of the window. A Summary of Changes will be displayed. Accept the changes;
Proceed with the installation;
After Silverblue gets installed, select the non-default boot OS by accessing the UEFI Boot Manager.
Feel free to use whatever you find useful from the above in your guide.
Free space can also be obtained directly within Anaconda, by choosing the Blivet-GUI storage configuration, but that would keep the storage setup in the Blivet interface, which needs manual allocation of the partitions. ↩︎