[Bug 1247933] Re: unable to persist bootloader id

Lukas 1247933 at bugs.launchpad.net
Thu Apr 30 08:56:33 UTC 2015


grub-install, at least on 14.04 and 15.04, seems to hardcode the path
"EFI/ubuntu" into all secureboot images. This has the effect that
regardless of the boot entry that is selected in the EFI interface, grub
always reads (ESP)/EFI/ubuntu/grub.cfg and continues to boot from the
volume referenced there.

The binary /EFI/<bootloader-id>/grubx64.efi always contains the
hardcoded string "EFI/ubuntu", which seems to be covered by canonical's
signature and thus unchangeable.

If secure boot is deactivated, editing the grubx64.efi binary to reflect
the correct path fixes the issue for me; i.e. if the bootloader is in
EFI/mysecondubuntu, change EFI/ubunt2/grubx64.efi so that the string
"EFI/ubuntu" becomes "EFI/ubunt2" (better keep the length the same in
order to not break the binary alignment). This only works with secure
boot disabled in the firmware; otherwise the signature becomes invalid.

However, when grub-install is invoked using --no-uefi-secure-boot, it
gets even more confusing: grubx64.efi doesn't contain the hardcoded
string anymore, but it seems as if grub.cfg is not even considered
anymore – grub directly continues to boot from some hardcoded boot
volume which I am unable to modify!

All of this makes it almost impossible to install two versions of Ubuntu
on a single machine.

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

Title:
  unable to persist bootloader id

Status in grub2 package in Ubuntu:
  Confirmed

Bug description:
  I have more than one install of Ubuntu on my system and in order to
  distinguish them in the in the efi boot manager I install them with:
  grub-install --bootloader-id="Ubuntu 13.10 - DEV" replacing the
  bootloader id with a significant name for that install. However any
  update that triggers grub-install does not persist this naming scheme
  and returns to the default ubuntu name, making it impossible to
  distinguish systems.

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



More information about the foundations-bugs mailing list