Assistance with UEFI dualboot?

I want to dualboot Windows with Qubes and require some help to ensure none of my data will be erased. I have partitioned my drive in Windows and left 200gb of unallocated space. I booted into Qubes installer and chose manual partioning and then let Qubes create the mount points automatically.

Qubes installer created a /boot, swap, /boot/efi and / (qubes_dom0-root). These mount points do not add up to 200GB, will I still have 200GB available for use in QubesOS?

Underneath these mount points there is an “unknown” header that has all the windows partitions. The windows partition, however, has the same “/boot/efi” as the mount point Qubes installer created. Is this a problem and could it result in me being unable to boot windows?

The main thing I am trying to avoid is losing any data on the windows partition or being unable to boot into windows. Are any of the concerns I mentioned above valid or should I just continue with the installation?

1 Like

Qubes OS installer should’ve allocated all the free space. There should be info at the bottom about free space available. If no free space available then Qubes OS will use all of these 200 GB.

Qubes OS can use the same EFI System partition as Windows, just make sure that you don’t select option to format the partition in the installer. I think this option is deselected by default.
Also the Windows creates EFI System partition with 100 MB size by default and it won’t be enough for Qubes OS usage, so you should resize the EFI System partition and make it e.g. 512 MB.
If you don’t resize this partition then you’ll have this issue:

You can use gparted Live to do this:
GParted -- Live CD/USB/PXE/HD
Resize the EFI System partition before installing Qubes OS.

2 Likes

Thanks for this! Do you have any recommendations for software to create a bootable system image of Windows onto a USB for backup purposes?

1 Like

I’d try to use dd to clone the disk from some Linux OS (e.g. gparted). Not sure if it’ll work for Windows (though I think it should), but you can try.

1 Like

Do you have any other methods to do this other than gparted Live? gparted does not work for me and throws multiple ACPI BIOS errors. One other solution would be to create a new EFI parition and set windows to recognize the new one. This seems like too much of a hassle though and I would rather avoid doing that.

1 Like

You can try to use some other Live Linux OS (debian/fedora/etc) and install gparted package there.

2 Likes

Thank you, that worked!

As reference for anyone who might encounter this thread: There was an un-movable 16MB Microsoft Reserved Partition (MSR) between the EFI partition and my unallocated free space. To be able to move this MSR partition, I had to run reagentc /disable in a command prompt with administrator access in Windows before booting into my Live Linux OS and using gparted. Be sure to run reagentc /enable in Windows after you finish partitioning your drives.

Addition I’d like to make. GParted refused to resize my EFI partition and threw an error. I looked up the issue in the Gparted issue tracker and it seemed to be a fundamental issue with how the EFI partition is formatted (FAT32) which makes it impossible for Gparted to resize the EFI partition (at least when it is sized at 100mb). I ended up deleting my entire windows installation and manually creating a 512mb EFI partition along with creating all the other partitions. Obviously this was not ideal and had a huge learning curve but if anyone is facing a similar issue with their EFI parition and is willing to go down this route; I am willing to write down all the steps I took. Before this step I also tried to create another EFI parition and copy files from the old to the new one. This involved a lot of moving partitions around and ended up breaking administrator privileges on my Windows user. At that point, it was just easier to re-install. (I tried all the troubleshooting steps online before ultimately reinstalling)

Maybe it’s because the UUID of the EFI System partition changed and you need to change the UUID of the new EFI System partition to be the same as the old one.

I was aware of the fact that the GUID of both EFI partitions had to be the same, but not that the UUID had to be the same as well. This possibly may have been the reason that things broke but I cannot test this. Judging by the fact that I spent literal hours researching how to clone the EFI partition properly and saw no mention of having the UUID be the same enforces the fact that this process has many moving parts where things can go wrong and generally isn’t worth it. I’d recommend a Windows reinstall and manual partitioning any day over the headaches I went through with other methods.

ive used dualboot for windows/qubes setup.

I recommend gparted to allocate proper disk space and move around partitions. The best method that worked for me is to install gparted on a usb stick and boot from usb.

I also recommend refind tool to manage which OS you’d like to boot. Its a convenient GUI to have. Whenever i do uefi/bios updates, it clears the boot options so i dont see qubes anymore…

to find it and restore it back to pre- bios updates, i’ve used the tool easyuefi. Theres probably a way to do this manually via terminal but it was really confusing. This tool helped a lot