Skip to content
This repository has been archived by the owner on Jan 26, 2023. It is now read-only.

Pop!_OS 19.04 and Windows 10 dual boot on Dell XPS 9560

Nemanja Đekić edited this page May 21, 2020 · 14 revisions

Introduction

This article describes how to install Pop!_OS 19.04 and Windows 10 on fresh SSD. Reason for fresh installation, instead of shrinking Windows partition is that I bought new SSD few days ago.(Replaced 240 Hynix SSD). There are several parts in this article:

  • Part I describes how to setup BIOS for dual boot installation
  • Part II describes Windows installation
  • Part III describes Linux installation
  • Part IV describes post installation steps and some suggestions

I suggest you to back up your data, if you're doing a fresh install.

Part I (BIOS)

Power up your laptop and press F2 while booting to enter BIOS configuration. Follow next steps to complete BIOS journey:

  • System configuration -> Sata Operation -> Select AHCI -> Don't select: "Check as Custom User Settings" -> Click OK
  • Secure Boot -> Secure Boot Enable -> Select Disabled -> Click Yes -> Click Apply -> Don't select: "Check as Custom User Settings" -> Click OK
  • General -> Advanced Boot Options -> Select Enable Legacy Option Rom's -> Click Apply -> Don't select: "Check as Custom User Settings" -> Click OK
  • General -> Boot Sequence -> Select Legacy -> Click Apply -> Don't select: "Check as Custom User Settings" -> Click OK

After these steps save settings and exit BIOS.

Part II (Windows Installation):

I assume that you already have a USB with a fresh Windows 10 installation. If you don't have one refer to this post.

Windows 10 EFI partition is smaller than 500MB (Windows usually alocate 200-300MB). In order to put Pop!_OS and Windows 10 on same EFI partition it's necessary to expand EFI partition. You're probably wondering why should you put Pop!_OS and Windows 10 on same EFI partition. Why don't you use two separate partitions?

  • Short answer: Pop!_OS uses systemd boot loader.

  • Long answer: Like I already mentioned Pop!_OS uses systemd boot loader. Unlike GNU GRUB boot loader systemd can't see Windows 10, if Windows 10 is in different EFI partition. This means every time you turn your PC it will load preferred OS. (For e.g. Preferred OS in BIOS is Windows 10 and every time you turn on your PC it will load Windows 10. If you want to switch to Pop!_OS, you must enter BIOS and select Pop!_OS.) There is no systemd menu loaded to select preferred OS.

In order to increase EFI partition size and to make partition for Windows 10 as well follow this post from ctrl.blog. Mentioned post explains how to increase EFI partition size step by step.

After you set preferred EFI size (I used 1GB in my case), select Windows partition (I used 100GB in my case, for Windows installation) and install Windows 10, but don't format rest of partitions. Leave it as it is.

When you install Windows, I suggest you first to install all necessary drivers and to disable fast startup in power options.

Part III (Linux installation)

Boot Linux from USB in UEFI mode. If you don't have Linux USB ready, here is a reference how to make one on system76 site.

When you enter Pop!_OS installation process just follow given steps, until you come to Customize Partitions option. Press Customize Partitions button. It will open GParted tool which is used to format disks on Linux OS. Now it's time to split rest of the storage. If you never made a partition with GParted tool, or not sure how to do it, I suggest you to follow Second Method from this FOSS Linux article. It briefly explains how to do it.

Since EFI partition is created with Windows 10, there's no need to create one again. But it's necessary to create SWAP and Linux root partition. Golden rule is to make SWAP = 2 * RAM memory. Since I have 32GB of RAM, I used half of it for swap, because I don't use Hibernation mode. I referenced to Linux Red Hat site for SWAP memory size. Here's also a reference table from itsfoss.com based on RAM memory and your need for hibernation. After SWAP partition has been created, create Root partition. I used 100GB also for Linux root partition. Select EXT4 format for Linux partition. Rest of memory (around 700GB), I decided to split in two chunks: 500GB and 200GB and format them as FAT32 for now.

After formatting has been done, switch to Linux installation and select following options:

  • EFI partition -> Use partition, but don't check Format option and select Use as: Boot(/boot/efi)
  • SWAP partition -> Use partition and Use as: Swap
  • Linux partition -> Use partition, select Format option and Use as: Root(/)

After mentioned options are selected, click "Erase and install" button. Installation should start.

Part IV (Post installation):

Congratulations! You've installed both operating systems, but it's not done yet.

Linux post installation steps related to systemd-boot menu:

After powering up PC (in first 5 seconds), press ESC key to start systemd menu (boot selector). Unlike GRUB which shows up a menu (boot selector) for some time (e.g. 20-30 seconds) after BIOS start, systemd boot loader doesn't do this by default. If end user doesn't press ESC key, it will boot a preferred OS. If you want a systemd menu (boot selector) to be shown after power up, without pressing any button, there is a simple solution:

  • Boot to Pop!_OS
  • Navigate to file boot/efi/loader/loader.conf and add line timeout # (# = time in seconds). I've set 20 seconds here. Source: Reddit

BIOS post installation steps

  • General -> Advanced Boot Options -> Deselect Enable Legacy Option Rom's -> Click Apply -> Don't select: "Check as Custom User Settings" -> Click OK
  • General -> Boot Sequence -> Select UEFI -> Click Apply -> Don't select: "Check as Custom User Settings" -> Click OK

Storage formatting

  • I formatted 500GB chunk to be NTFS and 300GB chunk as EXT4 (Used Linux for formatting). I don't like mixing up Windows and Linux files and I don't have need to have common files, but you can format as you like.

Additional Linux post installation suggestions:

References

  1. Pop!_OS Official Documentation
  2. System76 support
  3. Red Hat Enterprise Documentation
  4. Windowscentral: How to disable Fast startup
  5. CTRL Blog: How to change the UEFI System Partition size in Windows Setup
  6. System76's Pop!_OS Switching From GRUB To Systemd-Boot
  7. r/pop_os: Does Pop!_OS still use systemd-boot?
  8. r/pop_os: Dual boot
  9. Pop!_OS and Windows 10, same HDD, dual boot without GRUB, UEFI only
  10. It's Foss: How To Install Ubuntu Alongside Windows 10
  11. r/pop_os: Grub menu not showing on boot
  12. Trafegon: Dell XPS * Clean Dual Boot | Ubuntu and Win 10
  13. Zolce source: How To Dual Boot Pop!_OS With Windows
  14. Arch wiki: Systemd-boot
  15. FOSS Linux: Create SWAP in Ubuntu