How to dual-boot Ubuntu 12.04 and Windows 7 and how to dual-boot Ubuntu 12.04 and Windows 7 on a computer with 2 hard drive provided step-by-step guides on how to setup a dual-boot system with those operating systems. They were based on test installations on computers with BIOS (Basic Input/Output System) firmware.

While the tutorials worked for people using computers with BIOS firmware, those using newer computers with UEFI firmware ran into one or more problems. UEFI (Unified Extensible Firmware Interface) is a replacement for BIOS, and it is very likely that any computer or motherboard you buy today will have UEFI instead of BIOS firmware.

Since I just built a new computer with UEFI firmware, I decided to recreate those tutorials to show how it should be done on computers with the latest firmware, and also to see if I will run into any of the problems that others have been reporting.

The computer used for this article is a custom-built one with an ASRock Z77 Pro4 motherboard, the same one I used for writing dual-boot Windows 7 and Ubuntu 12.04 on a PC with UEFI board, SSD and HDD. The only difference between that article and this one, is that this one shows how to set up the dual-boot system on single, 500 GB hard drive.

Since it is likely that you will already have an existing installation of Windows on your computer, the tutorial begins on a system with a fresh, default installation of Windows 7. That means, there are just two partitions on it – the Windows 7 System Reserved partition, and the main Windows 7 partition – the C drive. The task here is to shrink the C drive, freeing up enough room for Ubuntu. Then install Ubuntu on the free space.

To install Ubuntu, the partitions have to be created manually, with the following three partitions created: A boot partition; a root partition; and a partition for Swap space. GRUB, Ubuntu’s boot loader will be installed in the boot partition. After Ubuntu has been installed successfully, an entry for Ubuntu will then be added to Windows 7’s boot menu, so you will have a choice of OS to boot into from the Windows boot menu. That, in a nut shell, is the task at hand.

If you are new to Linux, have never set up a dual-boot system before, and are not familiar with disk partitioning in Linux, it is highly recommended that you read guide to disks and disk partitions in Linux and 7 tips for dual-booting Linux distributions and Windows.

Before you start messing with the partitions in Windows, download an installation image of Ubuntu 12.04 from here. Burn it to a CD or transfer it to a USB stick.

Let us begin.

1. Windows Partition Manager: Since we are starting with a system with an existing installation of Windows 7, we need to shrink the C drive. To do that, start Windows 7’s partition manager: Type partition into the search box and click the only item that appears. This screen shot shows what it looks like. On a single disk system like the one used for this tutorial, you should see two partitions as shown in this image. The one you need to mess with is the C drive. Do not touch the System Reserved partition. Right-click on the C drive and select Shrink Volume.
Windows 7 Partition Manager

2. Shrink The C Drive: This window should open. Because my test system is a fresh installation on a 500 GB HDD, it has plenty of free space, and Windows has decided that it is save to shrink the C drive down to about 14 GB. That works for me and for the purpose of this tutorial. If you are satisfied with what you are seeing on this window, click the Shrink button.
Windows 7 Shrink Partition

3. Unallocated Windows Partition: Back to the main partition manager’s window, you should see the space that was recovered from the C drive. It is the one labeled Unallocated. That is what will be partitioned for installing Ubuntu. Close the window and reboot the computer. Be sure to put the Ubuntu installation CD in the optical drive before rebooting.
Windows 7 Free Partition

4. Ubuntu’s Installation Requirements: When the computer boots from the Ubuntu installation CD, start the installer either from the Live desktop or without first booting into the Live desktop. Click through the first few steps until you get to this one. This just tells you how much space you will need to install Ubuntu. Click Continue.
UbuntuSpace

5. Ubuntu’s Partitioning Methods: You should now be looking at this step. You want to choose Something else. Why? Because that is the one that will allow you to configure the partitions manually and let you choose where the boot loader will be installed. The other options will create the partitions automatically, install GRUB in the Master Boot Record (MBR), which will overwrite Windows’ boot programs there. Continue. Selecting Something else else takes you to the Advanced Partitioning Tool.
Ubuntu Partition Methods

6. Ubuntu’s Advanced Partitioning Tool: This is the Advanced Partitioning Tool. You can see the two NTFS (Windows) partitions and the space that was recovered from the C drive. In this screen shot, /dev/sda2 is what Windows calls the C drive. The System Reserved partition is /dev/sda1. Do not mess with either one. You will be creating partitions for Ubuntu using the free space. So, select it and click Add to start creating partitions. For this tutorial, only the boot, root and Swap partitions will be created. If you want, you can create another one for /home.
Advanced Partition Tool