向社区问好,我最近尝试在大约 3-4 个月后打开我的 VirtualBox(Windows 10 主机操作系统)(当时一切都很完美)。不幸的是,现在 VirtualBox 无法启动,我收到以下错误消息
无法获取 VirtualBox COM 对象。应用程序将立即终止。
Completely failed to instantiate CLSID_VirtualBox: ERROR_FILE_NOT_FOUND 0x80070002.
Result Code:
ERROR_FILE_NOT_FOUND 0x80070002 (0x80070002)
Component:
VirtualBoxClientWrap
Interface:
IVirtualBoxClient {d2937a8e-cb8d-4382-90ba-b7da78a74573}
到目前为止我已经尝试过:
卸载 virtualbox 安装
重新安装
重启
(失败的)
我在网上搜索了解决方案,但没有找到任何真正有用的方法。这可能是由于我的系统上的文件损坏造成的?您能提供其他解决方法吗?我只是不想丢失现有的虚拟机。提前谢谢 :)
附言:我不知道这是否相关,但我之前Vagrant
在我的系统上使用过,我提到这一点是因为如果 Vagrant 破坏了与 VirtualBox 相关的东西,我不会感到惊讶。
答案1
通过删除解决了C:\Users\[Username]\.VirtualBox
。
注意:我有之前安装了 VB,但只有在我安装了新的 VB 后才会出现此问题。
答案2
根据VirtualBox的管理指南:
Oracle VM VirtualBox 使用 Microsoft 组件对象模型 (COM) 进行进程间和进程内通信。这使 Oracle VM VirtualBox 能够在不同的虚拟机进程之间共享通用配置,并基于通用架构提供多个用户界面选项。所有全局状态信息和配置均由进程 VBoxSVC.exe 维护,该进程是一个进程外 COM 服务器。每当启动 Oracle VM VirtualBox 进程时,它都会请求访问 COM 服务器,并且 Windows 会自动启动该进程。请注意,最终用户永远不应启动该进程。
当最后一个进程与 COM 服务器断开连接时,它将在几秒钟后自行终止。Oracle VM VirtualBox 配置 XML 文件由 COM 服务器维护和拥有,并且只要服务器运行,这些文件就会被锁定。
在某些情况下,例如虚拟机意外终止时,COM 服务器不会注意到客户端已断开连接,并会保持活动状态约 10 分钟,从而使配置文件保持锁定状态。在其他罕见情况下,COM 服务器可能会遇到内部错误,随后其他进程无法对其进行初始化。在这些情况下,建议使用 Windows 任务管理器终止进程 VBoxSVC.exe。
如果您只是删除C:\Users\[Username]\.VirtualBox
,问题就会“解决”,但您将丢失所有的 VM。
我通过将 的名称更改 C:\Users\[Username]\.VirtualBox
为C:\Users\[Username]\.VirtualBox.bkp
并启动 VIrtualBox 解决了该问题。它将创建一个名为 的新文件夹C:\Users\[Username]\.VirtualBox
。
现在,删除C:\Users\[Username]\.VirtualBox
并将名称改C:\Users\[Username]\.VirtualBox.bkp
回C:\Users\[Username]\.VirtualBox
答案3
移动或删除 .VirtualBox 都无法解决我的问题。
但是结束后台进程虚拟盒SDS在任务管理器(Ctrl + Alt + Del)中我能够重新启动VirtualBox而不会出现错误。
答案4
我遇到了同样的问题,但现在解决了
我改名为C:\Users[用户名].VirtualBox到C:\用户[用户名].VirtualBox.bkp并启动了虚拟盒,但它显示了同样的错误,并在 * 中创建了一个新文件夹C:\Users[用户名]*以.VirtualBox所以我删除了它并改名为C:\用户[用户名].VirtualBox.bkp到C:\Users[用户名].VirtualBox并以管理员身份启动虚拟盒并且它起作用了