I have 2 OSs Windows 8 and Kubuntu 16.04. Kubuntu is my primary OS. I would like my laptop to boot directly into Kubuntu, unless I press SHIFT key during boot to make Grub menu visible. Again. I want grub menu with OSs list visible, only when I press SHIFT or any other key during boot.

I followed instructions in Hide GRUB2 menu UNLESS you hold down Shift key: how to make this happen? and it didn't work as I wanted.

I don't even want to feel that the grub is there, so the following values are required.


Apparently linux doesn't give you the freedom it tells you it does. Because if it did /etc/grub.d/30_os-prober wouldn't change the timeout on its own.

if [ "\${timeout}" = 0 ]; then    
set timeout=10

Is there any easy way to achieve what I want? Thanks in advance.


It does not work. Additionaly according to info -f grub -n 'Simple configuration'

     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

I set GRUB_TIMEOUT=5 and GRUB_HIDDEN_TIMEOUT=3 and grub menu is shown for... 3 seconds!?

Clearly people behind grub, screwed it up.


You need to make:


Then, when you switch the computer on, pres ESC to enter to the boot menu, otherwise, the computer will boot in the default selection.

For sake of simplicity, you can change those values easily with Grub Customizer

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

In the tab General, click on advanced settings, then, select active the following keys and update the values to:


Optional, to display a counter showing the remaining seconds while you can press ESC, set:


enter image description here

  • not working, this only shows grub menu for 5 seconds instead of 10 – frnhr Oct 22 '17 at 19:32

To enable GRUB hidden timeout, open a terminal and execute :

sudo apt install gksu  

(in case it is not already installed, alternatively use nano editor)

gksudo gedit /etc/default/grub  

Remove # from the front of the line #GRUB_HIDDEN_TIMEOUT=0,

that the line afterwards exactly reads : GRUB_HIDDEN_TIMEOUT=0.

Save the change and close the file - now execute this command :

gksudo gedit /etc/grub.d/30_os-prober

Change timeout from 10 to 0 ...

if [ "\${timeout}" = 0 ]; then  
  set timeout=10  

that it afterwards exactly reads :

if [ "\${timeout}" = 0 ]; then  
  set timeout=0

Save the change and close the file.

Update the GRUB configuration :

sudo update-grub  

Restart the system ... now it should boot directly into Kubuntu.

  • Ok, but if I want to boot into Windows, what should I do? – justmatt Jun 11 '16 at 16:49
  • @justmatt : After starting the PC press the Shift key to show the GRUB menu and select Windows to boot. – cl-netbox Jun 11 '16 at 16:58
  • I did as you advised and I can't show grub menu by pressing Shift key. – justmatt Jun 12 '16 at 11:32
  • @justmatt : Did you press and HOLD the Shift key ? Alternatively check whether pressing the Esc key brings up the GRUB menu. Another alternative is to boot into BIOS and select Windows from there. :) – cl-netbox Jun 12 '16 at 12:47
  • Yes and it does not show up;( – justmatt Jun 12 '16 at 14:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.