ubuntu 12.10-安装新内核后没有 grub 选择

ubuntu 12.10-安装新内核后没有 grub 选择

我正在使用 Ubuntu 12.10。我自己编译了一个新内核并安装它。安装后,我更新了 grub。问题就在这里。当我的电脑重新启动时,它没有显示 GRUB 屏幕来选择旧/新内核或 Windows 7(屏幕是黑色的)。它只从新内核启动。我该如何解决这个问题?我的电脑有一张显卡:华硕 - Geforce GT430。

答案1

我对编译内核一无所知,但我觉得 Grub 已经设置为隐藏超时.您应该检查文件/etc/default/grub,例如通过打开编辑器:

sudo gedit /etc/default/grub

看看这些行是否和你的一样:

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

GRUB_HIDDEN_TIMEOUT有关和的行应该GRUB_TIMEOUT相同。如果不一致,请相应地进行更改。before确保不使用隐藏超时,这意味着在 Grub 启动到其默认条目之前会有 10 秒的延迟。#GRUB_HIDDEN_TIMEOUT=0GRUB_TIMEOUT=10

对 Grub 文件进行更改并保存后,您运行:

sudo update-grub

确保更改已应用。执行此操作后,您应该会返回 Grub 菜单,以便能够再次选择要启动的内核或操作系统。

答案2

尝试更改 GRUB_TIMEOUT 值以强制 grub 菜单:

sudo gedit /etc/default/grub 

并改变

GRUB_TIMEOUT=0

GRUB_TIMEOUT=5

保存并重新运行update-grub

答案3

完成所有这些步骤后,我在终端中发现了这一点

grub-mkconfig: You must run this as root

这就是我全部的行动

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

答案4

提到的其他线程的解决方案与该用户的问题并不完全匹配,但我确实在那里找到了解决方案。

这为我解决了这个问题:

跑步:sudo update-grub

在我的例子中,它找到了新内核,但没有写出 menu.lst 文件。我相当确定这是因为我在安装新内核时选择了“不更新”选项,即使我执行了 update-grub,grub 也不允许更新文件。

为了解决这个问题,我将我的移至/boot/grub/menu.lst/boot/grub/menu.lst.old只是为了保存),然后sudo update-grub再次运行,写入文件并反映我刚刚安装的新内核版本。

希望这可以帮助...

相关内容