[Bug 1800722] Re: EFI booting + /boot on LVM == inaccessible boot menu
m4t
1800722 at bugs.launchpad.net
Sat Feb 2 08:31:23 UTC 2019
Seeing a regression here on 18.10/amd64 with 2.02+dfsg1-5ubuntu8.1 using
EFI+btrfs boot volume. No LVM used, just GPT on NVMe.
Regardless of my settings in /etc/default/grub, the boot wait is now 30
seconds.
Relevant settings:
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=0
I've downgraded using the following commands:
apt install grub-common=2.02+dfsg1-5ubuntu8 grub-efi-amd64=2.02+dfsg1-5ubuntu8 grub-efi-amd64-bin=2.02+dfsg1-5ubuntu8 grub2-common=2.02+dfsg1-5ubuntu8
apt-mark hold grub2-common grub-efi-amd64
And it's returned the previous behavior.
--
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