I am using Linux Mint 20 Cinnamon and I am trying to hide the GRUB menu. I have also Windows 10 installed.

According to the official GRUB documentation, if the GRUB_TIMEOUT_STYLE is set to hidden the GRUB menu should not appear.


If this option is unset or set to ‘menu’, then GRUB will display the menu and then wait for the timeout set by ‘GRUB_TIMEOUT’ to expire before booting the default entry. Pressing a key interrupts the timeout.

If this option is set to ‘countdown’ or ‘hidden’, then, before displaying the menu, GRUB will wait for the timeout set by ‘GRUB_TIMEOUT’ to expire. If ESC is pressed during that time, it will display the menu and wait for input. If a hotkey associated with a menu entry is pressed, it will boot the associated menu entry immediately. If the timeout expires before either of these happens, it will boot the default entry. In the ‘countdown’ case, it will show a one-line indication of the remaining time.

By default the configurations of my /etc/default/grub file had GRUB_TIMEOUT_STYLE set to hidden but still it is not hidden. I tried adding GRUB_HIDDEN_TIMEOUT=0 AND GRUB_HIDDEN_TIMEOUT_QUIET=true but as expected it has no effect.

My /etc/default/grub file is as shown below

# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`


# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)

# Uncomment to disable graphical terminal (grub-pc only)

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

# Uncomment to disable generation of recovery mode menu entries

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

I know an easy solution is to set the timeout to 0 but that will not enable me to get to menu when I want to. I just want to ask why the GRUB_TIMEOUT_STYLE=hidden not working when it very much should according to GRUB documentation.

P.S.: Yes I am using update-grub after making changes.

1 Answer 1


Add this line to /etc/default/grub:


Update and reboot:

sudo update-grub
sudo reboot

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .