The firmware is buggy in most intriguing ways that I haven't quite been
able to completely determine yet. The Secure Boot status doesn't
noticeable affect the dodginess. There's one easy workaround that
doesn't involve hacking things from Windows:

 1) Hit F2 on boot to enter setup and switch to the Security tab.
 2) Set a supervisor password.
 3) Choose "Select an UEFI file as trusted for executing" and select 
HDD0\EFI\ubuntu\shimx64.efi.
 4) You can choose between Windows and Ubuntu at the F12 menu, and choose a 
default in setup.

The firmware automatically adds entries for Windows Boot Manager and the
nominated Secure Boot trusted file to the menu on boot no matter what
the OS-visible EFI variables say.


Alternatively, I've also managed to get a proper EFI variable entry to stick in 
some circumstances, but it's not for the faint of heart:

 1) Boot GRUB from USB media
 2) Hit "c" and run "exit" twice. You should you end up in the boot list, with 
an Unknown Device option that starts Ubuntu. If you end up in Windows instead, 
try pushing Windows Boot Manager down the boot priority list.
 3) Use efibootmgr to delete all the boot entries starting with "Boot0".
 4) Create a fresh entry for ubuntu with "sudo grub-install" -- or manually 
create one, but the name must be "ubuntu". The firmware will create an entry 
for Windows on reboot. Don't reboot before the next step, or it won't work.
 4) In /sys/firmware/efi/efivars, append the bytes 41 30 31 20 09 AE to the 
value of the boot variable corresponding to the fresh ubuntu entry. I have no 
idea what this does, but it works unless you happen to flip one of the bits.
 5) Reboot and hit F12 to confirm that ubuntu shows up as a boot option.
 6) Reboot and hit F2 to tweak the boot order if you desire.

Beware that changing the boot order through the EFI variable can cause
the firmware to overwrite some boot options with "Unknown Device" and
write them back to the EFI variables.


The names "ubuntu" and "Windows Boot Manager" appear to be special, but it's so 
incredibly inconsistent that it's possibly a coincidence that "ubuntu" works. 
For example, some strings will never appear in the list, but others will appear 
only if they appear before "ubuntu" or "Windows Boot Manager". If you include 
both "ubuntu" and "Windows Boot Manager", the entries before the first and at 
least some of the entries between them will work. Everything after the last 
occurrence of a special name will be hidden, and sometimes clobbered to 
"Unknown Device" in the variables. You can have a totally working set of many 
entries, then flip BootOrder around and half the entries will either be 
clobbered or ignored. I've never managed to get an unsuffixed entry to show up, 
and it's not possible to add the suffix after a reboot without recreating the 
variable (identically or otherwise).

BootOnce works reliably, at least. Once.

I stole the 41 30 31 20 09 AE sequence from the end of the entry
automatically created for the manual Secure Boot trust option.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1437797

Title:
  I can't boot ubuntu after installing it dual-boot from kubuntu 14.10
  CD prallel to windows 8.1, UEFI secure boot, on an Acer Aspire E15.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/efibootmgr/+bug/1437797/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to