grub-efi-amd64 postinst fails to install GRUB if previous GRUB install is not detected

Bug #1879558 reported by Daniel Richard G. on 2020-05-19
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)

Bug Description

This concerns grub-efi-amd64 2.04-1ubuntu26 in Ubuntu focal.

Currently, when grub-efi-amd64 (or grub-efi-amd64-signed) is installed or reconfigured, the following steps occur:

  1. Package postinst script runs

  2. postinst checks if /boot/grub/x86_64-efi/core.efi is present, and if so...

  3. "/usr/lib/grub/grub-multi-install x86_64-efi" is invoked

The check in #2 is accompanied by this comment:

        # Check /boot/grub to see if we previously installed to an ESP. We don't
        # want to trigger the install code just by installing the package,
        # normally the installer installs grub itself first.

I very much *want* the package install (or configuration) to do the GRUB install, even if GRUB was not previously installed by the Ubuntu installer. I am specifically concerned with the case of a system with grub-pc being transitioned over to grub-efi-amd64. If a standard system image with the former is installed onto an EFI system, then this conversion is needed. (There is also the case of systems that are themselves converted from BIOS booting to EFI.)

I do not know the motivation for the "only install if previously installed" check, but if the goal is to avoid installing GRUB to a plain /boot/efi/ directory (one that is not a separate special EFI partition), then it should be enough to check that /boot/efi/ is a mountpoint. I think it is reasonable to expect the user to set up the EFI partition and mount it prior to installing the package.

(Ideally, the package would alert the user if it cannot install GRUB due to /boot/efi/ not being set up correctly.)

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers