问题描述
从11.10升级到12.04后,虚拟框停止工作。
我运行以下操作来尝试修复它:
sudo aptitude update
sudo aptitude install dkms
sudo /etc/init.d/vboxdrv setup
但当我运行最后一个命令时,我得到:
bash: /etc/init.d/vboxdrv: No such file or directory
当我尝试
sudo /etc/init.d/virtualbox start
我明白了:
* Starting VirtualBox kernel modules
* No suitable module for running kernel found
我也尝试过:
sudo dkms install virtualbox/4.1.2
得到了:
Error! Could not find module source directory.
Directory: /usr/src/virtualbox-4.1.2 does not exist.
我也尝试过安装linux头文件:
sudo apt-get install linux-headers-$(uname -r)
但他们已经安装好了。
从我所读到的re-installing可能无法解决问题。有没有办法可以修复虚拟机?
最佳解决办法
我遇到了类似的问题。这对我有用:
如果您找到未找到类型错误的内核源代码,则可能需要这样做:
sudo apt-get install build-essential linux-headers-`uname -r`
然后重新配置相关的包以启动它们进行重建。
sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox
次佳解决办法
我最终使用apt-get卸载并重新安装了virtualbox。它看到缺少内核部件并安装它们。
sudo apt-get remove virtualbox
sudo apt-get install virtualbox
第三种解决办法
这对我也有用:
sudo apt-get remove virtualbox
sudo apt-get install virtualbox
但是,我不得不补充:
sudo modprobe vboxdrv
第四种办法
这个答案是基于@ curtis的answer,显然是答案的特定版本
You are using the wrong version for building the dkms. Try this:
sudo dkms install virtualbox/4.1.12
It appears to have worked for me. This is after you install the virtualbox-dkms package of course.
版本可以更改(引号中以粗体显示)。
所以尝试:
ls -d /usr/src/virtualbox*
这会给你类似的东西
/usr/src/virtualbox-version
现在拿版本并在上面的命令中使用它
sudo dkms install virtualbox/version
如果那不是给你的
Module virtualbox/version already installed on kernel kernelVersion-generic/architecture
之后运行以下命令(取自帖子上的其他答案)
-
rebuilding只是内核模块
sudo dpkg-reconfigure virtualbox-dkms
-
reinstalling
sudo apt-get remove virtualbox && sudo apt-get install virtualbox
如果需要,加载模块sudo modprobe vboxdrv
如果DKMS显示某些内核丢失的错误,则只需安装内核然后重建/重新安装virtualbox。
编辑:显然这也存在于12.10