I spent part of the weekend installing the Windows 8 Developer Preview on an ExoPC X86 tablet. The ExoPC already had three versions of Linux on it; Ubuntu 11.04, the MeeGo 1.2 tablet preview and WeTab, which is a third party disto based on MeeGo. I wanted to keep the other OSs if possible. Lots of guides to dual booting Windows and Linux claim that you need to install Windows first as it will take over you hard drive and obliterate any other installed OSs. I'm here to tell you that's not true. Here's how to safely install the Windows 8 Developer Preview alongside Ubuntu.
Download the 64 bit Win8 .iso from http://msdn.microsoft.com/en-us/windows/apps/br229516. I used a Windows 7 box with Microsoft's Windows 7 USB/DVD download tool to create a bootable USB drive.
Before Windows 8 my ExoPC's partitions looked like this
Partition 1 (200 MB primary) WeTab /boot
Partition 2 (primary) /linux swap (shared by WeTab, MeeGo and Ubuntu)
Partition 3 (10 GB primary) WeTab /
Partition 4 (extended) containing:
I hoped to put Windows 8 into a logical partition using the 27 GB of unallocated space. It initially looked promising. Choosing the custom option in the Win8 installer displayed my partitions and seemed to give me the option to install to the unallocated space. But when I tried that I got the error "Setup was unable to create a system partition or locate an existing partition." which I was afraid meant that Windows 8 could only be installed in a primary partition.
Fortunately for me, the Windows 8 installer can install into any partition including logical partitions. However the windows loader must be in a primary parttion. The loader is only about 70 MB. The rest of Windows can be in a logical partition. Also, and this is critical, the Win8 installer only supports installing into a partition if it can find another copy of Windows installed somewhere on the disk. What it looks for specifically is a primary NTFS or FAT partition that has the "active" flag set. This is what it calls the "system" partition. So you can trick the installer into thinking Windows is present by creating an NTFS primary partition and setting its Active flag
As all four of my primary/extended partition slots were allocated something had to go; either WeTab or the extended partition containing Ubuntu and MeeGo. I chose to nuke WeTab which is unfortunate as I've found it to be the best touch friendly Linux distro I've used to date. I'm hoping to be able to find a way to re-install WeTab in a logical partition.
You can do all the necessary partition manipulation from within the Win 8 installer. Here's how:
1. Start the Win8 installer and choose "Custom".
2. If the primary partition you want to use isn't already NTFS, highlight it and tap or click Drive Options (advanced). Otherwise skip to step 4
3.Tap delete to remove the non-NTFS partition, creating some unallocated space. With the unallocated space highlighted, tap New to create an NTFS partition in the unallocated space.
4. Press Shift-F10 from within the Win8 installer to launch a command window and type the following commands:
SELECT DISK 0
LIST PARTITION to display a partition list and verify the partition number that you want to use.
SELECT PARTITION <partition to use>
ACTIVE to set the partition's Active flag.
Type EXIT twice to return to the installer
5. Now you should be able to install Win8 into the active partition if it's large enough. The 64-bit version of Win8 requires 20 GB. If you don't have a primary partition that's big enough, the loader will let you pick any NTFS primary or logical partition to install to as long as you have a primary system partition for it to install the Windows loader to.
When the install finishes, reboot the tablet and it should boot directly into Win8 with no option to boot into your Linux installs. If you had Ubuntu installed as I did it's easy get the GRUB bootloader back so that you can choose to boot Win8, Ubuntu and any other OSs you have. There are several ways to do this which are all documented at help.ubuntu.com. By far the easiest is with the Boot-Repair utility. You can either create a bootable Boot-Repair USB drive or CD or do as I did and use a copy of Ubuntu Live on a bootable USB to install and run Boot-Repair:
Boot Ubuntu Live. Launch a Terminal and type the following to install and run Boot-Repair:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update && sudo apt-get install -y boot-repair && boot-repair\
Then click the "Recommended repair" button to reinstall the Grub2 bootloader with options to launch Windows, Ubuntu and any other OSs you have on your hard disk.
Grub will label Windows 8 as "Windows Recovery Console" and MeeGo as "Other Linux distro". If that bothers you it easily fixable by installing and running Grub-Customizer from within Ubuntu.
Windows 8 runs surprising well on the ExoPC, which uses a single core Atom CPU. The user interface is both attractive and usable on the touch-only tablet. I use Linux as my primary desktop OS and I'm hoping this release from Microsoft will inspire the open source communities to create more and better touch friendly tablet interfaces for mainstream Linux distros.