Public bug reported: I am trying to install Focal 20.04 on an UEFI machine, but it fails at the end when installing grub. Here are messages from syslog:
May 26 11:51:56 grub-installer: info: Running chroot /target grub-install --force "dummy" May 26 11:51:56 grub-installer: Installing for x86_64-efi platform. May 26 11:51:57 grub-installer: File descriptor 3 (pipe:[37905]) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 4 (/dev/ttyS1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 5 (/dev/ttyS1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 6 (/dev/ttyS1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 8 (/dev/sdb1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 3 (pipe:[37905]) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 4 (/dev/ttyS1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 5 (/dev/ttyS1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 6 (/dev/ttyS1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: File descriptor 8 (/dev/sdb1) leaked on vgs invocation. Parent PID 3610: grub-install May 26 11:51:57 grub-installer: grub-install: warning: Cannot read EFI Boot* variables. May 26 11:51:57 grub-installer: grub-install: warning: read_file: could not read from file: Input/output error. May 26 11:51:57 grub-installer: grub-install: warning: vars_get_variable: read_file(/sys/firmware/efi/vars/Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var) failed: Input/output error. May 26 11:51:57 grub-installer: grub-install: warning: efi_get_variable: ops->get_variable failed: Input/output error. May 26 11:51:57 grub-installer: grub-install: error: failed to register the EFI boot entry: Input/output error. May 26 11:51:57 grub-installer: error: Running 'grub-install --force "dummy"' failed. May 26 11:51:57 debconf: --> SUBST grub-installer/grub-install-failed BOOTDEV dummy May 26 11:51:57 debconf: Adding [BOOTDEV] -> [dummy] May 26 11:51:57 debconf: <-- 0 May 26 11:51:57 debconf: --> INPUT critical grub-installer/grub-install-failed Note the failed access to /sys/firmware/efi/vars/Boot0001-8be4df61-93ca- 11d2-aa0d-00e098032b8c/raw_var Looking at the EFI boot-related variables also fails with efibootmgr: ~ # mount -t sysfs sys /target/sys ~ # chroot /target efibootmgr Skipping unreadable variable "Boot0001": Input/output error BootCurrent: 0005 Timeout: 1 seconds BootOrder: 0005,0006,0007,0008,0004,0001 Boot0004* UEFI: Built-in EFI Shell Boot0005* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0006* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0007* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0008* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx MirroredPercentageAbove4G: 0.00 MirrorMemoryBelow4GB: false Note again the problem with Boot001. Doing the same with a Xenial 18.04 system, there is no such error: [08:30:21] root@cbk130411:~# efibootmgr BootCurrent: 0005 Timeout: 1 seconds BootOrder: 0005,0006,0007,0008,0009 Boot0001 Hard Drive Boot0004* UEFI: Built-in EFI Shell Boot0005* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0006* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0007* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0008* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0009* ubuntu [08:30:07] root@cbk130411:~# efibootmgr -v BootCurrent: 0005 Timeout: 1 seconds BootOrder: 0005,0006,0007,0008,0009 Boot0001 Hard Drive BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)..GO..NO..........I.N.T.E.L. .S.S.D.S.C.2.K.G.4.8.0.G.8.LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG...LOTS-OF_DATA-THAT-IS-VERY-LONG.....2.B.G.N........BO Boot0004* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO Boot0005* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(9803xxxxxxxx,1)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO Boot0006* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x1)/MAC(9803xxxxxxxx,1)/IPv4(0.0.0.0:0<->0.0.0.0:0,0,0)..BO Boot0007* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(9803xxxxxxxx,1)/IPv6([::]:<->[::]:,0,0)..BO Boot0008* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx PciRoot(0x3)/Pci(0x2,0x0)/Pci(0x0,0x1)/MAC(9803xxxxxxxx,1)/IPv6([::]:<->[::]:,0,0)..BO Boot0009* ubuntu HD(1,GPT,cd9cb552-6580-4f5d-9804-76166ce0de68,0x800,0x3d0000)/File(\EFI\Ubuntu\shimx64.efi)..BO The value for Boot001 is very long, longer than 1024 bytes. I found that there is a problem with long values: https://www.kernel.org/doc/Documentation/filesystems/efivarfs.txt When I retried (by hand) with Focal 20.04 after mounting efivarfs, things worked better: (something like this) ~ # mount -t efivarfs efivars /target/sys/firmware/efi/efivars ~ # chroot /target grub-install --target x86_64-efi --force "dummy" Installing for x86_64-efi platform. File descriptor 4 (/dev/sdb1) leaked on vgs invocation. Parent PID 9684: grub-install File descriptor 4 (/dev/sdb1) leaked on vgs invocation. Parent PID 9684: grub-install Installation finished. No error reported. ~ # chroot /target efibootmgr BootCurrent: 0005 Timeout: 1 seconds BootOrder: 0000,0005,0006,0007,0008,0004,000A Boot0000* ubuntu Boot0004* UEFI: Built-in EFI Shell Boot0005* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0006* UEFI: PXE IPv4 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0007* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot0008* UEFI: PXE IPv6 Mellanox Network Adapter - 98:03:9B:xx:xx:xx Boot000A Hard Drive MirroredPercentageAbove4G: 0.00 MirrorMemoryBelow4GB: false The grub-installer takes care to mount /sys into /target (without that you get even more errors about accessing EFI variables, as I discovered), but it should also mount efivarsfs. if [ "$(udpkg --print-os)" = linux ] && [ -z "$(ls $ROOT/sys)" ]; then mount -t sysfs sysfs $ROOT/sys && umount_on_exit /sys fi This is especially important since so fat I have found no way to get this done from the preseed file. ** Affects: grub-installer (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1880855 Title: grub-installer should mount efivarfs To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/grub-installer/+bug/1880855/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs