Dual Booting Ubuntu 20.04 with Windows 10

You’re probably using Windows if you’re reading this. So, you decided to give Linux a try! Good for you! Linux is something that anyone ranging from an average Joe to a system admin can utilize. Whether you’re just curious or you need it for Software Development, having both operating systems on one computer is often the perfect solution.

So when I decided it was about time I made the switch, little did I know I had to spend hours recovering my USB stick’s storage capacity which shrank to 2KB from 16GB while booting. Anyways, one or two sleepless nights later, I finally had Windows 10 and Ubuntu 20.04 dual-booting successfully! I wished there was a precise integrated article that had the entire process documented. So, here it is!

STEP 1: Prepare to back-up (optional)

STEP 2: Download Ubuntu Desktop & Rufus

Download Rufus from its website. Rufus is a free and open-source portable application that can be used to format and create bootable USB flash drives or Live USBs.

STEP 3: Create Live USB

Run the Rufus tool you just downloaded and configure it as shown below.

Rufus configuration for creating Live USB

It automatically identifies the plugged in USB but double check it anyway. The ISO will now be written to your USB stick, and the progress bar in Rufus will give you some indication of where you are in the process. With a reasonably modern machine, this should take around 10 minutes.

STEP 4: Make Disk Partition

How much space do I need for Linux in dual boot?

The size you should be allocating depends on how much total disk space you have or your needs. I recommend allocating at least somewhere between 35–50GB, to avoid running out of disk space soon.

In the Windows menu search for Create and Format Hard Disk Partitions and click the result to open Disk Management. Right-click on the disk that you want to shrink to make free space available on and click on Shrink Volume in the context menu.

Shrink volume to create free space for Ubuntu installation

Next you need to Enter the amount of space to shrink in MB you want to have for your Ubuntu installation. Creating a new partition takes a while and then it should be displayed as Unallocated. Now you’ve created free space on disk.

STEP 5: Disable Fast Startup

Disable Fast Startup from the System Settings

STEP 6: Disable UEFI Secure Boot

In the Windows search menu type Advanced Startup Options and select the result. Go to the Advanced startup section and click on Restart now button. When the next screen appears, in the menu select Troubleshoot > Advanced Options > UEFI Firmware Option Settings > Restart. This will reboot your laptop.

Next, you need to head into BIOS menu to disable the secure boot. When your laptop is restarting, press the BIOS entry key on startup (At this point the screen is still black/hardware logo appears). This changes for each system, but is typically something like F1, F2, or F12:

Common brands and their BIOS keys sourced in HP-Techs-Takes

Once you’re in the BIOS menu, navigate to BIOS Setup tab with the help of arrow keys. (If not found look for Security tab). Highlight the Secure Boot tab with arrow keys and change the Secure Boot item to “Disabled” or uncheck the Secure Boot Enable option. Save and Exit the BIOS settings.

Navigate to BIOS Setup/Security tab & move to Secure Boot option and select/uncheck to disable. Note: 2 different PC’s BIOS menu screenshots are shown above

STEP 7: Boot from Live USB

Select Use a Device option in the screen menu

On the next screen, recognize the Live USB drive with its name and select it. Now, your system will reboot into the disk you chose and present the GRUB boot menu.

Change the Boot Sequence with arrows to set the Live USB drive as the first boot option

STEP 8: Install Ubuntu

  • You will be presented with a screen to pick a language. Select the language you prefer and click on Continue. After selecting the keyboard layout, you will probably be prompted to select a WiFi network.
  • In the next screen, choose Normal Installation, installation options that you prefer and Continue.
  • Now you will be presented with a menu for Installation Type. To allocate disk partitions on your Ubuntu manually, select Something else and Continue.
i) Select keyboard layout ii) Choose preferred installation options iii) Select Something else for manual installation
  • In the next screen you will be allocating space for the root directory(/), the home directory(/home) and the swap memory. The free space we created in Step-4 will show up here. Select the free space and click on the +” sign.
  • Root (/): This is the partition which hosts all your system files necessary for Ubuntu to function. Anything above 25 GB is more than sufficient for it. >Type of new partition: Primary > Location for new partition: Beginning of this space > Use as: Ext4 journaling file system > Mount point: /
  • Swap Memory: “Allocating double the size of RAM to the Swap memory” has been very a controversial item and a thumb rule. But that doesn’t always seem good for some conditions. However, you can allocate anywhere between 4 to 8 GB, which should be adequate. Select the free space partition and click on the+” sign. Enter the size for swap space and keep rest of the parameters same as earlier except for >Use as: swap area.
  • (/home): This partition will store all your personal files. If you do not create a “/home” partition, your personal files will be stored inside the “root(/)” partition. Allocate the remaining free space to this partition with >Mount point: /home and keeping rest of the parameters same as earlier
Creating partitions for i) /home ii) root(/) iii) swap area

Now that you’re done with creating all the partitions, hit Install Now and confirm the installation. In the next steps, you will be selecting the timezone, username and password for the system. Once the installation is complete, you’ll be asked to unplug the USB disk while the system restarts. When the system restarts, the GRUB menu will be presented and from now onwards you will have the choice of either to boot into Ubuntu or Windows. That’s it!

Enjoy your Ubuntu system! I hope you found it useful. If you have any questions let me know in the comments below or just fancy saying hey, then I am always open to connections on LinkedIn|Twitter|GitHub.

Thanks for reading!

And please be sure to share a few claps if you find this piece helpful :)

Budding Data Scientist | Full Stack Developer | ML Enthusiast