How to Dual Boot Linux next to Windows 10

Windows is not the most friendly Operating System for developers, and Macs are expensive. If you’ve ever wanted to have multiple operating systems on your computer (Maybe Linux and Windows?), then Dual Booting is one way to accomplish this goal.

What is Dual Booting, and When Should I Dual Boot vs Virtual Machines?

Dual Booting is cutting your Disk space into TWO or more partitions/chunks, and installing multiple operating systems side-by-side on the same computer using one at a time, while a “Virtual Machine” is running an operating system within an operating system; You’re using both at the same time.

The main benefit of Dual Booting is you get ALL of the systems resources to use on each system. If your computer isn’t that fast it may be unpleasant using a VM. If you’re a hard-core gamer and want your games to be as fast as possible, but still want to use Linux for coding, then Dual-Booting may be a good option.

Or if you’re still transitioning from a Windows to a Linux environment and aren’t ready to take the full plunge, then maybe Dual-Booting is a good option.

If you have 8 Gigs or more of RAM, then you might be better off running a Virtual Machine.

Whatever your reasons, if you want to Dual Boot Windows and Linux on the same computer, here’s how to do it!

Note: It can help to understand the different terms used in the Boot Process. Here’s an article on Swap Space, File Systems, Bootloaders, UEFI/GPT vs BIOS/MBR, etc

Step 1. Download a Linux Distro

I’ll use Ubuntu because it’s beginner friendly. Download Ubuntu Here

Step 2. Prepare Flash Drive

Note: You can dual boot with a CD/DVD, but I’ll be using a USB Flash drive.

In this step, we’re taking the ISO image we downloaded, (the Linux distro) and putting it on the flash drive in a way that we can boot into Linux from the flash drive when we start the computer.

The Ubuntu Website shows you how to prepare a flash drive but We’ll do it together here as well.

Insert the flash drive into your computer.

Download/use “Rufus”. to prepare the flash drive.

Run the Rufus program, and one of the boxes (second box for me) will say something about the “Partition Scheme” and “Target system type”. Select “MBR partition scheme for BIOS or UEFI” if your computer is BIOS/MBR. If your computer is a 2015 or newer, it probably uses GPT/UEFI and you’ll want to select “GPT partition scheme for UEFI”. If Ubuntu fails to install, then try one of the other options, but I don’t think this part really matters.

Towards the bottom, there should be a box that says “create a bootable disk using… ISO image or DD image. Make sure “ISO image” is selected and click on the CD icon to select your ISO image. Choose the Linux iso you downloaded.

Note: This will DESTROY everything on the USB stick. Take everything important off of the flash drive before doing this.

Once everything is setup, click “Start” and accept all the prompts it gives you. When Rufus is finished, you can just close out of it, and move on to the next step. You should now have a fully prepared USB flash drive so you can install Linux on your machine.

Step 3. Prepare the Hard drive/Partitions

This part sounds scary, but it’s not bad. Think of your computer as a giant pizza. Right now you probably have ONE giant slice of pizza with the flavor of “Windows”. All we’re doing is using a “pizza cutter” to cut the hard drive in two or more pieces. This “other piece” can be re-flavored into “Linux” or whatever you want.

You can grow, shrink, and remove partitions; It’s somewhat flexible, but you want to be careful. Make a mistake and say bye-bye to your precious cat videos. It’s not super dangerous, but be careful and back things up.

All you need to do is type in the Windows search box “Disk” or “Disk Manager” and something in the control panel should pop up. It’ll say something like “Create and format hard disk partitions” or something.

Find the partition with the most amount of “Free space”. Right click, and select “Shrink Volume”. It will then ask you how much space you’d like to free up.

You’ll probably want at least 30 gigs, but I use Linux much more than Windows, so I’m going to give mine 150gigs, or 150000 MB of space, so I enter 150000 in the “amount of space to shrink”.

Then you should see “unallocated space” of ~140 Gigs, or however much you setup. Most Linux installers are pretty smart, and can handle the rest for you. So we’re ready to install Linux now!

Step 4. Install Linux

This part isn’t bad either! The Ubuntu installer handles most everything for you. All bets are off if you choose a more “hands on” install like Arch, Gentoo, or something else. They are great learning experiences, but a lot more challenging.

Step 4-A: Plug in/insert your USB/CD and Reboot computer.

Step 4-B: Change the Boot Order

We need to “boot up” into our “Install media” (the USB or CD where Linux is installed) instead of our normal hard drive.

Turn on computer and immediately start pressing the ESC key repeatedly. If that doesn’t work, there should be some sort of instruction on the bottom of the screen on how to enter special startup mode.

Your goal is to end up at a screen that looks something like one of the following:

If you end up with the first image, just select “Boot Device Options” or something with similar wording, and select the USB option.

If you end up with the second image. You may have to change the boot order temporarily. It’s going to be slightly different on every computer, so look it up for how to do it on your computer. You’ll probably have to go to the “System Configuration” -> “Boot Options” and adjust the “Boot Order” by following the directions… Usually f5 or f6 moves the options around.

You want to make sure your “flash drive” or “USB drive” is at the top of the list so it boots first.

Save the changes, and try restarting your computer again.

Regardless of what you get, your GOAL is to get to a screen that looks something like this:

Select “Install Ubuntu”. If you don’t get this page, keep trying stuff until you DO get to this screen.

Step 4-C: Follow directions

Then you basically just follow the directions until you get a shiny new Ubuntu system.

Select your language…

Connect to the wifi network…

Might as well get the updates and install some commonly used software… Looks like we need to “turn off secure boot” to do this. Honestly I don’t know why or what the benefit is of Secure boot. Google it. I used the same password I login with on the computer just in case. You may not have to do this.

Installation type is important! If you wan to DUAL-BOOT, meaning… when you startup your computer you can still boot into Windows if you want, then you need to install Linux along-side Windows. If you erase Windows, you’re obviously not going to be able to use it.

If you don’t get the option to install Ubuntu alongside windows, you probably need to free up some unused space so Linux can be installed. See Step 3. for details.

Select “Install alongside Ubuntu” and press install, or continue or whatever.

Want More Tutorials?

Subscribe to our NewsLetter to get our latest Tutorials, Courses, product & tool reviews, and more! We don't email very often. When we do, it'll be good!

Manual Partition Setup: Not recommended for beginners

If for whatever reason you want to choose “Something Else” and do it manually, I’m just going to lay it out quickly without pictures, because I’m lazy.

1. You’ll probably want to create a Swap space partition with the file system type of “Swap area” or “Swap space” or something. There’s no standard amount of Swap space. I’d suggest anywhere from 512 megabytes to half the amount of RAM you have.

2. Create another partition for the Linux distro. You’ll probably want to use EXT4 as the filesystem. Set the “Mount Point” to “/” for the partition where you’re installing Linux

3. Location for the Bootloader installation will be set to the partition that is set to EFI IF YOU’RE USING UEFI/GPT. If you’re using BIOS/MBR, then you’ll most likely want to set it to /dev/sda. Meaning the entire hard disk…

If you choose the manual setup, you probably know what you’re doing or will have to do your own research.

continue following directions…

Test keyboard, maybe do a couple other small things. Give a little info and setup login…

Once you hit continue, it’ll start installing. Go get some popcorn. Read a book. Play guitar. Pick your nose… It’s gonna be 30-60 minutes…

Eventually you’ll get a message saying “Installation is complete! Time to restart your computer!”

Step 5. Take out USB flash drive and Click restart.

Get this weird message about MOK startup or whatever. I just left it alone, and it restarted for me after 10 or so seconds.

Then Boom!

Step 6. Test both Linux and Windows to make sure they both work!

If both systems work, then congratulations! You have a fancy dual-booted system with both Windows AND Linux available on one computer. If you need to switch from one to the other, just reboot your system and select which distro/os you’d like to use.

Reading Makes You Smarter!

Check out our recommended reading! We've chosen a variety of books covering a lot of different topics from Security, Functional programming, clean code, design, Computer Networking and more.

Learn to Code! Get Free Tutorials & Courses Straight to Your inbox!