Please don’t consider this an authoritative post. To reach this point there were many, many reboots, reinstalls, and recoveries.
I bought a small ASUS tower from Best Buy and a 120GB solid-state drive.
I tried to install CentOS 6.4 over Windows 8, but the UEFI boot sequence prevented me from succeeding. Taking this a sign that there was value in Windows 8, I began to look into dual-booting.
Since I will be using CentOS for development and Windows 8 for testing (IE10), I wanted to put CentOS on the solid-state drive, and not modify the Windows 8 drive, other than that which was required to allow dual-booting.
The first few attempts assumed Windows would boot and allow me to choose CentOS, defaulting to CentOS. No matter what I did, this didn’t work. Right or wrong, I think Windows was unable to dual-boot to a drive other than the one it was on.
In the process, I lost the Windows recovery partitions installed by the manufacturer. This meant I had to reinstall Windows from a licensed MSDN disk. It also meant I lost the UEFI elements. But, in the end Windows 8 was booting and running.
I had to disable the UEFI only boot limitation in the BIOS. This may not be necessary.
The next step was to install CentOS, which I did using a USB stick and a network install. The stick was created with UNetBootin, which is really nice.
When the installer got to the part where it asked which drives should be used, I chose both the Windows and solid-state drives, and placed the boot loader on the Windows drive. This is because the Windows drive is identified in the UEFI BIOS as a boot device, and the solid-state disk isn’t. The solid-state device may be considered bootable now that the installation is complete, but there’s no reason to change what is working.
Once CentOS installed everything was fine. The only adjustment I made was to edit the /boot/grub/grub.conf file to change ‘Other’ to ‘Windows 8.’
This is the grub.conf file:
/dev/hd0 is the Windows drive
/dev/hd1 is the solid-state drive
Lessons I learned:
If you use gparted (http://gparted.sourceforge.net/), you can’t install Windows 8 on the new partitions.
I could create the UEFI partitions, but not the recovery partitions. But it wouldn’t work. I’m sure I missed some vital step. Every time.
The EasyBCD tool (http://neosmart.net/EasyBCD/) is really nice, but I couldn’t get it to do what I wanted. I think if you are going to put both operating systems on the same drive, it would be the way to go.
It costs $130 for the GeekSquad at BestBuy to restore the disk to its manufacturer state. I didn’t bother.
You can’t buy a Windows 8 recovery disk from the manufacturer (ASUS) at the time of this writing.
CentOS installs very fast on a solid-state drive. Thank goodness.
Creating the UEFI partitions for Windows 8 would probably take me a week, and even then, I’m not sure it would work. It’s very interesting.
UEFI = Universal Extensible Firmware Interface
I should have made a recovery disk for Windows before I started.
Windows 8 is nice.
Window-X (holding the Windows key and clicking X) gets you the admin menu, which includes the command line and disk management utilties.
Windows 8 has auto-repair, but it didn’t work in my case.
It often takes less time to reinstall than to identify and correct a problem. That’s a fine strategy if you don’t need to know too much. In my case, the goal was dual-boot - not a thorough understanding of the boot load process across two operating systems.