How do I hide the GRUB menu showing up at the beginning of boot?
Solution 1:
You can just change grub settings.
type in terminal
sudo -H gedit /etc/default/grub
Change GRUB_HIDDEN_TIMEOUT_QUIET=false
to
GRUB_HIDDEN_TIMEOUT_QUIET=true
Save the file and exit
Type sudo update-grub
If you don't get the result you want, see this bug.
Solution 2:
I solved this problem by disabling the OS Prober. I did that because in /boot/grub/grub.cfg
in the part generated by the template /etc/grub.d/30_os-prober
, there was an override of "timeout" to 10 and "style" to menu.
Edit /etc/default/grub
and add this line:
GRUB_DISABLE_OS_PROBER=true
Hope you find this useful!
BTW, my full /etc/default/grub is:
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR= [...]
GRUB_DISABLE_OS_PROBER=true
GRUB_RECORDFAIL_TIMEOUT=0
Happy coding
Solution 3:
I tried all those tips they didnt work, ended up reducing the timeout time to zero as follows:
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Solution 4:
You need to edit the file at /etc/default/grub
to prevent showing the grub menu.
By default, the entries in that files look like this.
GRUB_DEFAULT=0 #GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=false GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
- Remove the
#
mark from second line, and - Change the line
GRUB_HIDDEN_TIMEOUT_QUIET=false
toGRUB_HIDDEN_TIMEOUT_QUIET=true
.
After changes, the required portion of the file will look like this
GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=""
- Then run
sudo update-grub
command in the terminal, and reboot to see the result.
Solution 5:
I had the same problem and none of the tips here worked! The only way was to change /boot/grub/grub.cfg manualy. At some point of this file he makes the timeout goes to 10! So, just comment those lines
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
But, you can never do update-grub again, otherwise it will turn back to the same file, and timeout is going to 10 again! Save the file (in vi you will need to force it even if you are su!). Restart the computer and it will work just fine!