Virtualbox,Ubuntu 11.10,Linux内核3:无法启动虚拟机。

我已经安装了Oracle VirtualBox v.4.1.2_Ubuntu r38359。
该程序的虚拟机启动时出现错误:

警告:字符设备/dev/vboxdrv不存在。 请安装virtualbox-ose-dkms软件包和适当的头文件, 很可能是linux-headers-generic。

在解决此问题之前,您将无法启动虚拟机。

(VirtualBox:5642): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(VirtualBox:5642): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(VirtualBox:5642): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(VirtualBox:5642): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

按照我所做的: 1)
sudo apt-get install virtualbox-ose virtualbox-ose-dkms
回答如下:
virtualbox-ose已经是最新版本。 virtualbox-ose-dkms已经是最新版本。
2)
sudo apt-get install linux-headers-`uname -r`

回答:

linux-headers-3.0.0-12-generic-pae已经是最新版本。


如果我尝试启动虚拟机,会出现两个窗口:
1)第一个窗口:

无法为虚拟机winxp打开会话。 虚拟机'winxp'在启动过程中意外终止,退出代码为1。

结果代码:NS_ERROR_FAILURE (0x80004005)
组件:Machine
接口:IMachine {5eaa9319-62fc-4b0a-843c-0cb1940f8a91}

2)第二个窗口:

内核驱动程序未安装(rc=-1908) 请安装virtualbox-dkms软件包,并以root身份执行'modprobe vboxdrv'。

尝试过:

$sudo modprobe vboxdrv
致命错误:找不到vboxdrv模块。

;

$ /etc/init.d/virtualbox start * 正在启动VirtualBox内核模块 * 未找到适用于当前运行的内核的模块 [失败]
8个回答

你是否尝试构建内核模块?在安装过程中应该已经构建了它,但看起来似乎失败了。你可以尝试以下方法:
sudo dkms install virtualbox/4.1.2

这应该构建模块。

构建完成,但仍然假设存在相同的问题;我是否应该在“sudo dkms build virtualbox/4.1.2”之后向您展示输出文本? - ted
当然可以帮到你。你还可以按照hhlp的建议,卸载VirtualBox并从Oracle软件源重新安装它。 - Javier Rivera
内核准备对于这个内核是不必要的。跳过...构建模块: 清理构建区域... make KERNELRELEASE=3.0.0-12-generic-pae -C /lib/modules/3.0.0-12-generic-pae/build M=/var/lib/dkms/virtualbox/4.1.2/build.............. 清理构建区域...DKMS:构建完成。ted@calister:~$ virtualbox 警告:字符设备/dev/vboxdrv不存在。 请安装virtualbox-ose-dkms软件包和适当的头文件,很可能是linux-headers-generic。在解决此问题之前,您将无法启动虚拟机。仍然是同样的错误。 - ted
你需要运行/etc/init.d/virtualbox start来加载模块。 - Javier Rivera
我已经尝试过了。请查看我的问题。 - ted
是的,我确实读过了,但你是在构建模块之后才这样做的吗?抱歉,问题不清楚,至少对我来说,在问题或评论中都没有明确说明。如果你确实这样做了,是否出现了相同的错误?(如果模块已经构建成功,理论上不应该出现错误)。 - Javier Rivera
抱歉回复晚了,是的,问题还是老问题。 - ted
你能把完整的建筑信息发布到Pastebin或类似的网站上吗? - Javier Rivera
这是我第一次进行dkms build操作 - pastebin - ted
1这对dkms来说是非常好的,它应该可以自己工作。尝试使用sudo dkms install virtualbox/4.1.2。 - Javier Rivera

前往Dash,然后进入软件中心,删除所有VirtualBox软件包...

添加VirtualBox仓库:

    sudo add-apt-repository "deb http://download.virtualbox.org/virtualbox/debian oneiric contrib"
    wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
    sudo apt-get update

安装 VirtualBox 4.1:

    sudo apt-get install virtualbox-4.1

如果您希望在虚拟机中使用USB 2.0、VirtualBox RDP和支持Intel网卡的PXE引导功能,您需要安装扩展包,可以在此处下载

安装扩展包

下载扩展包后,打开VirtualBox并导航至"文件 -> 首选项",在"扩展"部分,点击"添加包"图标,然后定位到您下载的扩展包。


