Grub efi does not execute /efi/boot/grub.cfg and goes in shell mode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
After installing Ubuntu 15.04 in efi mode, grub efi amd64 does not boot properly:
when the computer boots, it goes directly into grub shell mode,
it does not execute the grub.cfg configuration file in the efi partition (either /efi/boot/grub.cfg or /efi/ubuntu/
from the grub shell, executing the following command resumes normal boot operations.
configfile /efi/boot/grub.cfg
or
configfile /efi/ubuntu/
Reproduce this bug:
install grub with:
the alternate cd (regular ubuntu installation)
or
grub-install --target x86_64-efi --efi-directory ... --root-directory ...
or
grub-install --target x86_64-efi --efi-directory ... --root-directory ... --removable
and try to reboot.
ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: grub-efi-amd64 2.02~beta2-
ProcVersionSign
Uname: Linux 3.19.0-18-generic x86_64
ApportVersion: 2.17.2-0ubuntu1.1
Architecture: amd64
CurrentDesktop: LXDE
Date: Tue Jul 28 10:51:54 2015
SourcePackage: grub2
UpgradeStatus: No upgrade log present (probably fresh install)
More information:
it seems that the prefix is wrongly set when normal.mod is loaded:
echo $root shows (hd0,gpt1) /boot/grub
echo $prefix shows (hd0,gpt1)
On my system, (hd0,gpt1) is the EFI System partition and the linux root is (hd0,gpt3)
This means that normal.mod is looking for (hd0,gpt1) /boot/grub/ grub.cfg instead of (hd0,gpt1) /efi/boot/ grub.cfg
I guess that the right prefix should be (hd0,gpt1)/efi/boot ?
Is it grub-mkimage or grub-install who does this mistake?
In any cases, copying /efi/boot/grub.cfg to /boot/grub/grub.cfg inside the EFI partition is a dirty workaround, but it will works until a fix is committed.