Score:0

Grub only boots second Linux partition (UEFI) from firmware

cn flag

Here's my somewhat strange multi-boot config:

  • Windows 10 on a Surface Pro 4 (no secure boot)
  • Ubuntu 20.04 LTS on /dev/nvme0n1p5 partition
  • Lubuntu 21.10 on /dev/sda2 (SD card in built-in slot seen as /dev/sda)

For whatever reason, maybe because this is old tired hardware, I can't get into Lubuntu except by booting the Ubuntu partition from the UEFI firmware menu (hold down the Vol+ button when booting), then select the same (default) menuentry that fails when I bypass this mechanism and boot without mashing the Volume Up button.

The message when I select the Lubuntu or Advanced Lubuntu item is: "Can't find device: xxx(GUID)xxx; No such HD1; You need to load the kernel first".

Interestingly, Windows 10 boots OK either way? It's almost like I'm missing a modprobe to reveal /dev/sda. Also, USB mouse attached to Hub through the one USB 3.0 port sometimes won't work to scroll through the entries.

Maybe I should make the UEFI menuentry be the default? That way if the usb mouse/keyboard aren't functional, at least it will return to the menu where my (tri-) boot successfully launches.

Thanks for any advice or input!

oldfred avatar
cn flag
Please copy & paste the pastebin link to the Bootinfo summary report ( do not post report), do not run the auto fix till reviewed.Lets see details, use ppa version with your USB installer (2nd option) or any working install, not Boot-Repair ISO https://help.ubuntu.com/community/Boot-Repair
AlMo320 avatar
cn flag
https://paste.ubuntu.com/p/7xKpY586yb/ Thank you for looking!
AlMo320 avatar
cn flag
Guess I shouldn't have plugged in the external usb ssd before running boot-info. You can pretty much ignore all related to /dev/sdc.
oldfred avatar
cn flag
Boot-Repair is finding all the installs. I do not know if they have fixed it, but I used to try to use different names/labels for different installs in UEFI, but something in Ubuntu's shimx64.efi or grubx64.efi is hard coded to /EFI/ubuntu/grub.cfg, so other grub.cfg were never used. I use one grub to boot Use labels and configfile to boot another install to avoid hd0,hd1 issues. https://askubuntu.com/questions/344125/how-to-add-a-grub2-menu-entry-for-booting-installed-ubuntu-on-a-usb-drive/344359#344359 & https://www.gnu.org/software/grub/manual/grub/grub.html#Multi_002dboot-manual-config
AlMo320 avatar
cn flag
I added this to the 40_custom, same situation: if I boot it from UEFI Firmware menu, a hardware enumeration takes place allowing grub to find the /dev/sda1 or (hd1,gpt1) or UUID=foo, otherwise, device not found: menuentry "Install on sdb1" { linux /boot/vmlinuz-5.15.14-surface root=/dev/sda1 ro quiet splash initrd /boot/initrd.img-5.15.14-surface }
AlMo320 avatar
cn flag
/dev/sda is formatted GPT, I guess you can tell that from the boot-info report. Only oddity here is ESP is on /dev/sda4 not /dev/sda1 but that shouldn't matter I assume.
Score:0
ru flag

Boot into the grub menu. Select Advanced options for UbuntuRecovery modegrub.

This should find all 3 operating systems on the PC.

AlMo320 avatar
cn flag
Tried that; it temporarily changes screen resolution to `unreadably small` but problem remains. I will try to get the pastebin link up here, however, here is what I see (for ~5 secs) when I try to boot the Lubuntu option outside of the UEFI f/w: error: no such device 6df9xxx-xxxx-xxxx-xxxx. error: file `/boot/vmlinuz-5.15.14-surface' not found. error: you need to load the kernel first. Press any key to continue ...
Score:0
cn flag

Thanks @oldfred for pointing me at the solution. The following addition to 40_custom did the trick:

menuentry "Lubuntu 21.10 on sda" { 
   linux /boot/vmlinuz-5.15.14-surface root=/dev/sda1 ro quiet splash 
   initrd /boot/initrd.img-5.15.14-surface 
}
oldfred avatar
cn flag
I do not suggest /dev/sda1 as that may change. I find plugging in flash drive changes my sda drive to sdb and flash drive is sda. I just found my own error on a backup mounting sda4 and wondered why I had a lot of data in my external drive. UUID or labels are more reliable.
AlMo320 avatar
cn flag
UUID didn't seem to work (same message I posted as OP), labeling the grub menuentry made grub fail silently, then return me to the calling menu. So for now I will have to run update-grub on the 'root' OS on nvme0n1p5 every time I update the kernel on sda1. And making the UEFI Firmware the default in grub sort of 'cajoles' me into going that route to access any additional installations on sdb, c, d, etc. Thank you @oldfred again, for the advice and boot wisdom!
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.