[Bug 1833490] Re: lubuntu grub-install puts efi in the wrong directory - could create an unbootable state

Raman Sarda ramansarda2000 at gmail.com
Tue Jul 23 18:15:38 UTC 2019


@apt-ghetto I don't think the issue is due to calamares-settings-ubuntu. I have followed your instructions about renaming GRUB_DISTRIBUTOR to "bug" and reproduced the issue. But I checked the config file of calamares-settings-ubuntu on phab. and as far as I understand it, the installer might be setting the distributor to "Lubuntu 19.04" but it creates the directory under ESP and also the nvram entry according to this file : https://phab.lubuntu.me/source/calamares-settings-ubuntu/browse/master/lubuntu/modules/bootloader.conf
which has efiBootloaderId: "Ubuntu"

I cannot find a config file anywhere in the calamares-settings-ubuntu
which sets GRUB_DISTRIBUTOR to "Lubuntu 19.04"

So the question is "what sets GRUB_DISTRIBUTOR like that?"

-- 
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/1833490

Title:
  lubuntu grub-install puts efi in the wrong directory - could create an
  unbootable state

Status in calamares-settings-ubuntu package in Ubuntu:
  Confirmed
Status in grub2 package in Ubuntu:
  New

Bug description:
  Lubuntu 19.04
  grub-install from grub2-common 2.02+dfsg1-12ubuntu2

  Summary:

  The lubuntu installer puts the EFI in EFI/ubuntu. The firmware appears
  to be hard coded to this path. Lubuntu grub-install puts the EFI in
  EFI/lubuntu only, and NOT in EFI/ubuntu, which can result in an
  unbootable state (grub prompt).

  Detail:

  Long time debian, new lubuntu user. After a fresh install of lubuntu
  from usb:

  $ efibootmgr 
  BootCurrent: 0003
  Timeout: 0 seconds
  BootOrder: 0003,0002,0000,0001,2001,2002,2003
  Boot0000* Windows Boot Manager
  Boot0001* Linpus lite
  Boot0002* debian
  Boot0003* ubuntu
  Boot2001* EFI USB Device
  Boot2002* EFI DVD/CDROM
  Boot2003* EFI Network

  $ sudo update-grub
  Sourcing file `/etc/default/grub'
  Sourcing file `/etc/default/grub.d/init-select.cfg'
  Generating grub configuration file ...
  Found linux image: /boot/vmlinuz-5.0.0-17-generic
  Found initrd image: /boot/initrd.img-5.0.0-17-generic
  Found linux image: /boot/vmlinuz-5.0.0-13-generic
  Found initrd image: /boot/initrd.img-5.0.0-13-generic
  Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
  Found Debian GNU/Linux 9 (stretch) on /dev/nvme0n1p5
  Adding boot menu entry for EFI firmware configuration
  done

  $ ls /boot/efi/EFI/
  Boot  debian  Microsoft  ubuntu

  $ sudo grub-install
  Installing for x86_64-efi platform.
  Installation finished. No error reported.

  $ ls /boot/efi/EFI/
  Boot  debian  lubuntu  Microsoft  ubuntu

  #### It installs only to lubuntu and NOT also to ubuntu. See comments
  below.

  $ efibootmgr 
  BootCurrent: 0003
  Timeout: 0 seconds
  BootOrder: 0004,0003,0002,0000,0001,2001,2002,2003
  Boot0000* Windows Boot Manager
  Boot0001* Linpus lite
  Boot0002* debian
  Boot0003* ubuntu
  Boot0004* lubuntu
  Boot2001* EFI USB Device
  Boot2002* EFI DVD/CDROM
  Boot2003* EFI Network

  $ strings /boot/efi/EFI/ubuntu/* |egrep EFI/l?ubuntu
  /EFI/ubuntu

  $ strings /boot/efi/EFI/lubuntu/* |egrep EFI/l?ubuntu
  /EFI/ubuntu

  
  I discovered this when I moved my lubuntu partition to another drive and tried to get grub to reinstall. I also deleted unnecessary EFIs (ubuntu and later both). I only figured out the problem after reinstalling Lubuntu from scratch and observing the state of the EFI partition after install.

  If the ubuntu folder is removed (and possibly requiring a partion id
  change but not likely), attempting to boot lubuntu will go to a grub
  prompt.

  `set` revealed:
  `root=(hd1,gpt1)` (my EFI partition)
  `prefix=(hd1,gpt1)/EFI/ubuntu` (had been deleted, and grub-install did not put it back)

  Lubuntu could be booted with the following commands, where hd1,
  partition 7 is the new root:

  ```
  set root=(hd1,gpt7)
  set prefix=(hd1,gpt7)/boot/grub
  insmod normal
  normal
  ```

  No amount of running `update-grub`, and `grub-install`, creating
  custom grub entries, or running grub from debian or a rescue disk
  mattered. The only thing that fixed it was reinstalling as that's the
  only thing that put the EFI/ubuntu folder back. I probably could have
  just manually renamed the directory in EFI from lubuntu to ubuntu.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/calamares-settings-ubuntu/+bug/1833490/+subscriptions



More information about the foundations-bugs mailing list