Best friends forever? Well, maybe not, but we can at least get Windows 8 and Linux booting from the same machine without too much trouble. Ashton Mills explains.
You’ll need this
To its credit, Windows 8 adds much more than just the Modern UI. There’s the underlying changes for memory efficiency, graphics performance (particularly elements like images, for which the Modern UI heavily relies on) and of course, the range of system-wide improvements like more informative copy dialogues and the ever-so-sexy Task Manager.
It also revamped, for the first time, both the dreaded BSOD screen and in many ways, its reluctant partner: the Windows boot manager. Under the bonnet the Windows boot manager works much the same as it did in Windows 7, with the added difference that’s it’s a heck of a lot nicer to look at. No longer are you presented with merely an ASCII-based white-on-black boot menu, much like GRUB for Linux; instead, there’s a soft blue background with large icons and fonts that mimic the Modern UI — and it’s mouse driven to boot (HA! See what I did there?). Such that, for some of us here at APC, we actually prefer the look of Windows 8’s boot manager than the traditional Linux one, even if slightly prettified in distributions like Ubuntu.
So, while you can easily set up a dual-boot system by installing Windows 8 first and then Linux, you’ll be left with GRUB to manage your boot. If you prefer the look of the Windows 8 menu, here’s how to dual-boot Windows 8 and Linux using the Windows 8 boot manager.
Step 1: Installation order
Installing Windows 8 and Linux on the same system doesn’t change — always do Windows first and then Linux second. However, the only difference now is to install GRUB to the root partition (or a /boot partition, if you set one up) instead of the MBR of the hard drive. For example, you might configure your installation to look something like the diagram below.
When you do this, you initially won’t be able to boot to Linux once the installation finishes. This is fine, as we’ll fix that in a moment.
You can configure your installation to look something like this.
Step 2: Install EasyBCD
Reboot and once Windows 8 has loaded, drop to the desktop and head to neosmart.net/EasyBCD. Click on ‘Register’ at the bottom of the page and optionally fill in your details if you’d like to help support EasyBCD. This isn’t necessary, though, and you can click ‘Download!’ to download EasyBCD whether you register or not.
EasyBCD has been around for some time and provides flexible control over the Windows Boot Configuration Data (BCD). This includes the boot menu, for which Windows is actually quite a capable tool. It’ll happily boot a range of Windows operating systems and much like GRUB, it can be configured to chain-load non-Microsoft operating systems — with a little help, anyway. One of the features of EasyBCD is the integration of both a GRUB boot image and GRUB chain-loader, allowing you to boot Linux from the Windows boot menu.
EasyBCD has been updated with Windows 8 support, making it a snap to use the new Windows 8 boot menu to boot both Windows and Linux.
The contents of the BCD loader for dual-booting Windows 8 and Linux.
Step 3: Chain-load GRUB
Start EasyBCD and back up the current BCD configuration file by clicking ‘BCD Backup/Repair > Backup Settings’. Next, click ‘Add New Entry’ and under the ‘Linux/BSD’ tab, click on the ‘Type’ field and choose ‘GRUB2’ (if using Ubuntu). Under the ‘Name’ field, change it to whatever distribution you’re using and for ‘Drive:’, set it to ‘Automatically locate and load’.
Hit ‘Add Entry’ and you’re done! If you click on the ‘View Settings’ button, you should see a new entry for your distribution or ‘NeoSmart Linux’ if you didn’t change the name.
Adding a new entry to boot Linux.
If you’re using another version of Linux, check to make sure which version of GRUB it’s using. If the original GRUB is being used, you’ll need to select ‘GRUB’ instead and, since it can’t be automatically located and loaded, set the partition you installed GRUB to in the ‘Drive:’ field. Later, if for whatever reason this isn’t working, you can try ticking ‘Use EasyBCD’s copy of GRUB’.
Finally, if you forgot to change the name for the entry or want to change it later, click ‘Advanced Settings’ and under the ‘Basic’ tab rename the entry before clicking ‘Save Settings’.
Naturally, you can also use EasyBCD to alter other boot menu settings such as reordering the list, setting the default operating system and changing the timeout. All of these can be found under the ‘Edit Boot Menu’ section. Don’t forget if you run into any problems, you can also restore your original Windows 8 boot menu settings from the ‘BCD Backup/Repair’ option.
And that’s it! Enjoy your dual-boot Windows 8 and Linux system with a more modern and cleaner boot time interface.
Other tips: Cheating Windows 8’s cheat
Once you have more than one operating system installed alongside Windows 8, you may notice some interesting behaviour with the way Windows 8 boots. When you’re presented with the boot menu, this isn’t a first step before choosing what operating system loads. As part of its changes to decrease boot times, Win 8 actually loads in the background and the boot menu is more a formality: if you click to boot Windows 8, you’ll instantly be presented with the login screen; if you choose to load another operating system, your machine will reboot before loading into the other OS.
It’s a bit of a hack on Microsoft’s part to create the illusion of speed and while it doesn’t bother us too much (having SSDs for boot drives helps), you can bypass this behaviour with a neat little tool also made by NeoSmart: iReboot.
EasyBCD has an option to install iReboot under ‘Useful Utilities’, but we found this didn’t work. Instead, head to neosmart.net/iReboot to download and install the latest version.
Once installed, a tray icon will appear to you let choose from your boot menu what operating system you’ll load at your next boot, making it possible to reboot once to Linux, instead of twice when rebooting from Windows 8. Neat!
For more tips and how-tos, follow us on facebook, twitter or RSS.