VisualBox之所以在Linux上比传统的VMware快得多,关键一点就是它和Linux内核的结合比较紧密,这也是开源的优点。
不过Linux内核更新很频繁,每次更新内核后启动VirtualBox都会提示:
VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing ‘/etc/init.d/vboxdrv setup’ as root.
所以需要重新编译VirtualBox的内核,Ubuntu下执行如下命令:
sudo /etc/init.d/vboxdrv setup
如果提示
* Stopping VirtualBox kernel modules [ OK ]
* Uninstalling old VirtualBox DKMS kernel modules [ OK ]
* Trying to register the VirtualBox kernel modules using DKMS
* Failed, trying without DKMS
* Recompiling VirtualBox kernel modules
* Look at /var/log/vbox-install.log to find out what went wrong
找到/var/log/vbox-install.log文件,内容大致为:
Makefile:172: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop.
所以需要安装当前Linux内核的源文件,编译VirtualBox内核的时候需要它,Ubuntu下执行如下命令安装当前Linux内核的源文件:
sudo apt-get install linux-headers-`uname -r`
注意括起uname -r的不是单引号,而是Esc键下面的那个符号。
然后再编译VirtualBox内核执行如下命令:
sudo /etc/init.d/vboxdrv setup