Oct 182013

Some choices Microsoft took in their way to handle EFI increase the difficulty to dual boot Windows 8 (and even more so 8.1) with Linux. Observing how these choices evolved with the release of Windows 8.1, I presume these changes were intentional to lock other operating systems out, when using Windows 8(.1). This post only concerns you, if you installed your PC in EFI mode, i.e. you use for example an EFI version of grub. It also concerns you, if you didn’t decide yet, whether to install in EFI mode or in BIOS mode. Short answer: BIOS mode.

Windows 8 introduces some new form of automatic hibernation. If you do not turn this feature off, you will not be able to dual boot with Linux. The following will happen:
After installing Windows 8 in EFI mode and then your preferred GNU/Linux in EFI mode, you will install for example grub-efi.
Check that it boots by booting into Linux (it works).
Then boot Windows 8 (also works).

On the next reboot grub will be gone forever, automatically overwritten by the Windows bootloader. I have not found official documentation as to why, but it happens every shutdown using the new hibernation feature. I guess Windows has a backup of its bootloader somewhere, which it overwrites on shutdown. An answer to the problem can for example be found on Stackoverflow.

Once you turn the hibernation feature off:

powercfg -h off
(Source: Technet)
DO NOT boot into Linux immediately, but do one more shutdown restart cycle with windows. IF you install grub immediately after and then boot windows, your BCD will become corrupted somehow (I guess Windows tries to set some bit in the bootloader, which since then got changed with grub) and you will get a completely unbootable system.
After another power cycle (trust me, you really need it!), install grub-efi as usual.

Now to the changes with Windows 8.1:
With Windows 8.1 Microsoft silently asks you to also enable UEFI Secure Boot, if you boot in EFI mode. This is done by a permanent watermark “SecureBoot isn’t configured correctly.” akin to the “Your windows license is not legitimate” in the lower right corner of the desktop. Currently the only way to remove it is similar to the way you can remove the watermark, if you have an illegal copy, by binary hacking some resource files (don’t do it). If you choose, like me, to have Secure Boot disabled out of your own free will, you will not be able to remove the watermark.

Again to summarize: Use BIOS mode or better: use Windows 7 or even better: Don’t use Windows at all.

 Posted by at 12:58 pm

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>