Welcome to the comprehensive guide on setting up Dual Boot Windows and Pop!_OS. Whether you're a Linux enthusiast looking to explore the world of Pop!_OS or a Windows user who wants to dip your toes into the open-source ecosystem, this guide is here to assist you every step of the way. In this guide, we will walk you through the step-by-step process of setting up a dual-boot configuration with Windows 10 and the latest release of Pop!_OS, version 22.04.
Dual-booting Pop!_OS and Windows allows you to have both operating systems on your computer, granting you the flexibility to switch between the two based on your specific needs. You'll be able to utilize the power and customization of Pop!_OS for your development, creative work, or privacy concerns, while still having access to the extensive software library and familiarity of Windows.
In this guide, we'll cover everything you need to know, from preparing your system for the Pop!_OS and Windows dual-boot setup. Before getting started, allow me to list a few key advantages for having Dual boot Pop!_OS with Windows.
Table of Contents
Advantages of Dual Booting Windows and Pop!_OS
Dual booting Pop!_OS and Windows offers several advantages. Here are some key benefits of setting up a dual-boot configuration:
- Compatibility and versatility: Dual booting allows you to have both Pop!_OS and Windows on the same machine, providing compatibility with a wide range of software and applications. You can leverage the extensive software libraries available for Windows while also utilizing the power and flexibility of the Linux ecosystem offered by Pop!_OS.
- Workflow flexibility: Having both operating systems at your disposal enables you to switch between them based on your specific needs. You can utilize Windows for tasks that require specific software or compatibility, such as gaming, multimedia editing, or certain proprietary applications. At the same time, you can leverage Pop!_OS for development, programming, privacy-focused tasks, or exploring the open-source ecosystem.
- Privacy and security: Pop!_OS, developed by System76, puts a strong emphasis on privacy and security. It offers features like Full Disk Encryption by default, making it an excellent choice for users concerned about data protection. By dual booting, you can take advantage of Pop!_OS's robust privacy features while still having access to Windows for other purposes.
- Customization and open-source ecosystem: Pop!_OS, being based on Ubuntu, provides a highly customizable and user-friendly Linux experience. It allows you to tailor your desktop environment, leverage various desktop environments like GNOME or KDE, and take advantage of the vast open-source software ecosystem. Dual booting lets you tap into this rich ecosystem while keeping Windows available for applications that might not have Linux alternatives.
- Learning and exploration: Dual booting provides an opportunity to explore and learn about different operating systems. It allows Windows users to delve into the world of Linux without fully abandoning their familiar Windows environment. Similarly, Linux enthusiasts can explore the capabilities of Windows while still enjoying the benefits of their preferred Linux distribution.
Without further ado, let us embark on the journey of dual-booting Pop!_OS and Windows.
Preparing Windows for Dual Boot
Before proceeding with the installation of Pop!_OS, it is crucial to undertake certain preparatory steps from the Windows side. Here is a checklist of the necessary actions:
- Ensure that Windows 10/11 is already installed on your system.
- Verify the partition scheme of your disk. This guide focuses on disks utilizing the GPT partition style.
- Determine if your Windows installation is using BIOS or UEFI. This article is specifically tailored for systems running in UEFI mode.
- Disable secure boot in your system's BIOS or UEFI settings. This step is essential to allow the installation of an operating system like Pop!_OS.
- If your Windows installation has drive encryption enabled, it is necessary to disable it before proceeding with the installation of Pop!_OS.
- Create separate disk partitions to allocate space for Pop!_OS. This ensures that both operating systems can coexist harmoniously without interfering with each other.
By completing these preparatory steps on the Windows side, you will lay a solid foundation for a smooth and successful installation of Pop!_OS in your dual-boot configuration.
Let us start the aforementioned steps one by one.
Step 1 - Check Disk Partition Scheme in Windows
To determine the partition scheme of your disk in Windows, open PowerShell on your Windows system and run the following command:
From the output above, you can see that the last section displays the disk partition type. In our case, it is GPT.
Step 2 - Check if Windows is using BIOS or UEFI
To determine whether your Windows system is using BIOS or UEFI, follow these steps:
- Click on the Start menu and search for "System Information."
- Open the "System Information" application from the search results.
- In the System Information window, locate the "System Summary" section.
- Look for the "BIOS Mode" field in the system summary.
- If the BIOS mode is set to "UEFI," it indicates that your system is using UEFI.
- If the BIOS mode is set to "Legacy," it indicates that your system is using BIOS.
As you see, my system uses UEFI as BIOS mode.
Step 3 - Disable Secure Boot
The next step in the process is to disable Secure Boot. Secure Boot, when enabled, only allows the loading of OEM-signed bootloaders, which can sometimes cause compatibility issues with Linux operating systems like Pop!_OS.
Some linux distributions go well with secure boot and some do not, so I suggest you disable it.
To disable Secure Boot and restart your machine in UEFI mode, follow these steps:
- Open the Start menu and go to "Settings."
- In the Settings menu, select "Recovery."
- Under the Recovery options, click on "Advanced startup" and then choose "Restart now."
Upon restarting, your system will enter the Advanced startup mode.
In the Advanced startup options, select "Troubleshoot".
Next, choose "Advanced options".
And then select "UEFI Firmware Settings".
Click on "Restart" to enter the UEFI/BIOS settings.
Once your system restarts, you will be directed to the UEFI/BIOS settings. It's important to note that the appearance and layout of the BIOS/UEFI window can vary depending on the manufacturer of your desktop or laptop. In the case of Dell laptops, you can typically find the option to enable or disable Secure Boot under the "Boot Configuration" section.
To disable Secure Boot, toggle the switch to the "OFF" position. Confirm the action by selecting "Yes" to disable secure boot and save the profile. Lastly, press the "Exit" button to restart the machine, applying the saved settings.
You can also check the state of the secure boot from within Windows. To verify the status of secure boot from within Windows, follow these steps:
- Open the "RUN" dialog by pressing the Windows key + R.
- Type "msinfo32" in the dialog box and hit Enter.
- In the System Information window that appears, search for the "Secure Boot State" entry.
- In your case, if the state shows as "OFF," it indicates that secure boot is currently disabled on your system.
Step 4 - Turn Off Device Encryption
By default, Windows encrypts your drives for enhanced security. However, to prevent any potential conflicts during the dual-boot setup, it is recommended to turn off drive encryption. To do so, open the Settings menu, search for "Device Encryption", and then click on "Turn Off" to disable the encryption.
Windows will now start the process of decrypting the existing files. Please note that the duration of this process will vary depending on the size of your data.
Step 5 - Create Partitions for Linux
In this step, we will proceed with creating a dedicated partition for the installation of Pop!_OS Linux. To begin, access the "Disk Management" utility from the Start menu. In my example, I have a single 1 TB disk where all available space is allocated to the Windows C Drive.
To create a separate partition for Pop!_OS Linux, it is essential to reclaim some space from the existing C drive as there is currently no available free space. This can be achieved by shrinking the C drive.
To resize the partition, follow these steps:
- In the Disk Management window, locate the C drive which represents your primary Windows partition.
- Right-click on the C drive and select the "Shrink Volume" option.
- Enter the desired size for the new partition in megabytes (MB). Make sure to allocate enough space for the Linux installation.
- Click on the "Shrink" button to initiate the shrinking process. It may take a few moments to complete.
- After the process finishes, you will see a new section labeled "Unallocated space" in the Disk Management utility. This is the space that has been reclaimed from the C drive.
By following the steps above, I have approximately 600GB of unallocated space. This unallocated space will be utilized for creating the partitions for Pop!_OS.
Creating Pop!_OS Bootable USB Medium
1. Download the latest Pop!_OS from its official Downloads page.
You will be presented with three options to choose from for the Pop!_OS ISO image:
- ISO image without NVIDIA driver: This option is suitable if you have a system that does not require the proprietary NVIDIA graphics driver. It is recommended for most users, especially those using integrated or non-NVIDIA dedicated graphics cards.
- ISO image with NVIDIA driver: This option is specifically designed for systems that rely on NVIDIA graphics cards. If you have an NVIDIA GPU and require the proprietary NVIDIA driver for optimal performance and compatibility, select this ISO image.
- ISO image for Raspberry Pi 4: This option is tailored for users who wish to install Pop!_OS on a Raspberry Pi 4. If you intend to install Pop!_OS on a Raspberry Pi 4, choose this ISO image.
I have chosen to download the ISO image with the Nvidia driver. Once the download is complete, the next step is to write the ISO image to an external medium. In my case, I am using an external USB device for the installation of Pop!_OS.
To accomplish this, you will need tools such as Etcher, Rufus, or similar software capable of writing ISO images to external media. While I am using Etcher as an example, you can opt for any tool that you prefer.
Follow the steps below to create a bootable medium using Etcher:
- Insert the external drive (USB device) that you intend to use for installing Pop!_OS.
- After installing Etcher, launch it from the Start menu or the application folder.
- In Etcher, select the "Flash from file" option. This will allow you to choose the ISO image you previously downloaded.
- Click on the file selection button and browse to the location where you saved the Pop!_OS ISO image with the Nvidia driver. Select the ISO image file.
- Select the target drive. Ensure that the correct external drive is selected as the target device. Double-check to avoid accidentally writing the ISO image to an incorrect drive.
- Review the settings to ensure they are correct.
- Click on the "Flash" button to begin the process of writing the ISO image to the USB device. This may take some time, so be patient until the process completes.
If you are creating bootable media from a Linux system, there are many bootable USB creation tools available. You can choose any one of the following tools to create Pop!_OS bootable USB.
Command line bootable USB creation tools:
- How To Create Multiboot USB Drives With Ventoy In Linux
- How To Create Bootable USB Drive Using dd Command
- Bootiso Lets You Safely Create Bootable USB Drive In Linux
Graphical bootable USB creation tools:
- Create Bootable USB Drive With Ventoy WebUI In Linux
- Create Bootable USB Drives And SD Cards With Etcher In Linux
- Popsicle – Create Multiple Bootable USB Drives At Once
- Create Bootable USB Drive With USBImager In Linux
- Kindd – A Graphical Frontend To dd Command
Windows and Pop!_OS Dual Boot: Step-by-Step Installation
STEP 1 - Restart the machine, ensuring that the USB device is connected before rebooting. To access the boot settings, press the boot loader shortcut key. In my case, the shortcut key is F12, but this may vary depending on your specific machine.
Once in the boot settings menu, select the USB device from the available options to boot the machine with Pop!_OS.
STEP 2 - After selecting the USB device as the boot option, you will be presented with the "Try or Install" option. Choose this option to proceed. Pop!_OS will then boot up in the live mode, providing you with a glimpse of the operating system's functionalities within the live environment.
STEP 3 - Upon booting into the live mode, the installer will be automatically launched. However, I recommend canceling the installer by right-clicking on the tray icon and selecting "Quit". It is highly advisable to thoroughly test the operating system in the live mode, ensuring compatibility with various settings such as Bluetooth, Sound, Display, Graphics, and more.
If everything functions properly and meets your requirements, you can proceed with confidence to initiate the installation process.
To launch the installation wizard, simply type "Install Pop!_OS" in the search bar, and the corresponding option will appear. Select it to begin the installation of Pop!_OS on your system.
STEP 4 - Select the language of your choice and click "Select".
STEP 5 -In the next screen, choose the country for the language and click "Select".
STEP 6 - Select the keyboard layout and click "Select".
STEP 7 - In the next screen, choose the input language for the keyboard layout you selected.
STEP 8 - At this stage, you have to decide how you want to partition the drive for Pop!_OS Linux usage. You are presented with two options:
- Clean Install: This option erases everything on the disk and performs a fresh installation of Pop!_OS, utilizing the entire disk space exclusively for Pop!_OS.
- Custom (Advanced): This option grants you the flexibility to create your own partitions according to your specific needs and preferences. With this method, you can allocate disk space for Pop!_OS while also considering other partitions for different purposes.
For the purpose of this guide, we will proceed with the Custom (Advanced) method, as it allows for more control and customization during the partitioning process.
Select the "Modify Partitions" option, which will open the GParted utility. GParted provides a graphical interface for managing disk partitions, allowing you to create the desired partition layout for your Linux system.
Select the "unallocated space" and on the top menu bar "partition -> New partition". It will open a new partition window where you need to add the New Size in MiB and partition name.
In my example, I will create the following three partitions based on my requirements. However, feel free to create your own partitions with different sizes according to your needs:
/boot: 1 GB
/root: 72 GB
/home: 520 GB
The following image shows the /boot partition with a size of 1GB.
Similarly, create /root partition. The following image shows the root partition with a size of 72GB.
/home partition. The following image shows the home partition with a size of 520 GB.
Once all the partitions are created click on the "tick" icon on the menu bar to write the changes.
Click "Apply" to write the changes.
Once the changes are written to disk, click "close".
Now, in addition to creating partitions, you need to configure which partitions will be used for installation, specify the file system type, and assign mount points.
On the top bar, click on the newly created partition. It will open a little dialog box as shown in the below image. It will ask you to select the partition, format, file system type, and mount point.
Once all newly created partitions are configured, you should see the tick mark on the partitions and the "Erase and Install" option enabled.
STEP 9 - In the next step, provide the user name. This user name will be used to login to the operating system and it will be automatically added to the sudo group.
STEP 10 - In this step, set the password for the user you created in the previous step.
STEP 11 - The installation process will now start.
While the installation is in progress, you are free to utilize the operating system and explore its features. Feel free to navigate through the Pop!_OS environment and familiarize yourself with its functionalities. However, it is important to refrain from any actions that may interfere with the ongoing installation process.
Step 12 - Once the installation is completed, click "Restart Device".
Pop!_OS Post Installation Wizard
After the restart is complete, log in using the username and password you created during the installation process. Once logged in, the post-installation wizard will automatically launch.
Layouts - In the post-installation wizard, the first step is to configure the layout of the dock. You will be presented with three options to choose from:
- No dock
- Extend dock to edges
- Do not extend the dock to the edges
It is important to note that you can always modify this preference later on by accessing the settings if needed.
Top Bar Configuration - In the second step, it will prompt you to configure the top bar. You can enable or disable the workspace button, and application button. You can also set the date, time, and notification positions.
Launcher Information - On the next screen, information about the launcher will be displayed. By default super key is mapped to launch the launcher. There is also an icon to start the launcher.
Mouse Pad Gestures Information - On the next screen information about the mouse pad gestures is displayed. You can also view this information later from the settings.
Appearance - In this window, it will prompt you to choose the light or dark theme.
Privacy - In this screen, you can choose to enable or disable location services.
Time Zone - You will be prompted to select your time zone. You have two options for choosing the time zone:
- Search option: You can enter the name of your desired time zone in the search field and select it from the provided results.
- Location-based time zone: Alternatively, you can choose your time zone based on your physical location by using the map interface. Simply click on the map to select the corresponding time zone.
Online Accounts - In this screen, you have the option to connect to online accounts such as Google, Nextcloud, Microsoft, and more. If you prefer to skip this step, simply press the "Skip" button.
Congratulations! You have completed all the necessary post-installation steps. Now, you can start using Pop!_OS 22.04! and explore all the features Pop!_OS has to offer!
Configure SystemD Boot for Dual Boot
Pop!_OS uses systemd as the boot loader instead of GRUB. By this time you should have noticed that when you reboot the machine there will be no options displayed to choose between windows boot manager and Pop!_OS like GRUB.
Follow the below steps to configure the systemd to show both the operating system during the boot time.
STEP 1 - Increase the boot wait time for systemd. Open the
$ sudo nano /boot/efi/loader/loader.conf
Add the following line and save the file. This will make the systemd boot loader wait for 10 seconds before automatically booting into Pop!_OS.
STEP 2 - Install the ‘os-prober’ utility which will automatically fetch all the installed operating systems in the machine. Open your terminal and run the following command.
$ sudo apt update
$ sudo apt install os-prober -y
Run the 'os-prober' command and it will show you the windows boot manager entry.
$ sudo os-prober
As you can see from the output, windows boot manager is in
STEP 3 - Mount
/dev/sda1 partition into
/mnt/ mount point.
$ sudo mount /dev/sda1 /mnt
/mnt/EFI directory, you can see the Microsoft windows manager-related files.
STEP 4 - Copy the
/mnt/EFI/Microsoft directory to
$ sudo cp -ax /mnt/EFI/Microsoft /boot/efi/EFI
STEP 5 - Now reboot the machine. This time you will see systemd boot options similar to the GRUB boot loader. You can either choose windows boot manager to boot into windows or boot into Pop!_OS by selecting the first option.
If you are not choosing any option, the boot loader will wait for 10 seconds as configured in STEP 1 and automatically boot into Pop!_OS.
Congratulations! We have successfully completed the Windows 10 and Pop!_OS 22.04 LTS dual boot configuration.
Frequently Asked Questions
Here's a FAQ for Windows and Pop!_OS dual boot configuration:
A. Yes, by properly partitioning your disk during the installation process, you can safely install Pop!_OS alongside Windows without impacting your existing data.
A. Absolutely! During the boot process, you will be presented with a boot menu where you can select either Windows or Pop!_OS as per your preference.
A. Yes, you can remove Pop!_OS from your system and revert to using only Windows. You will need to remove the Linux partitions and restore the Windows bootloader. For instructions, please check our Step-by-Step guide to safely remove Linux from dual boot configuration.
A. Yes, the general principles for dual booting can be applied to other Linux distributions as well. However, each distribution may have its own installation process and requirements. We already have published "dual boot Fedora and Windows" and "Dual boot Ubuntu and Windows" guides.
A. No. When properly configured, dual booting should not significantly impact your computer's performance. However, it is important to allocate sufficient resources and ensure compatibility with your hardware.
A. Yes, you can upgrade either Pop!_OS or Windows without directly affecting the dual boot setup. However, it is always recommended to backup your important data before performing any major system upgrades.
A. Yes, you can share files between Windows and Pop!_OS by accessing Linux partitions from Windows using a third-party application, creating a separate partition that is accessible to both operating systems or by utilizing shared network folders.
In this Step-by-Step article, we have discussed how to dual boot Windows and Pop OS. Dual-booting Windows and Pop!_OS provides the flexibility to utilize the benefits of both operating systems on a single machine.