I would like grub(2) to boot on my main os without waiting. Every single time I start my computer, I either have to press <Enter> or wait for ten second. Is it possible for grub to boot directly without any prompt into my default OS ? And if yes how ?

For information, I have linux mint with the cinnamon desktop.

An here is my /etc/default/grub file:

# If you change this file, run 'update-grub' afterwards to update
# /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"

Thank you in advance.

3 Answers 3


In your /etc/default/grub, you should uncomment #GRUB_HIDDEN_TIMEOUT=0 and should set GRUB_HIDDEN_TIMEOUT_QUIET to true as in:


Then do:

sudo update-grub2

If from then on you need access to the GRUB menu at boot time, press SHIFT after the BIOS finishes the boot process, but before the hard drive is used, and keep it pressed until GRUB appears.


Wait this many seconds before displaying the menu. If ESC is pressed during that time, display the menu and wait for input according to ‘GRUB_TIMEOUT’. If a hotkey associated with a menu entry is pressed, boot the associated menu entry immediately. If the timeout expires before either of these happens, display the menu for the number of seconds specified in ‘GRUB_TIMEOUT’ before booting the default entry.

If you set ‘GRUB_HIDDEN_TIMEOUT’, you should also set ‘GRUB_TIMEOUT=0’ so that the menu is not displayed at all unless ESC is pressed.

This option is unset by default, and is deprecated in favour of the less confusing ‘GRUB_TIMEOUT_STYLE=countdown’ or ‘GRUB_TIMEOUT_STYLE=hidden’.


In conjunction with ‘GRUB_HIDDEN_TIMEOUT’, set this to ‘true’ to suppress the verbose countdown while waiting for a key to be pressed before displaying the menu.

This option is unset by default, and is deprecated in favour of the less confusing ‘GRUB_TIMEOUT_STYLE=countdown’.

  • It does't work for some reasons. I have tried this in the past. I tried again and it doesn't work.
    – user274382
    Commented Feb 5, 2018 at 20:33
  • @NilsANDRÉ-CHANG What happens if you also take out the splash from GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ? It may be unrelated, I would give it a try. Commented Feb 5, 2018 at 20:36
  • GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" is on by default.
    – user274382
    Commented Feb 5, 2018 at 20:41
  • I sugested taking out the splash word Commented Feb 5, 2018 at 20:42
  • On Ubuntu this doesn't work because it will "helpfully" reset the timeout to 10 if you set it to zero. See askubuntu.com/questions/268744/grub-hidden-menu-not-working, askubuntu.com/questions/469347/…
    – saagarjha
    Commented Nov 3, 2020 at 23:12

If you have more than one OS, it's probably because of that. Try adding these lines into your GRUB file and updating GRUB.


It worked for me. For reasons of adding these lines check out my post here.


If the solutions from here didn't work there is another solution. The second os must be installed in full on a separate device with boot partition. On the first os set:


Unplug the other os hardware from the machine. Run update-grub2. Plug it back. Grub will boot on default without waiting. The second os will have the entrance via bios setup only.

You must log in to answer this question.