More Menu
Reading ListGanti TemaSearch
Reading List

Queue · 0 items

Your reading list is empty. Save articles to read them later.

Start Reading

Hide GRUB and Fix Plymouth Blank Screen on Ubuntu Dual Boot

Iwan Efendi3 min

Hide GRUB menu and fix Plymouth blank screen on Ubuntu dual boot by disabling os-prober and setting GRUB_GFXPAYLOAD_LINUX=keep.

I run Ubuntu and Windows 11 on the same laptop with dual boot setup, but I don't rely on GRUB to switch between them. I prefer pressing F11 during boot to enter the BIOS boot menu and pick the OS from there. It feels more direct and cleaner. The problem is GRUB still shows up every time Ubuntu boots. There's a menu with Ubuntu entries, and below it sits Windows Boot Manager — anyone using my laptop could boot straight into Windows without needing any password. That made me uncomfortable. I figured if I never use the GRUB menu anyway, why not hide it completely? Let the boot jump straight from BIOS to Ubuntu's boot animation without that menu pause in the middle.
Version Note
This article was written using Ubuntu 25.10 (Plucky Puffin). The steps apply to Ubuntu 24.04 and above with GRUB 2.

Problem 1: Windows Appears in GRUB Menu

This happens because Ubuntu runs os-prober every time update-grub is called. The program scans all disk partitions and automatically adds entries for any other OS it finds — including Windows. The solution is to disable os-prober through GRUB configuration. Open the GRUB configuration file:
sudo nano /etc/default/grub
Add or ensure this line exists:
GRUB_DISABLE_OS_PROBER=true

Problem 2: Unnecessary GRUB Menu

If you also don't need to see the GRUB menu on every boot, these two lines are what you want:
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0 makes GRUB wait zero seconds. GRUB_TIMEOUT_STYLE=hidden hides the menu entirely. GRUB still works as your bootloader — it just does its job without displaying anything.
If Ubuntu Fails to Boot?
You can still access the emergency GRUB menu by holding Shift or pressing Esc repeatedly during POST. GRUB will appear normally.

Complete Configuration

After all adjustments, the top of my /etc/default/grub looks like this:
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )` 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=true
Save the file, then apply the changes:
sudo update-grub
Reboot — the GRUB menu won't appear anymore, and Windows is gone from the list.

Problem 3: Plymouth Boot Animation Goes Blank

Here's the bonus issue that surfaced after hiding GRUB. After rebooting, instead of seeing Ubuntu's usual boot animation, the screen just stayed black until GDM appeared. The cause: when GRUB is skipped too quickly without setting up graphics mode, Plymouth doesn't get the "bridge" it needs to initialize its display. The animation fails to render, leaving only a blank screen. The fix is to tell GRUB to lock the graphics mode and keep it active until the kernel takes over. Add these two lines to /etc/default/grub:
GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep
1

Check your screen resolution

Adjust the GRUB_GFXMODE value to match your laptop or monitor's native resolution. To find it:
xrandr | grep '*'
Or check in Settings → Displays.
2

Edit GRUB configuration

sudo nano /etc/default/grub
Add both lines anywhere in the file:
GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep
3

Apply changes

sudo update-grub
Reboot and the Plymouth animation should appear normally.
GRUB_GFXPAYLOAD_LINUX=keep is the key — this option asks GRUB to maintain the graphics mode already set, instead of dropping it before the Linux kernel starts. Plymouth needs a ready graphics state, and this line ensures that.

Final Configuration

The final GRUB configuration with all settings applied.
Here's my complete /etc/default/grub with all adjustments:
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release && echo ${NAME} )` 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_DISABLE_OS_PROBER=true
GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep
After sudo update-grub and a reboot: no GRUB menu, no Windows entry, and Ubuntu's boot animation appears smoothly as it should. If you have a similar dual-boot setup and are used to selecting OS directly from BIOS, this configuration feels much cleaner. Boot feels faster too since there's no menu pause in the middle. Did you get different results with your setup? Let me know in the comments — there might be hardware variations or Ubuntu versions that need different adjustments.

References

  1. GRUB Configuration Documentation — GNU
  2. Plymouth Configuration — Ubuntu Wiki
Topics

Topics in this note

Explore related ideas through the topics connected to this note.

Share this article

Discussion

Preparing the comments area...

You Might Also Like