3

I have a Dell Laptop running single OS Ubuntu Mate 15.10 & GRUB on single 320GB HDD, partitioned as / & /home. I would like to reduce the default grub boot delay to preferably “0” from 10 seconds. So far, I have unsuccessfully tried following elsewhere suggested tweaks through installed Grub-customiser and also directly by editing /etc/default/grub. Other lines were left undisturbed. Afterwards, I’ve run sudo update-grub every time. The Grub boot delay remains unchanged to 10 seconds.

  • GRUB_TIMEOUT=”0” & GRUB_HIDDEN_TIMEOUT=”0”
  • GRUB_TIMEOUT=”0” & #GRUB_HIDDEN_TIMEOUT=”0”
  • GRUB_TIMEOUT=”0” & GRUB_HIDDEN_TIMEOUT=””
  • GRUB_TIMEOUT=”2” & GRUB_HIDDEN_TIMEOUT=”2”

Please can you suggest solution to this problem. Thanks. Code of my new (after suggested changes) /boot/grub/grub.cfg #

DO NOT EDIT THIS FILE

#

It is automatically generated by grub-mkconfig using templates

from /etc/grub.d and settings from /etc/default/grub

#

BEGIN /etc/grub.d/00_header

if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="Ubuntu" fi

if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" else menuentry_id_option="" fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi

function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function recordfail { set recordfail=1 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video { if [ x$feature_all_video_module = xy ]; then insmod all_video else insmod efi_gop insmod efi_uga insmod ieee1275_fb insmod vbe insmod vga insmod video_bochs insmod video_cirrus fi }

if [ x$feature_default_font_path = xy ] ; then font=unicode else insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi font="/usr/share/grub/unicode.pf2" fi

if loadfont $font ; then set gfxmode=auto load_video insmod gfxterm set locale_dir=$prefix/locale set lang=en_US insmod gettext fi terminal_output gfxterm insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi insmod gfxmenu insmod png set theme=($root)/boot/grub/themes/ubuntu-mate/theme.txt export theme 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

END /etc/grub.d/00_header

BEGIN /etc/grub.d/05_debian_theme

set menu_color_normal=white/black set menu_color_highlight=black/light-gray if background_color 60,59,55; then clear fi

color_normal=light-gray/black

if [ -e ${prefix}/themes/ubuntu-mate/theme.txt ]; then insmod png theme=${prefix}/themes/ubuntu-mate/theme.txt fi

END /etc/grub.d/05_debian_theme

BEGIN /etc/grub.d/10_linux

function gfxmode { set gfxpayload="${1}" if [ "${1}" = "keep" ]; then set vt_handoff=vt.handoff=7 else set vt_handoff= fi } if [ "${recordfail}" != 1 ]; then if [ -e ${prefix}/gfxblacklist.txt ]; then if hwmatch ${prefix}/gfxblacklist.txt 3; then if [ ${match} = 0 ]; then set linux_gfx_mode=keep else set linux_gfx_mode=text fi else set linux_gfx_mode=text fi else set linux_gfx_mode=keep fi else set linux_gfx_mode=text fi export linux_gfx_mode menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a2bdc1a5-f2fb-489d-adec-ba5a92514f0c' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi linux /boot/vmlinuz-4.2.0-17-generic root=UUID=a2bdc1a5-f2fb-489d-adec-ba5a92514f0c ro quiet splash $vt_handoff initrd /boot/initrd.img-4.2.0-17-generic } submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-a2bdc1a5-f2fb-489d-adec-ba5a92514f0c' { menuentry 'Ubuntu, with Linux 4.2.0-17-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.2.0-17-generic-advanced-a2bdc1a5-f2fb-489d-adec-ba5a92514f0c' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi echo 'Loading Linux 4.2.0-17-generic ...' linux /boot/vmlinuz-4.2.0-17-generic root=UUID=a2bdc1a5-f2fb-489d-adec-ba5a92514f0c ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.2.0-17-generic } menuentry 'Ubuntu, with Linux 4.2.0-16-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.2.0-16-generic-advanced-a2bdc1a5-f2fb-489d-adec-ba5a92514f0c' { recordfail load_video gfxmode $linux_gfx_mode insmod gzio if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi echo 'Loading Linux 4.2.0-16-generic ...' linux /boot/vmlinuz-4.2.0-16-generic root=UUID=a2bdc1a5-f2fb-489d-adec-ba5a92514f0c ro quiet splash $vt_handoff echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-4.2.0-16-generic } }

