Grub delay

I installed EndeavuorOS, and I do not want any delay in Grub at boot. I changed the GRUB_TIMEOUT=“0” and updated with sudo grub-mkconfig -o /boot/grub/grub.cfg, but there is still a delay. I am not dual booting with Windows. Please advise. Thanks.

Try this as well and see if that helps:

GRUB_TIMEOUT_STYLE=hidden

Regenerate grub.cfg as before.

where you changed it?

/etc/default/grub ?

GRUB_TIMEOUT=0

You could also install the very small package grub-customizer and use that to edit the timeout or anything else about the grub(2) menu, it is in the community repos.

It is by far the easiest option, you can always uninstall the program when done.

Yes in /etc/default/grub

Please, please, please don’t do this. Almost everyone who uses grub-customrizer eventually comes here with help for a broken grub.

5 Likes

Can we see the contents of /boot/grub/grub.cfg?

I must have been very lucky then, I wasn’t aware that it broke grub, worked ok for the one thing I needed to change.

I tried your suggestion, no change. Is it possible it is located somewhere else since I am not dual booting with Windows?

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
  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="0"
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 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_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 2e55b550-43ba-4420-a18b-210a0904e0a2
    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_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 2e55b550-43ba-4420-a18b-210a0904e0a2
insmod png
background_image -m stretch /usr/share/endeavouros/splash.png
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=hidden
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=hidden
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

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

### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
	fwsetup --is-supported
	if [ "$?" = 0 ]; then
		menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
			fwsetup
		}
	fi
fi
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###

### 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 ###

Can we see what you currently have in /etc/default/grub?

Did you update grub afterwords.

I have set these following values

GRUB_TIMEOUT=“0”

GRUB_TIMEOUT_STYLE=“hidden”

in /etc/default/grub.

You would need to run sudo grub-mkconfig -o /boot/grub/grub.cfg after editing this file.

For me, this hides effectively the Grub boot menu and starts the boot process without any delay.

I followed your suggestions, no change. I am running in Legacy mode is this a factor?

I don’t think the boot mode should make any difference… not sure why it is not working for you.

Could you post this?

Better to use this and post the url link. :wink:

cat /etc/default/grub | eos-sendlog
1 Like

This is the only way we’ll really know. . . as long as they updated grub after.

1 Like

https://0x0.st/o758.txt

RUB_BACKGROUND="/usr/share/endeavouros/splash.png"
GRUB_DEFAULT="0"
GRUB_DISABLE_RECOVERY="true"
GRUB_DISABLE_SUBMENU="false"
GRUB_TIMEOUT="hidden"
GRUB_CMDLINE_LINUX_DEFAULT="quiet nowatchdog nvme_load=YES"
GRUB_DISTRIBUTOR="EndeavourOS"

This not exactly what I suggested :wink:

Is this a new install? You are probably using systemd-boot, not grub.

Have you tried changing the timeout in /efi/loader/loader.conf to 0?

1 Like