Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

After trying (and failing) to install better ATI drivers in 11.10, I've somehow lost my grub menu at boot time. The screen does change to the familiar purple colour, but instead of a list of boot options it's just blank solid colour, and then disappears quickly and boots into the default entry normally.

How can I get the bootloader back? I've tried sudo update-grub and also various different combinations of resolutions and colour depths in startupmanager application with no success (640x480, 1024x768, 1600x1200, 16 bits, 8 bits, 10 second delay, 7 second delay, 2 second delay...)

edit:

I have already tried holding down Shift during bootup and it does not seem to change the behaviour. I get the message "GRUB Loading" in the terminal, but then the place where the grub menu normally appears I get a solid blank magenta screen for a while.

Here are the contents of /etc/default/grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

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=" vga=798 splash"

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

# 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=640x480

# 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"
share|improve this question
    
Do you mean that it boots to lightdm or to your desktop or do you mean that you cannot boot to lightdm? Can you post the contents of the file /etc/default/grub –  fossfreedom Dec 13 '11 at 12:36
    
have you tried pressing and holding the shift key right before ubuntu loads? –  Bruno Pereira Dec 13 '11 at 12:44
    
it boots to lightdm –  wim Dec 13 '11 at 13:57
    
what happens if you change GRUB_CMDLINE_LINUX to "" and run update-grub? –  fossfreedom Dec 13 '11 at 23:20
    
@fossfreedom just tried it, it does not seem to change the behaviour at all –  wim Dec 14 '11 at 11:23

5 Answers 5

up vote 23 down vote accepted

I was having the same problem on my laptop, getting the magenta blank screen. Here's what worked for me. I changed:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

to:

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

And since I didn't have a CRT, instead I changed:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to:

GRUB_CMDLINE_LINUX_DEFAULT=""

Then ran update-grub. On restart I was then able to get the menu by holding down the Shift key.

share|improve this answer
    
+1 but I am on 12.04 and I don't need to change GRUB_CMDLINE_LINUX_DEFAULT to make it work. I guess this is only related to the graphic driver issue and not needed to show grub menu. –  laurent Jun 17 '12 at 14:01

To show the menu only when you need it

Hold SHIFT from when you see the BIOS load screen. The GRUB menu should show up.

To always show it

Run Gedit as root (gksu gedit), and open the file /etc/default/grub. There should be something like this in there:

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

Change it to this:

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

Save it, run sudo update-grub from a terminal, and reboot. The GRUB menu should show up.

share|improve this answer
    
I tried your suggestion, but it does not change the problem - I still get a solid magenta screen with no text. –  wim Dec 13 '11 at 14:03
    
+1 - but on my 12.04, I need to modify grub (the permanent solution) and the grub menu appears only if I hold down Shift. Only pressing Shift doesn't show the grub menu. –  laurent Jun 17 '12 at 13:56

None of the above suggestions worked for me. So I tried "commenting" the two entries. i.e. I changed them from

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

to:

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true

I now get the grub menu screen for 10 seconds.

GRUB_HIDDEN_TIMEOUT controls whether or not the menu is shown. The default behavior is to hide the menu if only one operating system is present. If a user with only Ubuntu wishes to display the menu, place a # symbol at the start of this line to disable the hidden menu feature. For more information, see the Grub 2 Ubuntu help page

share|improve this answer
1  
Thanks, that's the real answer: comment the HIDDEN lines, otherwise it will not work as desired: to force the menu to appear. –  sorin Nov 24 '13 at 15:51

I have a similar problem in Ubuntu 11.10. For me it's just a black screen with "grub loading".

But I found a workaround. I can get the menu to display by activating the console mode by uncommenting this line in /etc/default/grub :

GRUB_TERMINAL=console

Good luck!

share|improve this answer

After changing

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

uncomment the line

#GRUB_GFXMODE=640x480

Once that is done, Run sudo update-grub and update the Grub. Then restart the computer and the issue will be fixed. I had it fixed. I had this issue when I was using a CRT monitor. Try it. best of Luck.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.