[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