Please enter CoinGecko Free Api Key to get this plugin works.

Partner links

Dual-boot elementary OS 0.4, Windows 10 on a computer with UEFI firmware

elementary OS verify partitions

This post shows how to dual-boot elementary OS 0.4 and Windows 10 on a computer with UEFI firmware and on a single hard drive. The computer used for this article is a Lenovo.

First Step – Get Your Windows 10 Computer Ready

1. For a pain-free and successful operation of the sort that you’re about to undertake, it is recommended that you disable Secure Boot (Restricted Boot). How this is done depends on your computer, but if you have the same Lenovo G50 laptop I used for this tutorial, read this guide. Owners of an HP 250 G5 laptop should read this article.

2. From the BIOS or UEFI setup utility, configure the computer to boot from external media.

3. After that, you need to free up disk space from your computer by shrinking the C drive or other partition with enough free space on it. Getting that done is fairly simple by using Windows 10’s partition manager. When completed, the partition should show partitions and free disk space similar to the one shown in Figure 1. elementary OS 0.4 Loki will be installed in the Unallocated disk space.

Windows 10 free disk space

Figure 1: Windows 10 partitions and the free disk space for installing elementary OS 0.4 Loki

Download elementary OS 0.4 and Create a Bootable USB Stick

The next step in this operation is to download an installation image of elementary OS 0.4 from here, then transfer it to a USB stick. From Windows 10, use this article as a guide to create a bootable USB stick of elementary OS 0.4. And from any Linux distribution, the simplest method is to use the following command:

# This command assumes that you're executing it from your Download directory
# /dev/sdb is the target USB stick. Yours might not be sdb, so verify before copying and pasting

sudo dd if=elementaryos-0.4-stable-amd64.20160921.iso of=/dev/sdb bs=1M conv=sync


When you’ve finished creating the installation media, insert it into the appropriate port on your computer and reboot. In the next step, you’ll use that bootable USB stick to install elementary OS 0.4 alongside Windows 10.

Dual-boot elementary OS 0.4 With Windows 10

If the computer has been set up to boot from external media, you should see the elementary OS 0.4 boot menu. One of the entries will be to boot into the Live desktop. I suggest you select that option, play around with the Live desktop, and if you’re satisfied, launch the installer by clicking on its icons on the dock or on the desktop.

After the installer starts, click through the first few steps until you get to the one shown in Figure 2. The installer should detect that Windows 10 is already installed and offer to install elementary OS 0.4 alongside it. That’s great, but it will not create a separate partition for your files and folders.

elementary OS installer partition methods

Figure 2: Partition methods of elementary OS 0.4

For that to happen, you’ll have to select the Something else option, then click on the Continue button to move to the next step.

elementary OS installer Something else

Figure 3: Something else option on the installer of elementary OS 0.4

That next step shows the distribution’s manual partitioning tool, where you’ll see all the partitions detected by the installer. Of the existing Windows 10 partitions, the one of interest here is the one that has efi in the Type column and Windows Boot Manager in the System column. That is the EFI System Partition, where the boot loader files will be installed. To start creating partitions, select the free space, then click the + button.

elementary OS installer manual partition

Figure 4: Manual partitioning tool of elementary OS 0.4

That should bring up the installer’s partition editor. For each partition, you only need to specify the size, the file system (from the Use as menu) and the mount point. For partitions other than the one that will be used as swap, stick with the default file system – Ext4 journaling file system.

elementary OS partition editor

Figure 5: Partition editor of elementary OS 0.4

So let’s start by creating the root partition. For size, any value higher than 20 GB will do. From the Mount point, select /. Click OK.

elementary OS root partition

Figure 6: Creating root partition for elementary OS 0.4

The next partition will be mounted at /home. This is the partition that will hold all your files and folders, so assign most of the available disk space to it. When you’re finished setting it up, click OK.

elementary OS home partition

Figure 7: Creating home partition for elementary OS 0.4

For the partition that will be used as swap, a size of 2000 MB (2 GB) to 4000 MB (4 GB) should be enough. From Use as, select swap area. OK.

elementary OS swap partition

Figure 8: Creating swap partition for elementary OS 0.4

After creating that last partition, you should be back in the main partitioning tool’s window for the last time. From the Device for boot loader installation, select the efi partition. On the system used for this article, that partition corresponds to /dev/sda2, that is, the second partition on the hard drive. Then click on the Install Now button to continue with the rest of the installation.

elementary OS 0.4 partitions

Figure 9: Partitions for installing elementary OS 0.4

This just shows the task the installer will perform. Verify, then click Continue.

elementary OS verify partitions

Figure 10: Confirm partitions for installing elementary OS 0.4

After installation has completed successfully, rebooting the computer should reboot into the GRUB menu. GRUB (Grand Unified Bootloader) is the boot manager/boot loader used on virtually all Linux distributions. Aside from the entries for elementary OS 0.4, it will also have one for Windows 10, which makes it possible to boot into Windows from the GRUB menu. GRUB is automatically made the default boot manager, but if it’s not, consult this article for how to make it so for an HP 250 G5.

elementary OS 0.4 GRUB menu

Figure 11: GRUB menu of elementary OS 0.4



Partner links

Newsletter: Subscribe for updates

Notify of
Inline Feedbacks
View all comments
6 years ago

Hi. Sorry for the stupid question but I’m a bit of a newby….
How did you decide how much space to allocate for each of the partitions?

Get the latest

On social media

Security distros

Linux distros for hacking and pentesting

Crypto mining OS

Distros for mining bitcoin and other cryptocurrencies

Crypto hardware

MSI GeForce GTX 1070
Installing Nvidia GTX 1070 GPU drivers on Ubuntu

Disk guide

Beginner's guide to disks & disk partitions in Linux

Bash guide

Bash shell terminal
How to set the PATH variable in Bash
Hya, what do you think? Please comment.x