After installing Ubuntu since 22.10 and higher, the dual-boot Windows 10 and other OSes may be disappeared from the startup boot menu. If you run into that issue, here’s the quick tip to fix it.
This is definitely not bug, but a policy change since GNU Grub 2.06. The default boot-loader uses external os-prober
tool to discover other operating systems on the same machine. However, the feature is disabled now for security reason due to the manual:
It is disabled by default since automatic and silent execution of os-prober, and creating boot entries based on that data, is a potential attack vector. Set this option to ‘false’ to enable this feature in the grub-mkconfig command.
By reloading the config will prompt your that “Warning: os-prober will not be executed to detect other bootable pertitions“.
Ubuntu 22.04 is the first release uses GRUB 2.06, which however not affected in my case. So I didn’t encounter this issue until trying Ubuntu 22.10 today on dual-boot machine. And, here’s how to fix the the ‘issue’ in 2 ways.
Option 1: Manually re-enable OS-PROBER
As mentioned in the manual, just set the ‘GRUB_DISABLE_OS_PROBER’ option to ‘false’ in Grub configuration will do the trick.
1. First, press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run command to edit the Grub config file:
sudo nano /etc/default/grub
Ubuntu 22.10 and higher switched to gnome-text-editor which however does not work along-with So here I use sudo
from command line.nano
command line text editor instead.
2. When the file opens in terminal window, scroll down and add the new line (or change the value if the line already exists):
GRUB_DISABLE_OS_PROBER=false
After that, save changes by pressing Ctrl+X, type y and hit Enter.
3. Finally, run sudo update-grub
to reload the change.
Don’t know why, but Windows OS appears in boot-menu again after I did restart computer twice in my case.
Option 2: Use Grub-Customizer (graphical tool)
For those who prefer using a graphical configuration tool, there’s a third-party Grub-Customizer app available for choice.
1. First, you still need to open terminal (Ctrl+Alt+T) and run 3 commands one by one to install the tool from developer’s PPA:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt update
sudo apt install grub-customizer
2. Search for and launch grub customizer from system start menu or ‘Activities’ overview.
3. When the app opens, navigate to ‘General Settings‘ page, then do:
- click on bottom right advanced settings option.
- in next pop-up dialog, click “Add” (or edit if exists) and type:
- name: GRUB_DISABLE_OS_PROBER
- value: false
Close advanced settings dialog, and finally click “Save” button in the app to apply change.
Much appreciated, thanks! I encountered this problem too.
Worked for me just fine a few month ago, but today I updated my system to 24.04.1 LTS and now my Windows is lost again. The line was still in the config, I ran the update command and it said that windows 10 was found and added to the boot ?? but when I reboot, the system is going directly to Ubuntu, not asking what operating system I want to start. Any help is greatly appreciated.
Thanks,
Joachim
Found the solution to my previously posted problem, had to remove the line
GRUB_TIMEOUT_STYLE=hidden
from the config file, now the menu shows again.
Thanks,
Joachim
Thank you Joachim, that was the last bit of magic that I needed! All working now.