自从Ubuntu升级到9.04,发现VirtualBox也更新到2.2.4了,但是我的却一直没有自动升级。
到VirtualBox的官方网站上看了一下,原来2.1不能直接升级到2.2,要卸载旧版本才能用2.2的。于是,卸载
1 | sudo apt-get remove virtualbox-2.1 |
之后,安装
1 | sudo apt-get install virtualbox-2.2 |
这时,问题出现了
modprobe vboxdrv failed
有问题,找Google。
但是,没有找到针对的解决办法,OK,还是看log文件吧,最原始的消息都在里面
1 | gedit /var/log/vbox-install.log |
原来真正的错误是这个
** Compiling vboxdrv
Makefile:143: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR= and run Make again。 停止。
在编译vboxdrv的时候出错,无法找到相应的kernel header。找不到就安装之
1 | sudo apt-get install linux-headers-2.6.28-11 |
怎么,明明已经安装了的,奇怪。再找原因,可能是我当前启动的不是我已经安装的内核,用命令看一下
1 | uname -r |
果然
2.6.27-11-generic
唉,新内核装了居然一直没启用。。。
修改grub启动菜单
1 | sudo gedit /boot/grub/menu.lst |
把2.6.27-11全部替换为2.6.28-11,重启,再安装VirtualBox,一切顺利,再重启,熟悉的VirtualBox出现在我的菜单里面,启动之,提示要把旧的配置文件转换,照它说的做吧,一切正常。
总结:
1 | sudo apt-get install linux-headers-`uname -r` |
这样就不会弄错版本。
出自uname –help,详细的还是Google吧
用法:uname [选项]…
输出一组系统信息。如果不跟随<选项>,则视为只附加 -s 选项。-a, –all 以如下次序输出所有信息。其中若 -p 和 -i 的探测结果不可知则被省略:
-s, –kernel-name 输出内核名称
-n, –nodename 输出网络节点上的主机名
-r, –kernel-release 输出内核版本
-v, –kernel-version 输出内核发行时间
-m, –machine 输出主机的硬件架构名称
-p, –processor 输出处理器类型或“unknown”
-i, –hardware-platform 输出硬件平台或“unknown”
-o, –operating-system 输出操作系统名称
–help 显示此帮助信息并离开
–version 显示版本信息并离开请向 <bug-coreutils@gnu.org> 报告错误。
Leave a Comment