跟随你的请求:
sudo apt-get install kernel-package 
sudo apt-get install linux-source

尝试移除旧模块。
sudo apt-get remove virtualbox-ose-modules*
sudo apt-get purge virtualbox-ose-modules*

然后安装新的。

sudo apt-get install virtualbox-ose-modules-`uname -r`

试一下这个

sudo /etc/init.d/vboxdrv setup


由于流量不足,无法重新下载VirtualBox。如果可能的话,需要解决此问题而不必进行完整的重新安装(以尽量减少流量使用)。 - ted
1"sudo apt-get install kernel-package","sudo apt-get install linux-source" 需要下载约82Mb的文件 - 这是不可能的(流量限制)。 没有需要移除或清除的内容。无法下载 "E: Couldn't find any package by regex 'virtualbox-ose-modules-3.0.0-12-generic-pae'"。 最后一条信息为 "sudo: /etc/init.d/vboxdrv: command not found"。 - ted

我也不知道,但我遇到了和你一样的问题。我只是尝试通过安装适用于内核版本的vbox版本来解决它。这个方法行得通。我意思是,如果你的vbox版本是4.X.X,那就要支持你的操作系统内核版本(你的电脑)。如果你想检查内核版本,在终端中输入:uname -s

嗯,最先让我注意到的是,你似乎混淆了VirtualBox的开源版本和专有版本。我不知道这是否重要,但可能是。确保你正在运行开源版本的VirtualBox,或者使用virtualbox-dkms包安装专有版本的驱动程序。

已安装。 - ted
virtualbox-dkms不是专有的。它们是内核驱动程序,但是开源的。VirtualBox的专有部分现在在扩展包中。 - Javier Rivera

在我的情况下,我做了以下几步:
1. 前往https://www.virtualbox.org/wiki/Downloads下载Virtualbox软件包。 2. 从网站链接下载扩展包。 3. 安装软件包(不用担心PPA/Repository或其他问题,因为软件包最终会将其添加到您的仓库中)。 4. 使用Virtualbox管理器安装扩展包。
注意:为了避免问题,您必须删除已安装的Virtualbox以及与之相关的任何仓库。
完成以上步骤后,当有更新时,系统会像其他Ubuntu程序一样通知您。
当前版本是4.1.4

另一个问题是由于流量限制,我无法重新下载VirtualBox。 - ted
哦!是从朋友家、咖啡馆、女友家、妈妈家还是邻居家来的? - Luis Alvarado
除了咖啡馆以外,我不在我的家乡,但希望问题能够得到解决,而无需依赖这些变量。 - ted

遇到了同样的问题: "WARNING: The character device /dev/vboxdrv does not exist. Please install the virtualbox-ose-dkms package and the appropriate headers, most likely linux-headers-generic." 即使已经安装了所有VirtualBox软件包。

  1. 卸载所有VirtualBox: sudo apt-get purge virtualbox

  2. 前往: https://www.virtualbox.org/wiki/Downloads(在我的情况下下载Ubuntu 12.10版本)

  3. 安装软件包。

  4. 现在一切正常,尽情享受Linux吧!


是的,但在我的情况下,我买不起下载一个新包。 - ted

只需使用Ubuntu软件中心的图形界面,而不必使用apt-get命令行。
搜索Virtualbox。
  • 应该至少会得到两个结果。
  • 首先删除x86虚拟化解决方案基本二进制文件(选中并点击删除)
  • 然后选中并删除Virtualbox
一旦两者都被删除,安装Virtualbox。
  • 这将自动重新安装基本二进制文件并重建Virtualbox内核
就是这样。

已经在Javier Rivera的帮助下解决了。不过还是要谢谢你哦 ^_^ - ted

解决我的问题的方法很简单,就是重新安装 - 首先清除基本软件包和所有相关配置文件:
sudo apt-get purge virtualbox

然后再次安装它(假设您也想要图形用户界面):
sudo apt-get install virtualbox-qt

我从12.10升级到13.04,所以我猜测在过渡过程中一些驱动程序或配置文件出了问题。

当然可以,但在我的情况下,这是不可接受的解决方案。 - ted
那为什么不在问题中提到这个要求呢? - metakermit