2

This is a very brief question with a very long intro, which I've provided for context.

LONG INTRO


I have recently been trying to install the AMD 64 bit version of Ubuntu 14.04.1 onto my Acer V11 Touch. This laptop originally ships with Windows 8.1, but I happily deleted that straight away.

The boot was done in EFI, with secure boot on, and through the standard install option from a USB created with pendrivelinux. It all seemed to go well and install correctly, but then I came across a problem which appears to be very common with Ubuntu installs: I had no boot option; my computer booted straight into the USB I used for the install, and the F12 boot menu showed no other possible selection. Upon inspection, I had what appeared to be the correct partitions (a FAT32 efi partition, and ext4 partition with Ubuntu on it, and a Linux swap partition).

I tried all the standard fixes involving things like boot-repair to recover GRUB, but with no luck. I successfully installed a 32-bit version in Legacy BIOS, but this felt like a cop-out. What I've just done, and appears to have worked, is to go into the F2 BIOS menu, and under the "security" tab, enter an option called "Select an UEFI file as trusted for executing", where I followed the options "HDD0", "EFI", "ubuntu", and finally "shimx64.efi". I now have a boot option which appears to load Ubuntu!


SHORT QUESTION:

My question is, what exactly did I do by selecting shimx64.efi as trusted for executing, is it actually the correct thing to do to fix my problem, and can I expect any repercussions some way down the line for dodgy practice..? If it IS the solution I was looking for (as it appears to be), why doesn't it happen automatically?

  • Thank you. I had seen that thread before - it's what gave me the confidence to try messing with those files. I have to assume from re-reading that what I've done is tell secure boot that these are legit options, and bridged the gap between the motherboard and a perfectly good copy of Ubuntu. – Ben Gompertz Jan 22 '15 at 16:06

1 Answers1

2

What does shim do:

shimx64.efi is a relatively simple program that provides a way to boot a computer with Secure Boot active (or ON). On such a computer, an unsigned version of GRUB won't launch, and signing GRUB with Microsoft's keys is impossible, so shim bridges the gap and adds its own security tools that parallel those of Secure Boot. In practice, shim registers itself with the firmware and then launches GRUB.

Why do I need it?

Your computer came with UEFI, an updated replacement of BIOS, that comes with all computer shipping with Windows 8 or above. In these computers the secure boot option is turned on by default in the UEFI. This is a requirement by Microsoft. You could turn secure boot OFF in the UEFI before installing Ubuntu and then you wouldn't need shim.

Why didn't it happen automatically?

I don't know. The installer did put the shimx64.efi at the right location. It is not clear why it didn't activate it. Probably the installer did not expect secure boot to be ON, as you deleted Windows 8.1. Consider filing a bug report against shim so that the developers are aware of the problem and can try to fix it. Open a terminal by pressing Ctrl+Alt+T and enter the following command to file the bug report:

ubuntu-bug shim

For more details about shim see What is the difference between grubx64 and shimx64?

Hope this helps

user68186
  • 33,360