• Pop!_Planet is still very much under development. Data for the wiki is being sourced from the Arch Linux and Ubuntu wikis, along with a bunch of completely unique content specific to Pop!_OS, and sourcing, converting and updating that content takes time; please be patient. If you can't find what you're looking for here, check the Arch Linux and Ubuntu wikis.
  • Welcome!

    I'll get straight to the point.

    When I started Pop!_Planet, I launched it because I saw a need for a centralized community for Pop!_OS. To be frank, I never expected the level of popularity it has achieved. Over the last year, we have gone from under 50 users, to almost 400 users. That's awesome! However... it also comes with a downside. We are rapidly running out of disk space on our server, and the bandwidth costs go up every month.

    Pop!_Planet is not affiliated with System76 in any way, and is funded completely out of pocket. From day one, I said that I'd never use on-site ads (I hate them as much as you do), so the only monetization we get is through donations. Right now, the donations we receive don't even cover our overhead.

    I know that most users will ignore this message, and that's ok. However, if even a few of our users are willing and able to donate a few dollars to help offset our expenses, it would be greatly appreciated.

    Support Pop!_Planet

    Thank you for your time,

    Dan Griffiths
    Pop!_Planet Founder

Guide Beginner Copy the Microsoft Bootloader into Pop's EFI - Beginner's Guide

Not open for further replies.


Trusted User
Founding Member
Nov 23, 2018
Before you start setting up a Pop!_OS dual-boot system, you are strongly advised to study the System76 documentation on dual-booting to understand better what steps are necessary. It's essential that you do because if you make a mistake, you could lose years of personal files. Take your time and read through the guide* for Dual Booting With Windows. Regardless of experience level, everyone should read the guide, as Pop!_OS does things a little differently than most Linux distributions. There's also a separate guide for Dual Booting with Linux. Additionally, it's crucial that you make a backup of your important files, or create a system image before you attempt any changes to the partition scheme.

* EDIT: At time of writing the doc was different. Now there is the new guide. See this thread. This article will help with an existing Windows installation, whereas the new method makes this obsolete by forcing Windows to install in UEFI mode and share the BIOS EFI menu.

In a traditional UEFI dual-boot scenario, both operating systems share an EFI partition out of the box. Pop keeps the actual Linux kernel in the EFI partition, which results in the standard Windows EFI partition being too small for both. If you followed the System76 dual-boot guide and made a 512MB EFI partition for Pop's bootloader, you now have two EFI partitions on the drive. Without user intervention, the BIOS UEFI boot manager will show both Windows and Pop!_OS, but Systemd-boot will show only Pop. For Systemd-boot to show Windows, you will need to move or copy the Windows bootloader to the newly created Pop!_OS EFI partition and configure Systemd-boot to suit your needs.

For experienced Linux enthusiasts that would be a simple instruction, but to someone new to Linux or inexperienced at manipulating boot parameters, it sounds a little intimidating. I'm not ashamed to admit I would have drawn a complete blank at that instruction at the beginning of my Linux journey. I'm going to simplify the process in this three-step-guide for beginners. I'll combine both GUI and CLI (command-line interface) instruction to provide the most comfortable and safe method possible. If you're unfamiliar or uncomfortable with using a terminal, skip to the GUI-based section for the copying portion of the guide. If you're new to Linux, I suggest that learning a little CLI will go a long way in Pop!_OS; it can make accomplishing many mundane tasks easier than a GUI!

Step One: Determine the name and location, or mount-point, of your Windows and Pop!_OS EFI partitions and then ensure they are both mounted;

Run "Disks", the default disk utility tool in Pop!_OS. You'll see two EFI partitions, the Pop EFI partition which is about 500MB and mounted at /boot/efi, and the one for Windows which should be only 100MB. The Pop one is already mounted, mount the Windows one as well. You can do this by selecting it and then clicking the arrow found on the far left of the bottom toolbar. Now remember the Mount point information for the Windows EFI. It should be something like /media/<username>/<UUID>, but you When you mount the Windows EFI a volume will appear in the left pane of Files at the same mount point as in Disks. This is the location of the /EFI/Microsoft folder.

Below is the Windows EFI mounted in Disks and the subsequent volume appearing in the left pane of Files.

For the sake of interest, the method to find the correct information in a terminal is to run lsblk -o NAME,FSTYPE,FSSIZE,MOUNTPOINT. In the output, you will see some vfat entries under the FSTYPE column. Pop's EFI is mounted at /boot/efi and will be around 500MB in size. The Windows EFI will be only 100MB or thereabout.

Below is terminal displaying the output of the lsblk command and the following copy command.
Screenshot from 2019-08-15 22-59-34.png

Step Two: Copy the information and place it where it needs to go.

Using CLI
; (For GUI see below)

In the following command, I'm going to annotate the 'Windows EFI mount point' as <wemp> as a placeholder. All you need to do is substitute your actual information in the placeholder. What we are going to do is "copy" the Microsoft folder into Pop's EFI folder.

sudo cp -r /<wemp>/EFI/Microsoft /boot/efi/EFI

##NOTE: For me, <wemp> is /media/dualpop/02BD-41A4. See picture above for clarity.

Now ensure Pop!_OS is the default kernel in /boot/efi/loader/loader.conf, then reboot to verify everything is working.

Congats! You've dual-booted Pop!_OS correctly. See step 3 to add a timer to the boot menu - optional.

Using GUI;

Below are the commands to open Nautilus, AKA Files, with administrative privileges on the relevant folders.

If you're not comfortable with a terminal yet, here's that last step performed in the file manager Nautilus, AKA Files, but you will need an instance with administrative privileges. This can be accomplished a couple ways, but being a beginner's guide I want to give you the safest way(*). Open Terminal and type nautilus admin:///boot/efi. A window will appear to enter your password, do so (maybe twice) and Nautilus will open right where you need to be. You will see Pop's EFI folder. Also In Terminal type nautilus admin:///media/<username>/<UUID>/EFI to locate the 'Microsoft' folder. Simply right-click and copy it, then paste it in Pop's EFI folder.

(*) EDIT: Nautilus encountered a bug in gvfs after this was written. You could try to fix it - see here. Or just use sudo nautilus for a whole administrative window - be careful and close it when finished!

##Note: For me the <username> is /dualpop and the <UUID> is /02BD-41A4. (see pictures)

Now ensure Pop!_OS is the default kernel in /boot/efi/loader/loader.conf, then close the terminal with administrative privileges and reboot to make sure everything is working.

Congats! You've dual-booted Pop!_OS correctly.

Below are the commands to safely open the Nautilus Folders with root privileges.
Screenshot from 2019-08-14 22-29-47.png

Step Three: Add a timer - optional.

Some users are happy to hold a key during boot to choose the OS they want to use. It is, however, a simple matter to add a timer to Pop's boot menu so you can select using your arrow keys. For the timer, you'll need to edit /boot/efi/loader/loader.conf. Use sudo nano /boot/efi/loader/loader.conf. Add a new line under the default Pop_OS-current line with timeout 5 (or however long you want), then save with ctrl + s and exit with ctrl + x. You can use whichever editor you want, but Nano is beginner friendly and pre-installed in Pop. Last thing is to Reboot and you should be all set to go!

Below is Nano with the timeout command in the correct place.
Last edited:
Not open for further replies.

Members online

No members online now.

Latest projects

Forum statistics

Latest member