The hidden menu option isn't working. I want the menu to remain hidden during boot but show up when I press a button.

I have /etc/default/grub configured as follows:

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

With the settings:


The menu doesn't appear if I press nothing, and I can tell the computer is waiting 10 seconds to boot. The problem is no matter what I press (Esc, Tab, Shift, Enter) and no matter when I press it or if/when I hold it, I can't get the menu to come up. The only thing that appears is the text: Grub Loading...

Any suggestions would be greatly appreciated!


2 Answers 2


This solution by Bolodya @ bugs.launchapd.net worked for me:

I had the same problem - cant access to grub menu by esc or shift keys during boot if I tried to hide it (I have windows and ubuntu on one disk).

The reason is one strange condition in /etc/grub.d/30_os-prober script. it bloks hidden menu part of grub.cfg if os-probber found any other os.

So for me works the following:

  1. In the file /etc/grub.d/30_os-prober

    • comment line 33: if [ "x${found_other_os}" = "x" ] ; then
    • and comment closing it "fi" at line 67
  2. Sudo update-grub

After that if you have GRUB_HIDDEN_TIMEOUT >=1 then you can access to grub menu by esc key during this timeout, if you have GRUB_HIDDEN_TIMEOUT =0 then you can access to grub menu if you press "shift" during grub startup, and no hidden menu if GRUB_HIDDEN_TIMEOUT =-1.

For me the lines were 32 and 66 respectively


The line that says
I think you also need to change GRUB_TIMEOUT=0 instead of 5 and GRUB_HIDDEN_TIMEOUT=10 to make the menu not show up unless the Shift key is held during boot.

You may want to set a time smaller than 10 seconds (3-5 works for me) or you'll be waiting a while before GRUB boots the kernel.

Let me know if this is still not working for you!


  • I think that the OP want to hide the post.
    – Lucio
    Mar 17, 2013 at 4:56
  • @Lucio thank-you, I edited my answer Mar 17, 2013 at 14:29
  • I should have clarified my question. With this configuration: GRUB_TIMEOUT=0 and GRUB_HIDDEN_TIMEOUT=0 I can't access the menu at all. I also tried to set GRUB_HIDDEN_TIMEOUT=10 and other combinations but I can't get the menu to hide at first, but appear if I press esc, shift, tab, enter, etc. My goal is to make the menu hidden by default, but if I press a button, the menu to appear. Thanks again.
    – Eric
    Mar 17, 2013 at 23:41
  • @Eric GRUB_HIDDEN_TIMEOUT=10 should do the trick, then. I'm pretty sure you need to hold down the shift key during boot (after the BIOS / logo screen) and then the menu should show up. Mar 18, 2013 at 22:09
  • @MarkPaskal I couldn't get shift or any other key to bring up the menu. is it possible my laptop won't recognize it's pressed?
    – Eric
    Mar 19, 2013 at 13:45

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