grub 1菜单中缺少默认内核

我用xp的Ubuntu 11.04双启动。 我几个月前使用命令do-release-upgrade从ubuntu 10.11升级到natty。

更新管理器要求包含“linux-headers-2.6.38-11”包的一些更新。 我安装了这个包。

我使用命令uname -r 。 它说目前的运行版本是2.6.36。

通过命令grub-install -v我已经知道我只使用grub遗留,而不是grub 2

然后我尝试了sudo update-grub并且我validation了menu.lst文件有一个条目用于本地磁盘中可用的所有内核。 /boot/grub/menu.lst包含内核2.6.36和2.6.38以及其他一些条目.menu.lst的内容在这里

但是在重新启动时,grub菜单不会显示更新版本的内核。 如何将内核2.6.38-11-generic作为默认内核?

  1. 尽管grub 2默认为natty,但我没有。 为什么?

  2. 在我未来的升级之前,我应该检查哪些事情(即将推出ubuntu 11.11)?

  3. 如何将内核(在本例中为2.6.38-11-generic)作为默认内核?

根据你的menu.lst,Ubuntu 11.04,内核2.6.38-11-generic是第一个默认选项。 通常,如果您在9.10之前安装了最初的Ubuntu版本,那么它将使用grub legacy,升级过程将保留原样。 我还注意到你的menu.lst有一个链加载grub2的选项,所以看起来你不知何故得到了grub legacy和grub2,这是不允许的。 您是否使用livecd手动安装grub-legacy?

此时我建议尝试清除grub遗留的所有痕迹并重新安装grub2:

 sudo rm -fr /boot/grub sudo apt-get install --reinstall grub-pc sudo update-grub 

在重新安装步骤中,您应该看到一个蓝色背景的菜单,要求您检查应该安装哪些驱动器grub。 确保选择了启动驱动器。 如果你没有得到那个屏幕,那么你可以通过运行sudo dpkg-reconfigure grub-pc来强制它。

GRUB 2能够自动检测各种操作系统和自动配置,而GRUB 1则不能。