END /etc/grub.d/10_linux

BEGIN /etc/grub.d/20_linux_xen

END /etc/grub.d/20_linux_xen

BEGIN /etc/grub.d/20_memtest86+

menuentry 'Memory test (memtest86+)' { insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi knetbsd /boot/memtest86+.elf } menuentry 'Memory test (memtest86+, serial console 115200)' { insmod part_msdos insmod ext2 set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 a2bdc1a5-f2fb-489d-adec-ba5a92514f0c else search --no-floppy --fs-uuid --set=root a2bdc1a5-f2fb-489d-adec-ba5a92514f0c fi linux16 /boot/memtest86+.bin console=ttyS0,115200n8 }

END /etc/grub.d/20_memtest86+

BEGIN /etc/grub.d/30_os-prober

END /etc/grub.d/30_os-prober

BEGIN /etc/grub.d/30_uefi-firmware

END /etc/grub.d/30_uefi-firmware

BEGIN /etc/grub.d/40_custom

This file provides an easy way to add custom menu entries. Simply type the

menu entries you want to add after this comment. Be careful not to change

the 'exec tail' line above.

END /etc/grub.d/40_custom

BEGIN /etc/grub.d/41_custom

if [ -f ${config_directory}/custom.cfg ]; then source ${config_directory}/custom.cfg elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi

END /etc/grub.d/41_custom

0

search in /boot/grub/grub.conf for line:

set timeout=10

If you find it, lines around might help you see what is the problem.

  • Thanks Benc. I am not coversant with the code of /boot/grub/grub.conf and I'm unable to find the line mentioned by you. I'm pasting the code for your guidance - – Shanko Nov 7 '15 at 1:50
  • The situation is that you see the grub boot menu and 10s countdown in gfxmode and /etc/default/grub is set to grub timeout=2 & grub hidden timeout=2 and grub hidden timeout quiet = true ? – Benc Marek Nov 8 '15 at 9:07
  • Thanks. Please can you be more specific about what steps should be taken to correct the problem? Please help. – Shanko Nov 8 '15 at 13:22
  • in /etc/default/grub set GRUB_TIMEOUT=0 & GRUB_HIDDEN_TIMEOUT=0 & GRUB_HIDDEN_TIMEOUT_QUIET=true, update grub and post the new /boot/grub/grub.cfg instead of this one. Try reboot. I also need to know, if you do see the boot menu, or anything else (how do you know, the delay remains unchanged?) – Benc Marek Nov 8 '15 at 14:39
  • Thanks. I made suggested changes, updated grub and have posted new file. Rebooted. No boot menu seen. No other things seen at boot time except blank screen. I check the time after bios screen to appearence of light DM greeter image screen which is still 13 secs. Could Grub-customiser cause any interference? – Shanko Nov 9 '15 at 12:03
0

Grub ignores a timeout of zero and sets to 10 seconds

In your /etc/default/grub you are passing the value "0". Grub ignores timeouts of zero and resets the value to 10 instead. To "trick" Grub pass the value 0.0 which when tested by Grub is not equal to 0.

Setting timeout to zero

In my /etc/default/grub I have these relevant lines setup:

#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_HIDDEN_TIMEOUT=0.0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0.0

I've used the values 0.0 without double quotes to reflect how numeric values are used.

Notice the first line is commented out. This means grub no longer defaults to the first menu option (in my case Kernel 4.9.21) but rather the last option booted with (in my case Kernel 4.4.0-72-generic from the Advanced Options Menu)

The second and third lines ensure you always boot to the same option last chosen.

Changing the boot option when no menu appears

A better method is to reduce timeout and provide option to force your menu to appear. This method is described here: How can I get my GRUB menu to be hidden, AND have the shift or esc keys show the hidden GRUB menu at boot time

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

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