我学习php的时候,老师讲课需要用到windows下的一个教学软件,所以学习期间我无法使用linux,于是我就将之前安装的ubuntu删了。

我们linux课程以centos为例进行讲解,当然,是装在虚拟机里的。当我看到有同学装了双系统,在linux下装了个虚拟机安装xp来听老师讲课后,我内心的小骚动又被激起了。

于是我也装起了双系统,这个已经很熟练了,像往常一样安装配置就好了。

配置完成后,首先要做的就是装virtualbox,在这里我遇到了问题。

以rpm方式装完vb后,会提示一个内核编译错误:

Trying to register the VirtualBox kernel modules using DKMS[FAILED] (Failed, trying without DKMS)
Recompiling VirtualBox kernel modules[FAILED]

起初我没有注意,看到vb已经安装成功就准备打开使用,结果点开机的时候提示出错。一方面,提示用户必须在vboxusers这个组里才能使用vb,我将我正在使用的普通用户加到了这个组里;另一方面提示内核出错,让运行“/etc/init.d/vboxdrv setup”,我按它说的做了,结果还是出错,提示和上边一样。

很显然,它提到了DKMS。我不知道这玩意是干嘛的,也不想知道,于是我顺手yum install dkms完事。

再次运行它提到的那条命令,这次还是出错,提示如下:

Trying to register the VirtualBox kernel modules using DKMS Error!Your kernel headers for kernel 2.6.18-194.el5PAE cannot be found at /lib/moduals/2.6.18-194.el5PAE/build or /lib/modules/2.6.1-194.el5PAE/source[FAILED] (Failed,trying without DKMS) Recompiling VirtualBox kernel modules[FAILED] (look at /var/log/vbox-install.log to find out what went wrong)

(注意:这段话是从网上复制的,内核版本与我现在使用的不同,但提示就是这个样子的)

之后我重装了一次vb,情况依旧。

它提示没有内核的头文件,我没辙了,于是开始百度。

有人提到需要装kernel-devel这个包,于是我yum安装了。但我用的是163的源,里面的这个包是最新的,和我现在的内核版本不同,所以安装完之后再次运行那条命令,还是出错。我不知道官方的源是不是每个版本的包都有,不过我觉得163既然是镜像,它上边的东西应该和官方网站上的是一样的。

我只好转换思路,开始在centos的安装光盘里找以kernel开头的rpm包。很幸运,我找到分别以kernel-devel和kernel-headers开头,后跟我内核版本的rpm包。于是我删掉之前安装的kernel-devel包,安装了这俩包。再次运行vb提示的命令后,终于提示成功了。

总结一下:

rpm安装vb->将root添加到vboxusers组中->缺少DKMS,yum安装->缺少头文件,从光盘中找到相应包安装->运行vb提示的那条命令,驱动编译成功->开始正常运行

不过,并不是所有人都会遇到我现在遇到的问题。今天下午,我问装双系统的那个同学,他说他装完vb后直接就可以使用,什么问题也没有,他用的是6.3。最让我羡慕的是他6.3也用得很好,没有我之前遇到的鼠标问题,而且大概因为他的电脑有集成显卡的缘故,使用系统自带的显卡驱动就可以显示3d效果,而我想启用3d效果的话得另装显卡驱动。

linux下有太多诡异的问题,这给我们使用它带来了很大的困难,但也算是它的魅力之一吧。毕竟,当你解决掉一个问题的时候,你会很有成就感。