Linux experts Seravo background Linux Debian SUSE
Seravo blog: Linux and open source – technology and strategy

Dual-booting Ubuntu 12.04 and Windows 8 with Restricted Boot

Windows 8 Secure Boot and Ubuntu 12.04In parallel with the introduction of Windows 8, Microsoft also introduced new hardware requirements to all manufacturers who sell pre-installed Windows 8 computers. As Microsoft Windows still has a monopoly in the desktop and laptop computer market, lots of people who buy computers suffer from a new anti-feature Microsoft introduced: Secure Boot.

All Windows 8 computers now come with a new kind of BIOS called UEFI, and with a feature called “Secure Boot” activated. The Free Software Foundation in the U.S. calls this “Restricted Boot“. This feature basically means, that every new computer gets an Microsoft master encryption key embedded at the factory and later on each time the computer powers on and starts the operating system found on the hard disk, it will only do so if the operating system signature is one of those signed by the Microsoft master key. To avoid new monopoly accusations, Microsoft has agreed to sign the boot keys of many Linux distributions and you can still install Linux on computers that are built for Windows 8. On all machines we have seen it is also still possible to disable Secure Boot. However the complexity of the overall installation procedure has increased, which hurts end users and stifles competition. We’ve also stumbled into cases which indicate that there exists multiple Microsoft master keys while Linux distributions have been signed with only one, and the Linux-compatible key is not included in all Windows 8 computers.

If you can avoid buying a pre-installed Windows 8 machine, then don’t buy one! If you want a Linux machine, we warmly recommend the Dell XPS 13 that is available with pre-installed Ubuntu. There are also companies like Teraset, ZaReason, ThinkPenguing and System76 that sell pre-installed Linux laptops. Buy your computer with Linux pre-installed and you’ll avoid all installation related issues.

The instructions below might be useful also when installing other Linux distributions, but for simplicity we focus on one use case: how to install Ubuntu 12.04 alongside a Windows 8.

Procedure

1. To free some disk space for the Ubuntu installation, resize the hard drive using the disk tools in Windows 8.

2. Boot the computer and open the (UEFI) BIOS by pressing F2. If F2 does not work, try other keys like DEL or F8 or consult the manual of your device. Also make sure that the device is really booting and not just continuing from a suspended state by forcefully turning off the computer from the power button (or remove the battery if possible).

3. In the BIOS settings, find the option “Secure Boot” and disable it.

4. Reboot the computer, with a USB stick containing the latest Ubuntu 12.04.3 LTS point release. If your computer does not boot from the USB stick, check out BIOS settings or access the boot menu directly with F8 or some other key, depending on your device.

5. Once you get Ubuntu booted, install it into the free space created earlier.

6. After installation, reboot into Ubuntu. Open a console and disable the Grub OS prober by adding into the file /etc/defaulf/grub the line DISABLE_OS_PROBE=”true”

7. To be able to dual-boot with Windows, add the manual boot entry by appending the file /etc/grub.d/40_custom with the following lines:

menuentry "Windows 8" {
 insmod part_gpt
 insmod chain
 set root='(hd0,gpt2)'
 chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

8. Run sudo update-grub so that the changes take effect and then reboot.

Now you’ll see the boot menu when the computer starts and you can successfully boot either Ubuntu or Windows 8.

Typical errors

If when booting into Windows 8 you see likes like:

error: unknown command 'drivemap'
error: invalid EFI file path

or

/EndEntire
file path: /ACPI(a0341d0,0)/PCI(2,1f)/UnknownMessaging(12)/HD(2,96800,32000,
7c043777b8608641,87,f6)/File(\EFI\Microsoft\Boot)/File(bootmgfw.efi)/EndEntire
error: cannot load image

This means that the file /EFI/Microsoft/Boot/bootmgfw.efi was not found on the hard disk and partition (hd0,gpt2). Use the disk tool in Ubuntu to mount all partitions and search them to find the correct location of that file, and update the custom boot entry accordingly.

See also

Technology article posted on with tags

3 thoughts on “Dual-booting Ubuntu 12.04 and Windows 8 with Restricted Boot

  1. Otto Kekäläinen says:

    Where can you buy pre-installed Linux computers? Check out the directory at http://linuxpreloaded.com/

  2. Gary Deeth says:

    Is there an easy way of gitting rid of ubuntu and the daul boot and just keep windows 8? I find the ubuntu to be inresponsive to any thing I try to do . Nothing seems to work. You download somthing and it just sits there.

Leave a Reply

Your email address will not be published.