[Bug 1245154] Re: grub-efi grub.cfg generated with incorrect commands, linux and initrd, instead of linuxefi and initrdefi

David Ball david at daball.me
Wed Oct 30 09:00:29 UTC 2013


I installed the x64 Shell.efi version 2.0 into /boot/efi/Shellx64.efi
and instructed my BIOS to launch the shell so I could poke around a
little bit.

When I boot fs0:/EFI/ubuntu/grubx64.efi, Ubuntu will not boot from my
hard drive, saying /vmlinuz-...-generic.efi.signed has invalid
signature, you need to load the kernel first.

When I boot fs0:/EFI/ubuntu/shimx64.efi, Ubuntu boots just fine using
the one and the same grub that booted from grubx64.efi.

I am still trying to wrap my head around all the implications of UEFI,
but this is perhaps indicative of booting Ubuntu using Secure Boot.

Since almost none of this is documented anywhere, and my BIOS is very
limited, I can't be sure of anything I'm looking at. I'm not sure what
the shimx64.efi is nor why seperate commands are required in GRUB in
order to boot linux using EFI, but it is probably all directly related
to UEFI Secure Boot.

-- 
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/1245154

Title:
  grub-efi grub.cfg generated with incorrect commands, linux and initrd,
  instead of linuxefi and initrdefi

Status in “grub2” package in Ubuntu:
  New

Bug description:
  grub.cfg is generated with incorrect commands, linux and initrd,
  instead of linuxefi and initrdefi. This affects both the install .iso
  for the latest Ubuntu 13.10 and the installed system of the latest
  Ubuntu 13.10.

  Simple Workaround:

  You can hand-edit the commands in grub to boot the target system. Once
  inside, then you can edit /boot/grub/grub.cfg to change all linux and
  initrd commands to linuxefi and initrdefi, respectively. This will
  have to be updated each time the grub.cfg file is regenerated, i.e.,
  whenever new kernels are updated.

  Configuration Patch (Proposed Fix, Untested):

  Then to ensure grub.cfg is regenerated correctly, edit
  /etc/grub.d/10_linux so that

  line 166 says linuxefi instead of linux

  and

  line 182 says initrdefi instead of initrd

  But line 182 probably needs to be updated to include encapsulating
  code that tests for efi just like on lines 164-172 via an:

  if test -d /sys/firmware/efi && test -e "${linux}.efi.signed"; then
  (...use initrdefi) else (...use initrd) ... fi.

  Thanks!
  David

  ProblemType: Bug
  DistroRelease: Ubuntu 13.10
  Package: grub-efi (not installed)
  ProcVersionSignature: Ubuntu 3.11.0-12.19-generic 3.11.3
  Uname: Linux 3.11.0-12-generic x86_64
  ApportVersion: 2.12.5-0ubuntu2.1
  Architecture: amd64
  Date: Sun Oct 27 06:13:32 2013
  InstallationDate: Installed on 2013-10-27 (0 days ago)
  InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
  MarkForUpload: True
  SourcePackage: grub2
  UpgradeStatus: No upgrade log present (probably fresh install)

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



More information about the foundations-bugs mailing list