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.
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.
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.
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.
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.
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.
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.
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.
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.
This just shows the task the installer will perform. Verify, then click Continue.
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.
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?
Thanks
Nothing stupid about that question at all, so don’t feel embarrassed.
Deciding how much disk space to allocate to the partitions comes from knowing how each partition is sued and will grow over time. The following will give you an idea:
1. /boot partition (on UEFI systems, this is the EFI system partition – ESP). Is where the boot files are stored. Doesn’t require much disk space and for the life of the disk, this never really grows much. On the computer I’m writing this from, which I’ve been using for a while, the disk spaced used by this partition is just 4.9 MB, though I allocated 500 MB to it.
2. Root, /, partition. If you do not create a separate partition for /home, this is where you allocate most of the remaining disk space, because every data you store on the computer will be placed into one or more directories under this partition. If you create a separate partition for /home, however, then this partition won’t need as much disk space. Typically, less than 10 GB will do for it, but always better to allocate 20-50 GB to it. This is the partition used to store files and programs the computer needs to run – operating system files. It’s the equivalent of the C drive in Windows
3. /home partition. This is where all user accounts will be created, so this takes almost all available disk space on the computer.
4. Swap. This is part of the disk that the computer may use as virtual (extra) memory (RAM) when it needs it. On computers using SSD drives, many people don’t create a Swap partition any more. Even when it’s created, it’s usually <= 4 GB. Very basic explanation, but should give you a good idea how to allocate disk space to partitions in Linux. Guide to disks and disk partitions in Linux is a good read on an aspect of this subject.