My system is not dual-boot, I run a standard Ubuntu desktop system "on the metal" (I think running it in a VM is the same).
Pressing c while booting does not cause the GRUB menu to appear (which I believe it does for a dual-boot system).
How can I get the GRUB-menu to present itself on a single-boot system?
Menu will appear if you press and hold Shift during loading Grub, if you boot using BIOS. When your system boots using UEFI, press Esc.
For permanent change you'll need to edit your
/etc/default/grub
file -- place a "#" symbol at the start of lineGRUB_HIDDEN_TIMEOUT=0
.Save changes and run
sudo update-grub
to apply changes.Documentation: https://help.ubuntu.com/community/Grub2
I have tried both the Shift and Space keys but nothing works. Only the Esc key works for Ubuntu 14.04 and 16.04 to get Grub Menu at boot time.
In Ubuntu 18.04, there is no
GRUB_HIDDEN_TIMEOUT=0
line in/etc/default/grub
- instead there isGRUB_TIMEOUT_STYLE=hidden
. According toinfo -f grub -n 'Simple configuration'
:So if you either remove or comment out the line as:
and run
sudo update-grub
, then the menu will show by default.18.04 + Not dual boot, boots in grub 5 seconds:
By default, GRUB will show the menu if there is a second operating system installed. If only Ubuntu is installed, then GRUB will generally load Ubuntu without showing the menu. To reconfigure GRUB to always show a menu:
Edit
/etc/default/grub
:Set
GRUB_HIDDEN_TIMEOUT=
(no value after the=
sign).Set
GRUB_TIMEOUT=n
to show the menu for n seconds.update-grub
to regenerate/boot/grub/grub.cfg
based on the/etc/default/grub
settings.You can get GRUB to show the menu even if the default
GRUB_HIDDEN_TIMEOUT=0
setting is in effect:Hopefully this clears up confusion as to why Shift works for some users and Esc works for others.
Edit
/etc/default/grub
(sudo -H gedit /etc/default/grub
)...change:
to:
then save the file and quit the editor. Next run:
GRUB_TIMEOUT_STYLE
If this option is unset or set to
menu
, then GRUB will display the menu and then wait for the timeout set byGRUB_TIMEOUT
to expire before booting the default entry. Pressing a key interrupts the timeout.If this option is set to
countdown
orhidden
, then, before displaying the menu, GRUB will wait for the timeout set byGRUB_TIMEOUT
to expire. If ESC is pressed during that time, it will display the menu and wait for input. If a hotkey associated with a menu entry is pressed, it will boot the associated menu entry immediately. If the timeout expires before either of these happens, it will boot the default entry. In thecountdown
case, it will show a one-line indication of the remaining time.I've heard Shift does it. But I've used Space before and it worked.
For newer Ubuntu versions there is no
GRUB_HIDDEN_TIMEOUT
instead there isGRUB_TIMEOUT_STYLE
which is set tohidden
by default.Open the file
sudo nano /etc/default/grub
Change value ofGRUB_TIMEOUT_STYLE
fromhidden
tomenu
and make sureGRUB_TIMEOUT
is not set to0
then runsudo update-grub
Done!!!
For me, I found the issue was that I had left a USB stick plugged in to the computer. I suppose the computer was attempting to boot from the USB stick.
Once I had removed the USB stick, I could press shift or esc or space (depending on the version of Ubuntu you are using, I think).