升级前CentOS 7使用的内核版本为3.10.0-229.20.1.el7.x86_64,VirtualBox版本为5.0.10,VitualBox驱动交给了DKMS管理。
升级CentOS 7后内核版本变为3.10.0-327.3.1.el7.x86_64,发现VirtualBox无法使用,运行VBoxManage –version,报错如下
出现驱动没有加载的情况,按理说内核升级后DKMS会自动重新编译VirtualBox的模块,通过查看DKMS编译日志,
cat /var/lib/dkms/vboxhost/5.0.10/build/make.log
发现是/var/lib/dkms/vboxhost/5.0.10/build/vboxnetflt/linux/VBoxNetFlt-linux.c编译未通过,报错如下:
vlan_tx_tag_present和vlan_tx_tag_get函数未声明的问题,在VirtualBox官网查找,发现官网已经收到了这个BUG的报告,下个版本应该就能发布,当前如果需要使用,可以自行修改,修改/usr/src/vboxhost-5.0.10/vboxnetflt/linux/VBoxNetFlt-linux.c
修改后执行rcvboxdrv setup即可。
2015-12-28注:VirtualBox新版本已经处理了该问题,我测试VirtualBox 5.0.12的版本已经不存在该问题