‘GRUB_TIMEOUT’ Change – Not Working [SOLVED]

If you have tried to change a timeout in GRUB by setting the GRUB_TIMEOUT but this doesn’t work and you still see the 30 second timeout, this may be related to the GRUB’s “recordfail” feature.

If the recordfail variable is being set to true, i.e. there was a failed boot attempt (or you use LVM/UEFI with which this feature doesn’t work as expected), GRUB will ignore the GRUB_TIMEOUT and will change the timeout to GRUB_RECORDFAIL_TIMEOUT (by default, 30 seconds).

In this short note i will show how to chance the timeout in GRUB if changing the GRUB_TIMEOUT doesn’t work.

Change GRUB_TIMEOUT

To change the timeout in GRUB, open the /etc/default/grub file:

$ sudo gedit /etc/default/grub

Comment the GRUB_TIMEOUT_STYLE option and set the GRUB_TIMEOUT:

#GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=5

If you have already tried to change the GRUB_TIMEOUT but this still doesn’t work and the GRUB menu appears on every boot with the 30 second timeout, add the following line at the end of the /etc/default/grub file:

GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

This sets the GRUB_RECORDFAIL_TIMEOUT to the same value as the GRUB_TIMEOUT.

Generate a new configuration file:

$ sudo update-grub

Reboot the system to see if the GRUB’s timeout has changed.

Leave a Reply