How to remove or hide the GRUB boot menu?

To not see the GRUB menu while booting:

  1. Open the /etc/default/grub file using from terminal entering: gksu gedit /etc/default/grub
  2. Change GRUB_TIMEOUT=10 to GRUB_TIMEOUT=0
  3. Save the file and quit the text editor.
  4. Run: sudo update-grub
  5. Reboot.

This will remove the time that you need to wait for the GRUB menu to disappear.

IMPORTANT: If then you need to change to Recovery mode in some instance just press ESC when Linux starts. That is between when the BIOS finishes loading all necessary stuff and the Operating System starts. Then the GRUB menu will appear giving you the change to select the recovery mode.


I believe a better solution is to use the value:

GRUB_HIDDEN=1 

then set the time out to something longer than 0 this way you can access grub since its hidden in the background, and you have a chance of actually stopping the boot sequence and selecting another kernel / recovery mode.

a feature that can come in handy when you have a broken system. You can read more about it here


The answers above didn't work for me so I thought I'd post this for completeness. In my version of grub the timeout screen doesn't hide when the GRUB_TIMEOUT=0. This seems to be a bug filed here: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1273764.

An easy (but not so elegant) workaround is to set your GRUB_TIMEOUT=0.1. Apparently there is a script which overrides the value of the timeout when it = 0 for the user's own good!

My grub configuration file just for anyone who wants to see is:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0.1
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=0.1
GRUB_DISTRIBUTOR='lsb_release -i -s 2> /dev/null || echo Debian'
GRUB_CMDLINE_LINUX_DEFAULT="splash" 
GRUB_CMDLINE_LINUX=""