我正在运行 Ubuntu 12.04。今天早上,在进行了一次久违的内核更新重启后,我发现我无法再启动任何 VirtualBox 机器;长话短说,这让我发现我目前正在运行内核 3.0:
root@vmsys:~# uname -r
3.0.0-19-generic
这很奇怪,因为据我所知 12.04 在内核 3.2 上运行,而我安装了 3.2 内核:
root@vmsys:~# ls /boot/vmlinuz-3.2*
/boot/vmlinuz-3.2.0-24-generic /boot/vmlinuz-3.2.0-25-generic
root@vmsys:~# aptitude search linux-image-3.2.0-25-generic
i linux-image-3.2.0-25-generic - Linux kernel image for version 3.2.0 on 64 bit x86 SMP
p linux-image-3.2.0-25-generic:i386 - Linux kernel image for version 3.2.0 on 32 bit x86 SMP
p linux-image-3.2.0-25-generic-pae:i386 - Linux kernel image for version 3.2.0 on 32 bit x86 SMP
现在,不久前我确实遇到过一个问题,在修改了 Grub 的菜单选项并在我不太熟悉的各种地方进行探索后才解决了这个问题,所以很可能是我导致了这个问题。这个系统也是一个升级版,虽然我已经不记得我运行的原始版本是什么了;也许是它的年龄问题。
长话短说,我需要 VirtualBox 内核模块才能运行我的 VirtualBox 机器,但是存储库为内核 3.2 而不是 3.0 安装了它们!我当然可以自己安装内核 3.0 模块——这并不超出我的能力——但这似乎是在回避真正的问题,即 Ubuntu 和/或 Grub 不知何故配置错误,无法启动过时的内核。所以真正的问题是:如何将 3.2 内核放入 Grub 的菜单选择中(最好是作为默认选择),而不会造成任何进一步的混乱(即,这样我就不会在下一次内核更新时再次回到这里)?
我确实尝试过apt-get install linux-image-generic --reinstall
,但无济于事——Grub 仍然没有显示任何 3.2 内核选项,并且默认启动到这个 3.0 内核。内核更新过去总是会更新 Grub 的菜单,但现在却完全不显示在菜单中,这似乎很奇怪……
编辑:我没有太注意标签,但进一步检查后我发现我已经安装了 grub 包,但有一个可用的 grub2 包不是已安装。我应该使用 grub2 吗,或者这不是问题所在?
答案1
你应该已经grub-pc
安装了软件包。然后运行:
cd /boot/
sudo update-grub