[Bug 1800722] Re: EFI booting + /boot on LVM == inaccessible boot menu
Launchpad Bug Tracker
1800722 at bugs.launchpad.net
Thu Jan 31 09:16:28 UTC 2019
This bug was fixed in the package grub2 - 2.02-2ubuntu8.10
---------------
grub2 (2.02-2ubuntu8.10) bionic; urgency=medium
[ Mathieu Trudel-Lapierre ]
* debian/grub-check-signatures: check kernel signatures against keys known
in firmware, in case a kernel is signed but not using a key that will pass
validation, such as when using kernels coming from a PPA. (LP: #1789918)
* debian/patches/mkconfig_leave_breadcrumbs.patch: make sure grub-mkconfig
leaves a trace of what files were sourced to help generate the config
we're building. (LP: #1812863)
[ Steve Langasek ]
* debian/patches/quick-boot-lvm.patch: If we don't have writable
grubenv and we're on EFI, always show the menu. Closes LP: #1800722.
-- Mathieu Trudel-Lapierre <cyphermox at ubuntu.com> Wed, 09 Jan 2019
14:04:09 -0500
** Changed in: grub2 (Ubuntu Bionic)
Status: Fix Committed => Fix Released
--
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/1800722
Title:
EFI booting + /boot on LVM == inaccessible boot menu
Status in grub2 package in Ubuntu:
Fix Released
Status in grub2 source package in Bionic:
Fix Released
Status in grub2 source package in Cosmic:
Fix Released
Bug description:
[Impact]
This issue makes it impossible for UEFI users to access to boot menu and choose their kernel if /boot is installed on LVM.
[Test case]
1) Install Ubuntu on UEFI; put /boot on a LVM LV.
2) Reboot after the install
3) Verify that you will get a GRUB menu at boot.
[Regression potential]
Give particular attention to boot behavior on different disk setups: failure to show the menu on LVM or other disk setups when holding the SHIFT key, or showing the menu at every boot unnecessarily on other types of disk configurations: /boot on a physical partition, etc.
---
Because EFI does not support instantaneous read of modifier keys (i.e.
holding down shift at boot), the only way to reliably show a boot menu
is by letting the system boot, interrupting the boot, and letting the
menu be displayed because 'recordfail' has been set.
If /boot/grub is on LVM, recordfail does not work, because grub
doesn't have write support on LVM, so saveenv doesn't work. Indeed,
from the grub.cfg on such a system, the recordfail function is written
as:
function recordfail {
set recordfail=1
# GRUB lacks write support for lvm, so recordfail support is disabled.
}
The interaction of these two limitations means that systems with
/boot/grub on LVM cannot reliably get a grub menu, ever.
While I think that in the long term we should always put /boot/grub on
the ESP (which means it will always be writable by grub), which is in
fact what we did for Ubuntu Core, in the meantime I believe what we
need to do here is always show the boot menu if we are booted under
EFI and we have a non-writable grubenv.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1800722/+subscriptions
More information about the foundations-bugs
mailing list