Multiple Boot Menus?

I've described elsewhere my process from migrating an old laptop to Ubuntu MATE 24.10. The laptop has a new life, even though there are some idiosyncrasies that have shown up (not surprisingly, and perhaps one reason Linux isn't as widely accepted as it might be). Noe of these are show-stoppers. They are more like head-scratchers.

Top of my (short) list is the fact that my laptop now has THREE boot menus! Simply put, they are:

  • The standard GRUB mernu that appears (and disappears if I ignore it)
  • The EFI (formely BIOS) menu, that appears if I press the F1 key at boot time, and which lets me set the hardware clock, boot device order, and low-level stuff we don't normally need to tweak, and
  • My OTHER boot / GRUB menu. This is a menu that appears if I press the Enter key at the boot screen (you know, "To interrupt the normal startup process, press the Enter key..."

This last one is the weird one. It's a "legacy" boot menu, as it contains listings for the three previous OSes (Windows, Ubuntu, MXLinux) I had run on the machine before.

When I installed 24.10, I instructed the installer program, which recognized there were other operating systems installed, to simply scrub the entire disk and reformat and lay down Ubuntu MATE using the entire disk.

I thought maybe I could simply delete the old menu, so I installed GRUB Customizer, but running it only reveals the new correct menu.

So, where does the old one live? When I boot into it, I'm not given any means to modify it. Perhaps I can get to it through GParted? Again, as I say, it's not a show-stopper, and if I let the computer boot normally, I never see it.

And since I'm on the subject of idiosyncrasies, all of a sudden I notice two wi-fi items in my menu bar. They both reveal the same information, but the "new" one is slightly larger than the other, and it appears on the leftmost of my icons. I can probably tweek the UI to remove both and restore one, but it's an oddity that has no explanation I can think of.

Huh.

2 Likes

On an EFI system, there are two layers:

  • Firmware - efibootmgr is a command line tool that can help with these entries.
  • EFI Partition - there might be some leftover or duplicate EFI files in there, like Windows Boot Manager.

Running this will list the firmware entries:

sudo efibootmgr

Then if you have say, Boot0001* Windows Boot Manager then you can remove it like so:

sudo efibootmgr -B 0001

Next, if you're confident, you could check out /boot/efi. Best have a live USB and backup at hand, in case you can't boot afterwards and need to reinstall GRUB with the EFI files.

On a clean Ubuntu MATE 24.04 VM that started off as a blank disk, I see:

$ sudo find /boot/efi -type f 
/boot/efi/EFI/ubuntu/grubx64.efi
/boot/efi/EFI/ubuntu/shimx64.efi
/boot/efi/EFI/ubuntu/mmx64.efi
/boot/efi/EFI/ubuntu/BOOTX64.CSV
/boot/efi/EFI/ubuntu/grub.cfg
/boot/efi/EFI/BOOT/BOOTX64.EFI
/boot/efi/EFI/BOOT/fbx64.efi
/boot/efi/EFI/BOOT/mmx64.efi

Each system might be different though.

4 Likes

Thank you. efibootmgr was exactly what I needed!

3 Likes