我正在使用最新版本的 VirtualBox 6.0.4 r128413 (Qt5.6.2),该版本在 x64 Windows 10 上运行。今天早上一直在运行 Windows XP 客户机,然后将其关闭。在对 Visual Studio 安装进行不相关的更新后,VM 现在无法启动,并出现以下错误:
Failed to open a session for the virtual machine WindowsXP.
The virtual machine 'WindowsXP' has terminated unexpectedly during startup with exit code -1073741819 (0xc0000005). More details may be available in 'H:\VMs\WindowsXP-Dev\WindowsXP\Logs\VBoxHardening.log'.
Result Code: E_FAIL (0x80004005)
Component: MachineWrap
Interface: IMachine {5047460a-265d-4538-b23e-ddba5fb84976}
这VBoxHardening.log
是难以理解的,但我确实注意到这个问题也存在类似的问题,尽管使用的是较旧的 VB 版本。
发生了什么事?如何强制 VB 放弃检查 DLL 版本?
答案1
如果您保存了会话然后更新 VirtualBox,这是非常正常的行为。
您需要删除该活动会话,然后它应该可以再次工作。另外,请确保更新新版本的扩展包,否则也会弹出此错误。
答案2
您能否检查一下您的系统上是否安装了 Hyper-V?我处理过 Hyper-V 框架影响其他虚拟化框架功能的系统。
您需要检查您的 Windows 功能,将其完全删除,重新启动系统并检查您的 VM 是否正常运行。
答案3
确保您的磁盘映像文件名与机器名称相同。
如果问题仍然存在,请继续@Panos 回答并禁用 Hyper -V,似乎 Windows Hyper-v 阻止了 Virtualbox。
答案4
这是一个老问题,但无论如何我还是想添加一个答案以供记录。
我从 VirtualBox 收到类似的错误消息,错误代码为 0x80004005:
我尝试了互联网上找到的几个技巧,但都不起作用(例如关闭/打开 Hyper-V)。我检查了此虚拟机的 VirtualBox 日志,发现了一些错误,如下所示:
00:07:59.969106 VMMDev: Guest Log: VBoxDRMClient: unable to lock PID file (VERR_ACCESS_DENIED), exiting
我怀疑缺少访问权限,因此我检查了虚拟机所在目录的所有权和访问权限(位于“设置/常规/高级”下)。结果发现我的用户帐户不是该文件夹及其文件的所有者。原因是我最近升级了操作系统版本,实际上是将硬盘移到了新电脑上。因此所有者仍然是我“原来的自己”。设置所有权和访问权限后,我可以正常启动虚拟机。
就我而言,我已经从 Windows 8.1 升级到 Windows 10 并使用了 VirtualBox 7.0。但我认为不同版本也可能会出现此问题。