Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have two operating systems: Windows 8.1 and Ubuntu 14.04. I want to hide grub menu. I'm using grub 2.02~beta2-9. I tried following combinations of /etc/default/grub

  1. #GRUB_HIDDEN_TIMEOUT=1
    #GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=0

    grub menu is visible for 10 seconds (if timeout is set for value larger than 0 it is displayed correctly: GRUB_TIMEOUT=5 - 5 seconds delay)

  2. GRUB_HIDDEN_TIMEOUT=1
    GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=0

    grub menu is visible, I also tried GRUB_HIDDEN_TIMEOUT=false and setting both GRUB_TIMEOUT and GRUB_HIDDEN_TIMEOUT to zero and non-zero values

  3. #GRUB_HIDDEN_TIMEOUT=1
    #GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=1
    GRUB_TIMEOUT_STYLE=hidden

    grub menu is visible for 1 second, tried also GRUB_TIMEOUT_STYLE=countdown with the same result, if GRUB_TIMEOUT is set to 0, 10 seconds delay

After each change I type update-grub and restart computer to see the results.

According to GRUB documentation found in info -f grub -n 'Simple configuration' second way is depricated. The rightous way is the third one - by using GRUB_TIMEOUT_STYLE, but unfortunately it doesn't work. It's probably some kind of a bug.

share|improve this question

3 Answers 3

up vote 3 down vote accepted

Normally if you had only one OS running the option GRUB_TIMEOUT=0 would work. If GRUB 2's os-prober identifies additional operating systems while running the /etc/grub.d/30_os-prober script the hidden menu timeout feature is disabled by conditional statements. This also disables the ability to use the SHIFT key to display the menu during boot. Users with multiple operating systems wishing to hide the menu can find script edits on various forums which will allow them to add a hidden timeout feature to the boot sequence.

Check the answer here if it helps you: Hide GRUB2 menu UNLESS you hold down Shift key: how to make this happen?

share|improve this answer
2  
On your link I found quick solution that permanently hides grub menu: GRUB_HIDDEN_TIMEOUT=0.0 GRUB_TIMEOUT=0.0 Although it would be better if I could just show GRUB when pressing SHIFT (in previous ubuntu version I could adjust it by manipulating GRUB_TIMEOUT and GRUB_HIDDEN_TIMEOUT), but it is still the best solution that doesn't require writing custom scripts. –  ezrepotein4 May 19 at 22:55

I have found a very quick solution, but I haven't looked at the consequences yet.

In your os_prober script for update-grub there are some lines to by-pass the timeout you set and to force displaying a boot menu if an other os has been found. You can easily disable this by setting the "quick_boot" variable to 0.

  • In /etc/grub.d/30_os_prober at the beginning of the file change

    quick_boot="1" to quick_boot="0"

  • Then run sudo update-grub

share|improve this answer

I tried editing 30_os_prober, but it turned out that the name has been changed to 10_os_prober.

Other than that the solution offered above by Motsah works perfectly for me.

I now have:

GRUB_DEFAULT="0"   
GRUB_HIDDEN_TIMEOUT="1"   
GRUB_HIDDEN_TIMEOUT_QUIET="true"    
GRUB_TIMEOUT="0"

in my /etc/default/grub

Changing the hidden timeout to a higher setting doesn't seem to do a thing. Having 0 makes entering the menu impossible.

Copied from above, changing to 10_os_prober to make this complete:

In /etc/grub.d/10_os_prober change

quick_boot="1"

to

quick_boot="0"

in the beginning of the file.

Run:

sudo update-grub
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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