32

I read here at this thread that holding Shift during boot can bring up the GRUB menu. However I try holding one or the other Shift keys, tapping, tapping then holding, nothing works. Am I missing something? How does one access the GRUB menu during boot time?

No dual boot here, just standard Lubuntu 14.04 install.

4
  • 9
    It depends on the hardware. Sometimes ESC works.
    – Pilot6
    Sep 1, 2015 at 10:17
  • 1
    Gave ESC a try too. That key is used by my BIOS to enter its settings menu. I tried ESC after the BIOS splash screen just before the Ubuntu splash but no luck either. I just can't seem to get in there on this machine (ASUS X200M). No problem with other machines. Sep 1, 2015 at 21:17
  • 1
    Another factor would be timing to press. Press and hold Esc key after the BIOS splash screen worked for me. Pressing earlier would land me to CSM screen (since I have disabled Secure boot). I can just suggest timing.
    – user37165
    Oct 6, 2015 at 14:54
  • 1
    Does this answer your question? How to get to the GRUB menu at boot-time? May 2, 2023 at 11:15

6 Answers 6

28

I also cannot access the GRUB menu by any manner of pressing shift or esc on my Asus X205TA. To get the GRUB menu to display at boot, I had to modify the /etc/default/grub file. See this page.

To get the GRUB menu to display every time (until I change it back) I used nano to edit the file in the terminal. Type:

sudo nano /etc/default/grub

find the line that says GRUB_HIDDEN_TIMEOUT=0 or GRUB_TIMEOUT_STYLE=hidden put # at the start of this line to comment it out

#GRUB_HIDDEN_TIMEOUT=0

or

#GRUB_TIMEOUT_STYLE=hidden

and make sure GRUB_TIMEOUT=10 or some other number bigger than zero. When done exit nano saving changes and run

sudo update-grub
3
  • I'm very late getting back to this, but this worked for me too, thank you! Jun 9, 2017 at 13:15
  • 2
    Just commenting since I tried this: something may have been updated since this doesn't work for me (Ubuntu 18.04). My /etc/default/grub didn't have a GRUB_HIDDEN_TIMEOUT line, however this may have been replaced by GRUB_TIMEOUT_STYLE=hidden. Should I replace that with something else to mimic your solution, and do you know what that should be?
    – Marses
    Jan 20, 2019 at 11:01
  • 1
    @LimokPalantaemon thank you for the extremely helpful comment! Every time the package maintainer has changed the /etc/default/grub file I have kept my edited version (because I use many boot parameters as well as forcing the GRUB menu to appear). Thanks to you I checked the new version and tested it, and updated my answer here. This version forces the menu successfully. Now I just need to try to find all the places where I mentioned this and correct those too O.O
    – Zanna
    Jan 20, 2019 at 20:11
11

I have an X200MA. To enter the GRUB menu, you press Esc while booting. Choose Ubuntu to boot normally.

You may have problems if you installed Ubuntu not in UEFI mode. I did not test it that way.

1
  • shift wasn't working for me, esc did work. thanks. Jun 12, 2017 at 3:27
3

I had the same problem. The system would boot directly and my monitor would be in out-of-range mode. I pressed repeatedly until I thought GRUB was waiting for a command, then I pressed , Enter, to select recovery mode.

It took a few tries or randomness, but when I entered recovery mode the display came back. I then:

  1. Selected root for a root prompt
  2. Ran mount -o rw,remount / to mount the filesystem in read-write mode
  3. Ran vi /etc/default/grub
  4. Removed # from GRUB_TERMINAL=console
  5. Saved the file
  6. Ran update-grub to update GRUB
  7. Ran exit to return to the menu and continue booting

GRUB would show up, the monitor would work, and then I could log in.

1
  • uncommenting GRUB_TERMINAL=console worked for me too, thank you!
    – stilliard
    Apr 21, 2019 at 8:45
3

I am answering this question in hope that it will help someone else in the Future.

Usually you are right in trying to get to Grub with Shift! But Grub usually explicitly prohibits using the Shift key if you have "Fastboot" enabled:

if [ "\${fastboot}" = "1" ]; then
  # timeout_style=menu + timeout=0 avoids the countdown code keypress check
  set timeout_style=menu
  set timeout=0

Taken from /etc/grub.d/12_menu_auto_hide

But the other people who answered in here are right aswell, but I think for a different problem. If the Grub menu does not start automatically on start up, you can try fiddeling with your /etc/default/grub file.

Open it with sudo rights:

sudo nano /etc/default/grub

And there you should see two entries of importance to us:

GRUB_TIMEOUT= "some number, probably 0 or 5"
GRUB_TIMEOUT_STYLE= hidden/menu/countdown

GRUB_TIMEOUT tells us how long Grub will wait for Input until it loads the default OS.

  • 0 will instantly choose the default OS
  • -1 will wait on user input indefinitely

GRUB_TIMEOUT_STYLE tells you how the Grub menu is shown, if at all

  • hidden= Hides grub unless you press Shift in time
  • menu= Will show Grub
  • countdown= Will not show grub, but an actual Countdown on screen

Hope that helped (more info on the other entries in /etc/default/grub Ubuntu Wiki

1
  • Not helpful if you can't get into your system in the first place
    – chx101
    Jul 25, 2022 at 17:27
1

There are three issues that make getting into the grub menu difficult on some systems.

  • The timing of when to hit a key to abort the hidden menu feature is tricky
  • Holding down the shift key doesn't always work because some bioses will think the key is stuck and clear it or give an error on stuck key
  • Some video cards will not be initialized yet when the menu should come up, and the screen will be black, causing you to miss it

The first two problems can be bypassed by using capslock instead of shift. The trick is to press caps lock during boot and watch the capslock light. When it goes out, hit capslock again to turn it back on, and keep doing that until either you get the grub menu or you realize you've missed the timing again.

Once you've gotten past the hidden menu and gotten the grub menu, you need to turn off capslock and then interact with the menu before the menu timeout occurs and it selects the default item.

If you have a system with timing issues or video card initialization issues with grub, I strongly recommend you use one of the other answers here to permanently disable the hidden menu feature and/or force text console mode, as appropriate. You will need to either boot successfully to do this -- either normally, via rescue options in the grub menu, or by booting the Ubuntu install media and invoking rescue mode from there.

When I'm installing ubuntu on a machine that has known problems like this, I'll use the "try ubuntu before installing" option and before it finishes, edit /etc/default/grub to disable hidden menu. This can be done during install or before rebooting at the end. Make sure update-grub gets rerun after you make that edit, either as part of the install or manually.

0

Simple answer:

In the file /etc/default/grub, set GRUB_TIMEOUT=1, not 0. (Or set it to some other positive number, which is interpreted as seconds.) Then run sudo update-grub after saving the edit.

Terminal one-liner to do this:

sudo sed -i 's/^.*GRUB_TIMEOUT=.*$/GRUB_TIMEOUT=1/' /etc/default/grub && sudo update-grub
2
  • I'd upvote this if it included GRUB_TIMEOUT_STYLE=menu
    – user10489
    May 2, 2023 at 11:25
  • The shift key will still work (for x seconds) even if the menu is hidden, pressing which, will show the menu. This is a discreet way of not seeing the menu in each and every boot while having the capacity to interrupt and load Grub selection.
    – Majal
    May 2, 2023 at 21:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .