Dual-booting Windows 8 and Ubuntu on a single hard drive (HDD). with UEFI
Using a 128 GB SSD, all attempts failed. I couldn't pinpoint what the issue was, so I abandoned the SSD and switched to a regular hard drive – a 500 GB HDD.
What follows is a step-by-step guide on how I succeeded in dual-booting Windows 8 Pro and Ubuntu 12.10 Desktop on a computer with UEFI firmware on the motherboard, using 64-bit installation images of both operating systems. The objective: Set up the system so that GRUB, Ubuntu's boot loader, is installed in a boot partition, making Windows 8′s boot manager the primary boot manager. So that on each reboot, you will see Windows 8′s boot menu as shown in the screen shot below.
Windows 8 Boot Menu
I made two installations. The first was on real hardware using 64-bit installation images of both operating systems. The second was in a virtual environment using 32-bit versions of both. Either attempt worked the first time. Not a single hitch.
Note that this article does not address dual-booting between Windows 8 and Ubuntu 12.10 on a computer preloaded with Windows 8. Such computers tend to have additional partitions for Windows that you will not create on your own. Not to mention the problem associated with Restricted Boot (Secure Boot).
So, here are the series of steps that I took to get this to work:
A. Download Ubuntu: Installation images of Ubuntu 12.10 are available from here. A 32- or 64-bit image worked, so download what you like or what will work on your computer.
B. Install Windows 8: This assumes that you have an installation DVD of Windows 8. When creating the partitions for Windows 8, set aside some free space for Ubuntu.
C. Install Ubuntu: Ubuntu was installed in the free space created when Windows 8 was being installed. Like the Windows 8 installation, this requires manual disk partitioning, so if you are not familiar with disk partitioning in Linux, be sure to read guide to disks and disk partitions in Linux before starting. Also, read Ubuntu 12.10 installation and disk partitioning guide.
D. Add Entry for Ubuntu in Windows 8: If you boot into Windows 8 after installing Ubuntu, you will have to add an entry for Ubuntu in Windows 8′s boot menu.
Once those four steps are completed, you should have a computer with Windows 8 and Ubuntu 12.10 installed on a single hard drive in dual-boot fashion.
- Windows 8 Installer: So, let's get started. Reboot or boot the computer with the Windows 8 installation DVD in the optical drive. Once the installer starts, click through until you get to the step shown in the image below. Note that this image and the two below it were taken from the test installation in a virtual environment, so the disk size will be different from what you'll see in the Ubuntu installation images further down. Those were taken from the test installation on real hardware, which has a 500 GB HDD.
To create partitions for Windows 8, click on the New link.
Windows 8 Partition Tool
1a. Specify Disk Size for Windows 8: Specify the amount of disk space you want to use, then click Apply. For this tutorial, I specified 75,000 MB, or 75 GB.
Windows 8 New Partition
1b. Windows 8 Partitions: From the disk space you specified, the installer will automatically create two partitions for Windows. For all the test installations I've done so far, the System Reserved partition always got 350 MB of disk space. After installation, I observed that of that amount, more than 200 MB was used initially (about 242 MB on the 64-bit version, and about 210 MB on the 32-bit version). Click Next to continue with the rest of the installation. Note that Drive 0 Unallocated Space is what will be used for Ubuntu.
Windows 8 Create Partition
(Note: Aside from some eye-candy and intrusive configuration options, there is really no major difference between Windows 8′s installer and that of Windows 7.)
After Windows 8 has installed successfully, reboot the computer, with the Ubuntu 12.10 installation DVD in the optical drive. You can start Ubuntu's installation process from the live desktop or without booting into the live desktop. Whichever option you choose, click through until you get to the step shown in the image in Step 2 below.
Ubuntu Installation Requirements: This just informs you what you need to install Ubuntu 12.10. A fresh installation of Ubuntu 12.10 actually takes less than 4.9 GB of disk space. Compare that to almost 15 GB for a new installation of Windows 8. Continue.
Ubuntu Disk Partitioning Methods: This step gives the options for partitioning the disk. The default, Install Ubuntu alongside Windows 8, will overwrite Windows 8′s boot loader in the Master Boot Record (MBR), which is not what we want. While it also sets up a dual-boot system, it has disadvantages that you do not want to deal with. And you definitely don't want to choose Replace Windows 8 with Ubuntu. The option you want, is the last one – Something else. Selecting that and clicking Continue will take you to the Advanced Partitioning Tool.
Advanced Partitioning Tool: This is the installer's Advanced Partitioning Tool window. Though the installer has support for LVM and full disk encryption in the automated partitioning modes, they are not supported in the Advanced Partitioning Tool. Which means that this "advanced" tool is only so in name only.
In this window, you can see two Windows 8 partitions, and the free space. The free space is what will be used to create partitions for Ubuntu. Select it, then click the "+" button. Note that because there are two existing primary partitions on the system, you can only create two more primary partitions. You can read more about that here.
Partition Creation Window: This is the partition creation window. There are no exotic options here. Because there are existing primary partitions on the disk, the installer will attempt to create any new partition as a logical partition. You can stick with what the installer wants to use, or modify if. For this tutorial, I chose to create the first partition for Ubuntu as a primary partition.
Create Boot Partition: The first partition will be mounted at /boot. Notice that "Primary" is selected, instead of "Logical." I allocated 250 MB of disk space to it, which is about the default in this latest edition of Ubuntu. I also chose Ext2 as the file system. That, is also the default for the boot partition in Ubuntu 12.10. OK.
Because I'm assuming that you have read guide to disks and disk partitions in Linux and Ubuntu 12.10 installation and disk partitioning guide, certain details are being omitted in these steps.
Create Boot Partition
Create More Partitions: After the boot partition has been created, you will be returned to the main window of the Advanced Partitioning Tool. To create the remaining partitions, select the free space, then click the "+" button. This step has to be repeated for the other partitions too.
Create Root Partition: The next partition will be mounted at /. I allocated 15,000 MB, or 15 GB to it. And I used the default file system. Because there is just one primary partition left, the installer will create it and subsequent partitions as logical partitions. And there's nothing you can do about that. MBR-based partitioning schemes are limited to a maximum of four (4) primary partitions. OK.
Create Root Partition
Create Home Partition: The third partition will be mounted at /home. Aside from the disk space, I used the defaults for the other options. OK.
Create Home Partition
Create Swap Partition: The last partition is for Swap, disk space that the system may use as memory. It has been suggested that on a 32-bit system, 2 GB is all you need for Swap, and 4 GB or more for a 64-bit machine. Be sure to select "swap area" from the Use as dropdown menu. OK.
Create Swap Partition
Complete Partitions List: When all the partitions have been created, you should see them listed in the main window of the Advanced Partitioning Tool. The final task at this step, is to specify the Device for boot loader installation. By default, it is /dev/sda or the HDD's MBR. But we want GRUB to be installed in the boot partition, which is sda3 in this tutorial. So, select /dev/sda3 from the dropdown menu. GRUB, the GRand Unified Bootloader, is the name of the boot loader in Ubuntu and almost all Linux distributions.
Device Bootloader Installation
Bootloader Device: After the right partition has been selected for the boot loader installation, the window should look like he one shown below. Click Install Now.
Device Bootloader Installation /boot
After the installation of Ubuntu has completed, rebooting the computer will drop you into Windows 8. Last and final task, is to add an entry for Ubuntu is Windows 8′s boot menu. There are several options for doing it, but the one that I've been using for my tutorials, is EasyBCD from NeoSmart Technologies. It is free for personal use.
Download and Install EasyBCD: Download EasyBCD from here. Install it as you would any other Windows application. After installation, start it, if it is not started automatically. The main window is shown below. To add an entry for Ubuntu, click on the Add New Entry tab.
EasyBCD Windows 8
And Entry in EasyBCD: Then click on the Linux/BSD tab. GRUB 2 is the version of GRUB used by Ubuntu 12.10, so select it from the Type menu. For the Drive dropdown menu, Automatically locate and load always worked for me, but you can select the specific partition, if it makes you happy. Modify the Name field to match, then click the Add Entry button.
EasyBCD Add Entry
Preview Boot Manager's Menu: To preview what Windows 8′s boot menu will look like, click the Edit Boot Menu tab. You can change the boot order and mess with a few other options from here. Save Settings, exit EasyBCD and reboot the computer.