Grub2 with EFI Silent Boot

Hi.

Gave up trying to hide Grub2 text menu and Grub2 boot messages with both YAST and manually editing.
Here is my /etc/default/grub, compiled from different internet topics:

GRUB_DISTRIBUTOR=
#GRUB_DEFAULT=saved
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=2
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_RECORDFAIL_TIMEOUT=$GRUB_HIDDEN_TIMEOUT
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-uuid/... quiet splash loglevel=3 rd.systemd.show_status=auto rd.udev.log_level=3 vga=current mitigations=auto"
GRUB_CMDLINE_LINUX="console=ttyS12"

Where am i wrong?

Thank you.

Hi
GRUB_HIDDEN_TIMEOUT=0 here is mine configured via YaST bootloader, no grub seen…


GRUB_DISTRIBUTOR=
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_CMDLINE_LINUX_DEFAULT="splash=silent intel_iommu=on amdgpu.dc=0 quiet mitigations=auto"
GRUB_CMDLINE_LINUX=""

I do not see grub menu with these options, and I see 2 seconds wait before boot continues. I am using graphical mode (GRUB_GFXMODE). You probably need to explain in more detail what do you see or provide photo/video.

This does not leave you any time to invoke menu which rather defeats the idea of hidden timeout.

Hi
Yes, no interest in grub, just boot… :wink:

I suspect the OP is talking about still seeing the few lines of text showing linux kernel loading/booting before moving on… I turn off the theme here and no plymouth.

So you never recommended anyone to edit kernel command line as workaround or troubleshooting?

Hi
Sure, but once system is stable, I don’t see a need. Can always create a keypress script to override and show grub…

Users may want to configure bootloader from unchanged /etc/default/grub owned by package grub2. Steps for creating a boot menu:


rm /etc/default/grub             # install preserves existing version 
zypper install --force grub2     # installs unchanged /etc/default/grub 
yast2 bootloader                 # unchanged tabs are stale, change at least one option on each tab
erlangen:~ # cat /etc/default/grub
# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update
# /boot/grub2/grub.cfg.

# Uncomment to set your own custom distributor. If you leave it unset or empty, the default
# policy is to determine the value from /etc/os-release
GRUB_DISTRIBUTOR=Tumbleweed-nvme0n1p3
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_CMDLINE_LINUX_DEFAULT="spash=silent quiet mitigations=auto"
GRUB_CMDLINE_LINUX=""

# Uncomment to automatically save last booted menu entry in GRUB2 environment

# variable `saved_entry'
# GRUB_SAVEDEFAULT="true"
#Uncomment to enable BadRAM filtering, modify to suit your needs

# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#Uncomment to disable graphical terminal (grub-pc only)

GRUB_TERMINAL="gfxterm"
# The resolution used on graphical terminal
#note that you can use only modes which your graphic card supports via VBE

# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="auto"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# GRUB_DISABLE_LINUX_UUID=true
#Uncomment to disable generation of recovery mode menu entries
# GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="false"
GRUB_ENABLE_CRYPTODISK="n"
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_USE_LINUXEFI="true"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"
GRUB_THEME="/boot/grub2/themes/openSUSE/theme.txt"
erlangen:~ # 

Thank you all. I will try these tips a little later.

Tried all of this. Still the same:
https://i.postimg.cc/xcsRT8Jt/PXL-20210516-192032118-01.jpg](https://postimg.cc/xcsRT8Jt) https://i.postimg.cc/pmpB9vKx/PXL-20210516-192237110-01.jpg](https://postimg.cc/pmpB9vKx)

And this is my full /etc/default/grub:

# If you change this file, run 'grub2-mkconfig -o /boot/grub2/grub.cfg' afterwards to update# /boot/grub2/grub.cfg.


# Uncomment to set your own custom distributor. If you leave it unset or empty, the default
# policy is to determine the value from /etc/os-release
GRUB_DISTRIBUTOR=Tumbleweed-nvme0n1p6
GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=2
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_RECORDFAIL_TIMEOUT=$GRUB_HIDDEN_TIMEOUT
GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/disk/by-uuid/... quiet splash=silent loglevel=3 rd.systemd.show_status=auto rd.udev.log_lev>
GRUB_CMDLINE_LINUX="console=ttyS12"


# Uncomment to automatically save last booted menu entry in GRUB2 environment


# variable `saved_entry'
# GRUB_SAVEDEFAULT="true"
#Uncomment to enable BadRAM filtering, modify to suit your needs


# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#Uncomment to disable graphical terminal (grub-pc only)


GRUB_TERMINAL="gfxterm"
# The resolution used on graphical terminal
#note that you can use only modes which your graphic card supports via VBE


# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE="auto"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# GRUB_DISABLE_LINUX_UUID=true
#Uncomment to disable generation of recovery mode menu entries


# GRUB_DISABLE_RECOVERY="true"
#Uncomment to get a beep at grub start


# GRUB_INIT_TUNE="480 440 1"
GRUB_BACKGROUND=
GRUB_THEME=/boot/grub2/themes/openSUSE/theme.txt
SUSE_BTRFS_SNAPSHOT_BOOTING="true"
GRUB_USE_LINUXEFI="true"
GRUB_DISABLE_OS_PROBER="true"
GRUB_ENABLE_CRYPTODISK="n"
GRUB_CMDLINE_XEN_DEFAULT="vga=gfx-1024x768x16"

Hi
In my setup I only see that second image for about a second or so…

Both messages are displayed unconditionally. The first is SUSE specific patch shown before menu and the second is output when grub executes selected menu entry. Selecting menu style or timeout only affects whether menu itself is displayed - these timeouts do not change what is displayed before menu nor what commands inside menu entry print on screen.

If you really want to get rid of them, you need to edit scripts in /etc/grub.d and remove code that generates them.

Hi
Yup, 10_linux and remmed out the two message lines, just see ‘Booting openSUSE Tumblweed’ now…

Oh! Thank you all. I’ll try it as soon as i can.

So i could remove messages from 2-nd screen, blinking cursor and locale error message, but welcome message and “press t” string are still there. Can’t remove them.

Upd. Could remove “please tress ‘t’” string. But not “Welcome to GRUB”.