我的cent os7是liveCD的镜像,装好了之后去vbox官方下载了一个rpm包并安装。创建了虚拟机,启动时报错:

kernel driver not installed (rc=-1908)

这个问题需要重新编译vbox的内核模块

第一种方法

按照提示用root身份执行了/sbin/rcvboxdrv setup

然后报错:Bad argument setup

google之后找到解决方法:

执行sudo /usr/lib/virtualbox/vboxdrv.sh setup

报错Recompiling VirtualBox kernel modules                      [失败]

vbox内核模块编译失败 

我之前没有装开发工具,所以这里yum groupinstall -y "Development Tools"安装了一套开发工具

然后根据模块编译失败的日志:/var/log/vbox-install.log当中查找到

Makefile:185: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again。 停止。

google之后,,原因是找不到内核源目录,使用命令

export KERN_DIR=/usr/src/kernels/3.10.0-327.4.5.el7.x86_64/    ##这里的版本号直接补全就好,或者使用`uname -r`

定义了源目录之后在使用sudo /usr/lib/virtualbox/vboxdrv.sh setup

[root@localhost dxjun]# /usr/lib/virtualbox/vboxdrv.sh setup
Stopping VirtualBox kernel modules                         [  确定  ]
Recompiling VirtualBox kernel modules                      [  确定  ]
Starting VirtualBox kernel modules                         [  确定  ]

这次就重新编译完成了。


第二种方法

也可以按照提示中的安装dkms来解决,

yum install -y dkms

然后在sudo /usr/lib/virtualbox/vboxdrv.sh setup

[root@localhost dxjun]# /usr/lib/virtualbox/vboxdrv.sh setup
Stopping VirtualBox kernel modules                         [  确定  ]
Uninstalling old VirtualBox DKMS kernel modules            [  确定  ]
Trying to register the VirtualBox kernel modules using DKMS[  确定  ]
Starting VirtualBox kernel modules                         [  确定  ]

这样也是可以的。


至此就可以了,去打开vbox的虚拟机就能够工作了。