This tutorial will illustrate how to set up a dual boot Pop!OS + Windows 10/11 system very easily, without losing much disk space or installing not officially supported alternative boot loaders like GRUB or rEFInd.
The main issue with dual booting Pop!OS and Windows is that unlike most other distributions, Pop!OS uses the systemd-boot bootloader, which in its default configuration does not support loading kernels from partitions other than the EFI partition. Thus, Pop!OS requires the EFI partition to be at least 500 MiB in size, whereas the size of the EFI partition created during the installation of Windows is just 100 MiB. This would suffice for GRUB or rEFInd, since these bootloaders are able to load the kernel from the root partition, but not for systemd-boot. In this guide, we will perform a customized Windows installation with an enlarged EFI partition, and use that for a 100% default Pop!OS installation.
WARNING : this will not work on already existing installations of Windows or Pop!OS, you will have to install both from scratch.
- Start a regular Windows install. Once you get to the screen where you choose between "Recommended" and "Custom" install, press Shift + F10 to enter command prompt. Start the
diskpart
utility. WARNING: the usual Linux disk utilities don't write any changes to disk until you've finished setting it up.diskpart
writes every command to disk immediately. Be very careful while usingdiskpart
, you can very easily lose data:
diskpart
List the connected drives:
list disk
Find the drive you want to use as boot drive and select it:
select disk N
Create the enlarged EFI partition:
create partition efi size=500
Create a regular MSR partition:
create partition msr size=16
Finally, create a primary partition of desired size (in MiB, not MB):
create partition primary size=XXXXX
Exit the utility and the command prompt:
exit
exit
Continue the installation by selecting the "Custom" option, then select the primary partition you just created. The Windows installation will continue normally. Finish installing Windows.
- Boot into the Pop!OS installer. When you get to the choice between a "Recommended" and "Custom" installation, select "Custom".
Create an appropriately sized swap partition (same size as your system's RAM) and a root partition with a filesystem of your choice.
After creating the partitions, select the Windows EFI partition and mount it at /boot
. Select the swap partition. Then select the root partition and mount it at /
. Continue the installation normally.
- After booting into Pop!OS, edit the
/boot/efi/loader/loader.conf
file and make it look like this:
default Pop_OS-current
timeout 5
console-mode max
editor no
- Reboot. Now, at boot you will have 5 seconds to choose to boot into Windows instead of Pop!OS.
Hello,
After installing Windows and when installing POP OS I got stuck.
I need to change the EFI partition size to 1000.
Thank you in advance.