I bought a new ‘distro testing’ laptop in the Black Friday sale last month (don’t get carried away, it cost me £200 and a lot of headaches) but I only installed Ubuntu 22.04 on it this weekend — and instantly hit a snag.

See, normally when I install Ubuntu alongside Windows as a dual-boot system Ubuntu will add the GRUB boot loader — awesome — and populate that boot loader with links to any other operating systems, such as Windows (or technically boot into the Windows boot manager) — also awesome.

Except, that no longer happens when installing Ubuntu 22.04.

Instead, after I finished installing Jammy and rebooted I could only boot Ubuntu. To boot Windows I need to use the boot manager menu. While a limp push of the F10 key isn’t exactly hard, it is less than preferable.

So what’s going on?

OS Prober Disabled in GRUB

Installing Ubuntu 22.04 gave me a GRUB menu without a Windows boot manager option in it.

This threw me. I expected one. And I wanted one.

Was this a quirk of Windows 11? Was I supposed to have used the advanced partition manager to install Ubuntu 22.04? Or was this a sign the universe has it out for me?!

Eh, none of those.

Turns out there’s a major change to the way GRUB works in Ubuntu 22.04.

Regular omg! commenter OstroLK mentioned the issue (and a solution) in the comment section to our post about Ubuntu’s orange overhaul. Now, if I hadn’t have seen this comment chances are I’d be mashing an F10 key instead of writing this.

Ostro writes: “If you are multi-booting with other Linuxes and Windows, you might find a problem, when you update/upgrade Ubuntu (maybe with other Linuxes too) sometime now, it’d stop “seeing” other distros and Windows.”

Precisely my issue.

The cause? The OS_prober feature is disabled by default in GRUB 2.06, which is the version included in Ubuntu 22.04. This is an upstream change designed to counter potential security issues with the OS-detecting feature (it mounts partitions to check for other OSes, this could be taken advantage of, etc).

So, for the moment, Ubuntu 22.04 (or more accurately GRUB in Ubuntu 22.04) does not detect any other operating system during or after install. Ubuntu’s Julian Andres Klode acknowledges that this is “…a bit controversial and the outcome is not necessarily in the best interest of our users”.

One workaround (for now) is to add GRUB_DISABLE_OS_PROBER=false to /etc/default/grub like so:

fix grub os prober
OS Prober enabled

Hit save, then run sudo update-grub to let it do its thing.

Finally, reboot and et voila: a GRUB menu with stuff in it:

a photo of GRUB on a laptop
As things should be

Thing is: disabling the disabling of OS prober isn’t an ideal fix given those aforementioned security concerns.

Conversely, not having a GRUB boot menu with links to boot other installed OSes is a major downgrade on past behaviour

It’s a tough situation. Ubuntu’s devs are considering whether to re-enable os-prober (“ugh”); to only run os-prober once, during install time (as other Linux distros do); or even creating a new GRUB module “that goes through the UEFI boot options and creates a submenu, then sets BootNext and resets the machine when you select an item”.

There’s no easy option, so it’ll be interesting to see how this plays out ahead of Ubuntu 22.04’s arrival next spring. Being able to have a functional dual-boot is a big deal for many existing users as well as many prospective ones.

In the mean time, if you install Ubuntu and find yourself less a few OSes in your GRUB menu, I hope this little tip is as much of a help to you as it was to me!

Thanks Ostro

Dev

How To

comments

dualboot

grub

Ubuntu 22.04 LTS

windows 10

windows 11