45

I tried to update Grub so I run:

sudo update-grub

Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.

What exactly this warning wants to be changed? (I upgraded from 12.04 to 14.04 before)

This is my /etc/default/grub file:

GRUB_DEFAULT="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
terdon
  • 100,812
JoKeR
  • 6,972
  • 9
  • 43
  • 65

3 Answers3

45

You can't use the GRUB_HIDDEN_TIMEOUT setting and the GRUB_TIMEOUT setting at the same time. This is true even when the hidden timeout is set to 0.

You can comment out the line that you don't want.

For example:

#GRUB_HIDDEN_TIMEOUT=0

After saving the change, run sudo update-grub again.

chaskes
  • 15,246
  • one more question as my GRUB_HIDDEN_TIMEOUT was set to ="0" and GRUB_TIMEOUT to value ="10" will it reflect on anything? I mean should it be set to "10" or "0" – JoKeR Jun 03 '14 at 01:28
  • 3
    It just depends on what you want. If you only have ubuntu, 0 is fine for timout. If you dual boot, you want some time (like 10) for choosing which os to boot. For more info see configuring grub2 – chaskes Jun 03 '14 at 01:36
  • I experienced this very same problem on a default Ubuntu 15.10 installation. – orschiro Nov 16 '15 at 14:27
  • If they are not supposed to be used together, why does Ubuntu come with such settings? It’s the default setting on my fresh 16.04 installation. – Franklin Yu Feb 02 '18 at 18:30
  • Ok I found the bug report. This simple bug has been more than 4 years and still not fixed. – Franklin Yu Feb 02 '18 at 18:36
27

Short answer:

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT_STYLE=hidden

Or just delete the first two lines in the entry above and replace it with

GRUB_TIMEOUT_STYLE=[menu|countdown|hidden]

Explanation:

As of this time (2016) the GRUB_HIDDEN_TIMEOUT and GRUB_HIDDEN_TIMEOUT_QUIET options have already been deprecated. So don't use them any more. Instead, you can use GRUB_TIMEOUT_STYLE.

According to info -f grub -n 'Simple configuration', you have this:

'GRUB_TIMEOUT_STYLE'

 If this option is unset or set to 'menu', then GRUB will display
 the menu and then wait for the timeout set by 'GRUB_TIMEOUT' to
 expire before booting the default entry.  Pressing a key interrupts
 the timeout.

 If this option is set to 'countdown' or 'hidden', then, before
 displaying the menu, GRUB will wait for the timeout set by
 'GRUB_TIMEOUT' to expire.  If <ESC> is pressed during that time, it
 will display the menu and wait for input.  If a hotkey associated
 with a menu entry is pressed, it will boot the associated menu
 entry immediately.  If the timeout expires before either of these
 happens, it will boot the default entry.  In the 'countdown' case,
 it will show a one-line indication of the remaining time.
Majal
  • 7,711
1

change

GRUB_TIMEOUT="10"

to

GRUB_TIMEOUT="0"

If you are not dual booting

and then

sudo update-grub
Mark Kirby
  • 18,529
  • 19
  • 78
  • 114
user815
  • 11