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.

I am using Ubuntu 12.10. I compiled myself a new kernel and installed it. After installing, I updated grub. The problem happens here. When my computer reboots, it doesn't show me the GRUB Screen to choose old/new kernel or windows 7(the screen is black). It starts with new kernel only. How can I fix this? My pc has a graphic card: ASUS - Geforce GT430.

share|improve this question
    
Please try this solution. The next time you have a question, please try the search function on this site before you write a duplicate question. –  bender Jan 4 '13 at 16:38
add comment

4 Answers

I don't know anything about compiling kernels, but it seems to me that Grub is set to be on hidden timeout. You should check the file /etc/default/grub, e.g. by opening your editor:

sudo gedit /etc/default/grub

and see if these lines look the same as yours:

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=""

The lines concerning GRUB_HIDDEN_TIMEOUT and GRUB_TIMEOUT should be the same. In case they are not, change them accordingly. The # before GRUB_HIDDEN_TIMEOUT=0 makes sure hidden timeout isn't used and GRUB_TIMEOUT=10 means you get a 10 second delay before Grub boots to its default entry.

After you made changes to the Grub file and saved it, you have run:

sudo update-grub

To make sure the changes are applied. When you do this you should get the Grub menu back so you'll be able to choose the kernel or OS you want to boot again.

share|improve this answer
add comment

Try to change the GRUB_TIMEOUT value in order to force the grub menu :

sudo gedit /etc/default/grub 

And change

GRUB_TIMEOUT=0

to

GRUB_TIMEOUT=5

Save and re-run update-grub

share|improve this answer
add comment

after i did all these steps i found this in the terminal

grub-mkconfig: You must run this as root

and that was all my actions

ubuntu@ubuntu:~$ sudo gedit /etc/default/grub 
ubuntu@ubuntu:~$ update-grub
grub-mkconfig: You must run this as root
ubuntu@ubuntu:~$ sudo gedit /etc/default/grub 
ubuntu@ubuntu:~$ sudo update-grub 
/usr/sbin/grub-probe: error: failed to get canonical path of /cow.
ubuntu@ubuntu:~$ ^C
ubuntu@ubuntu:~$ sudo update-grub 
/usr/sbin/grub-probe: error: failed to get canonical path of /cow.
ubuntu@ubuntu:~$ sudo gedit /etc/default/grub
ubuntu@ubuntu:~$ update-grub
grub-mkconfig: You must run this as root
share|improve this answer
add comment

The other thread's solution mentioned did not exactly match this users question but I did find the solution there.

This solved the problem for me:

Run: sudo update-grub

In my case, this found the new kernel but did not write out the menu.lst file. I'm fairly certain this is becuase I selected the "do not update" option when installing the new kernel and grub was not allowed to update the file even when i do my update-grub.

To solve that I moved my /boot/grub/menu.lst to /boot/grub/menu.lst.old (just to be save), then ran sudo update-grub again which wrote the file and reflects the new kernel version I'd just installed.

Hope this helps...

share|improve this answer
add comment

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.