GRUB_TIMEOUT in /etc/default/grub not changing the wait time with LVM
Recently a patch has been merged fixing grub timeout menu to 30 seconds for UEFI systems with /boot on lvm or btrfs.
The reason for that in some cases a user can't access boot menu. grub
can't write to lvm or btrfs.
If a boot fails, grub can't record it to LVM or btrfs, so there is an unlikely chance that you won't be able to get to grub menu for the safe mode, etc.
See this bug report for more details.
If you look into grub.cfg
, you'll see this:
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
fi
fi
if [ $grub_platform = efi ]; then
set timeout=30
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
fi
fi
You can change it manually, but it will be reverted on update-grub
.
This can be fixed by setting
GRUB_RECORDFAIL_TIMEOUT=0
in /etc/default/grub
followed by sudo update-grub
command.
if you are sure you'll be able to access UEFI settings. If not quite sure, set it to 5, or 10.
Another workaround would be to create a separate /boot
partition outside of LVM or btrfs.