ubuntu14.04中virtualbox虚拟机无法启动

近期升级了ubuntu14.04,还是按之前的方法安装了virtualbox(guest系统仍然使用升级之前的镜像文件),可是在启动guest系统时,总是报错,提演示样例如以下:

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/etc/init.d/vboxdrv setup'

as root. If it is available in your distribution, you should install the DKMS package first. This package keeps track of Linux kernel changes and recompiles the vboxdrv kernel module if necessary.

依照提示,应该是vboxdrv未载入,须要又一次安装vboxdrv。于是我运行了例如以下的两条命令:

sudo apt-get install dkms
sudo /etc/init.d/vboxdrv setup

可是仍然报错,终端输出例如以下:

Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modules ...done.
Trying to register the VirtualBox kernel modules using DKMS ...done.
Starting VirtualBox kernel modules ...failed!
(modprobe vboxdrv failed. Please use 'dmesg' to find out why)

然后我到dmesg的输出其中查看,也没有发现明显错误的地方。 之后就一直卡到这个地方,google了比較长时间,大部分的答案也是依照上面的这个操作(还有就是又一次卸载/安装dkms和virtualbox以及virtualbox-dkms)。

后来经过一个网友的提醒,可能是gcc版本号过低导致的。由于我本地须要编译android,所以我手动将gcc的版本号降到了4.4,而非原来的4.8.于是我将gcc版本号又一次改回到4.8,然后继续运行

sudo /etc/init.d/vboxdrv setup

这次最终好了,提演示样例如以下:

Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modules ...done.
Trying to register the VirtualBox kernel modules using DKMS ...done.
Starting VirtualBox kernel modules ...Done!

然后再执行virtualbox,一切都正常了!