HOWTO: Create a Windows8/Linux dual boot on UEFI machines

No matter how much we would love Linux to be a Windows replacement, we still need it for legacy stuff or those lazy software developers that still don’t believe Linux owns the future of computing.

Making a dual boot with Windows XP is bit of work, but nothing noteworthy.
Windows 8 implemented a lot of new features that take advantage of UEFI and extra rescue partitions that make it easier to repair a broken system. All very nice if you like Windows as your only operating system.

Also if you install Windows 8 from an USB stick in UEFI mode it will demand a GPT disk layout, which will probably conflict with your current Linux install (which is MBR? right?).

The UEFI system and the additional rescue partitions make it a lot harder to implement Windows 8 in a dualboot system.
This HOWTO will show you how to bypass the UEFI stuff and get rid of the additional partitions Windows normally creates by default.

1. Disk Partitioning
Boot from a Linux Live CD/USB and use Gparted to partition your harddisk, something like this:


It’s fine if  you want a separate BOOT or HOME partition for your Linux install, just make sure that after your Linux partitions you create an NTFS partition.

2. Install Linux
Install your favorite Linux distro using the partitions you created. If you already installed Linux, resize your partitions with Gparted from a live CD or USB and create an NTFS partition. Don’t leave any space unpartitioned on the hard disk, otherwise Windows will partition it.

3. Prepare Bootable Windows USB Stick
I assume most who read this won’t be spending any money on DVD’s to install Windows. So grab an USB stick (8GB minimum) and copy your Windows ISO image to it with WinUSB if you’re on Linux or WINToBootic if you’re on Windows.

4. Installing Windows
Reboot your system (with the USB stick still inserted) and start hitting the F8, F11 or F12 button to get the boot selection screen from your BIOS. You should see your USB stick listed twice, once with UEFI and once without. Choose the option without UEFI, otherwise windows will insist on using GPT disk layout.


Now it’s time to install Windows. When the setup has loaded you must choose your language and keyboard layout. Windows will now ask you what type of installation you want, choose ‘custom’.
You can now select the partition on which to install Windows, select your pre-made NTFS partition and you should be able to press ‘next’. You should not get a message notifying you of additional partitions being made.
If you cannot advance, you’ve either booted the Windows setup in UEFI mode or didn’t get the partition layout right.



6. Restoring Grub
After the installation finished Windows has taken over and replaced our Linux boot code. To fix this we need Grub Doctor from the Rescatux live CD or PartedMagic. If you use Rescatux, extract the ISO from the ISO you downloaded (yes, i was confused as well). Then use Unetbootin to copy the ISO to an USB stick.

Rescatux
from the main menu choose ‘grub’ and ‘restore grub’.

PartedMagic
Click start > Boot Utilities > Boot Loader Restore Utility.


You only have to choose your Linux root partition and select the drive where the MBR code should be installed. In this case the partition would be sda1 and the disk sda.



Conclusion
Don’t use UEFI in a dual or multi boot situation. It is said to speed up things at boot time, but this is only in the case where you use a single OS. A multi-boot system always waits a few seconds offering the user to select the OS to boot.
Sure UEFI offers more than just a little improvement in boot time, but the technology is far too young and complicated in cases where compatibility is needed, so just avoid it for some years to come.