[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