我最近启动了 virtualbox,它给出了这个错误:
无法获取 VirtualBox COM 对象。
该应用程序现在将终止。
文档是空的。
位置:'/home/batman/.config/VirtualBox/VirtualBox.xml',第 1 行(0),第 1 列。
/build/virtualbox-SRwERU/virtualbox-6.1.10-dfsg/src/VBox/Main/src-server/VirtualBoxImpl.cpp[740] (nsresult VirtualBox::init())。
Result Code: NS_ERROR_FAILURE (0x80004005)
Component: VirtualBoxWrap
Interface: IVirtualBox {d0a0163f-e254-4e5b-a1f2-011cf991c38d}
Callee: IVirtualBoxClient {d2937a8e-cb8d-4382-90ba-b7da78a74573}
这发生在我在 Virtualbox 上运行 Windows 10 之后。它正在进行一些更新,然后崩溃了,所以我关闭了虚拟机,然后关闭了 Virtualbox。
让 virtualbox.xml 文件与丢失时相同是否重要?或者我只需获取默认的 virtualbox.xml 文件就可以了?如果是这样,有人可以与我分享我丢失的默认 xml 文件的内容吗?
谢谢你!
答案1
感谢 Señor CMasMas,我找到了解决问题的方法。
Señor CMasMas 将我重定向至这一页。
这个问题的答案有很多选择,但对我来说选项 2 是正确的:
恢復副本。每次 VirtualBox Manager 启动时,它都会创建 ~/.config/VirtualBox/VirtualBox.xml 的备份副本(称为 ~/.config/VirtualBox/VirtualBox.xml-prev)。缺点是,如果您尚未启动 VirtualBox Manager,则此文件将/可能仅有用。
恢复副本的步骤
- 确保 VirtualBox Manager 没有运行。
- 导航
~/.config/VirtualBox/
- 重命名
~/.config/VirtualBox/VirtualBox.xml
为类似~/.config/VirtualBox/VirtualBox.xml-original
- 将备份重命名
~/.config/VirtualBox/VirtualBox.xml-prev
为~/.config/VirtualBox/VirtualBox.xml
- 启动 VirtualBox 管理器。这是最后一次 VirtualBox 管理器启动, 和[这解决了我的问题,所以]希望[它]解决你的情况[同样]。
因此感谢塞诺尔·CMasMas感谢你为我解答了这个问题迈克·斯图尔特提供包含我所需答案的选项。
还有一件事:你可能需要重新制作虚拟机……我的虚拟机无法加载。它可能可以通过执行我们上面所做的相同操作来工作,只是vm_name.vbox
针对~/VirtualBox VMs/vm_name/
编辑:您不需要重新制作虚拟机……我只是忘了安装 dkms 包
答案2
就我而言,我愚蠢地编译并安装了与包管理安装不同的 curl 版本。从命令行运行 VirtualBox 导致首先看到一个对话框/usr/lib/virtualbox/VirtualBox: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/lib/virtualbox/VBoxRT.so)
,然后VirtualBox Failed to acquire the VirtualBox COM object
出现一个对话框。
解决方案是将curl
可执行文件及其库文件从较新的位置(/usr/local/lib/
和/usr/local/bin
)移到外面的目录中PATH
,然后PATH
为当时所在的 shell 重新定义(即 )export PATH=<a new set of directories without /usr/local/bin or /usr/local/lib>
。`