修复 VirtualBox 结果代码的 6 种方法:Windows 中的 E_FAIL (0x80004005) 错误

VirtualBox无法打开虚拟机会话时显示“E_FAIL (0x80004005)”错误代码。该错误可能是由于VirtualBox应用程序、配置文件或硬件相关问题的问题。

本教程重点介绍了Windows(Windows)设备 上E_FAIL (0x80004005) VirtualBox错误的可能原因和故障排除解决方案。

1.更新VirtualBox

一些 Windows 用户(Some Windows users)通过安装最新版本的VirtualBox 6解决了这个错误。前往开发人员的网站(developer’s website)并下载Windows主机VirtualBox设置文件。

您还可以直接在应用程序中更新VirtualBox 。打开VirtualBox Manager应用程序,在菜单栏上选择File ,然后选择(File)Check for Updates

选择提供的链接以下载最新版本的VirtualBox的可执行 (.exe) 文件。

2. 重启Windows Hypervisor ( Hyper-V )

Hyper-V是一项 Windows 功能,可让您的计算机将多个操作系统作为虚拟机运行。如果Hyper-V出现故障 ,您可能无法访问VirtualBox中的虚拟机。(VirtualBox)

Windows中重新启动Hyper-V(参见下面的步骤)可以解决阻止VirtualBox运行虚拟机会话的问题。

  1. 打开开始(Start)菜单,在搜索栏中键入 cmd,然后在命令提示符(Command Prompt)应用 下方选择以管理员身份运行。(Run)

  1. (Paste)在命令提示符控制台中(Command Prompt)粘贴bcdedit /set hypervisorlaunchtype off并按Enter

运行此命令会关闭计算机上的Hyper-V。如果您的计算机上安装了多个操作系统,请运行以下命令为活动/当前操作系统禁用Hyper-V

(Paste)在命令提示符控制台中(Command Prompt)粘贴bcdedit /set {current} hypervisorlaunchtype off并按Enter

当您收到“此操作已成功完成”消息时重新启动计算机。

  1. 使用管理权限打开命令提示符(Command Prompt)并运行以下命令以重新启用Hyper-V

bcdedit /set hypervisorlaunchtype auto

当命令提示符(Command Prompt)显示“操作成功完成”消息时,再次重新启动计算机。启动VirtualBox并尝试打开虚拟机。

3.丢弃保存的状态

(VirtualBox)如果虚拟会话的保存状态有问题, (virtual session’s saved state)VirtualBox也可能显示E_FAIL (0x80004005) 错误。因此,如果您无法恢复会话,请放弃保存的状态并重新打开虚拟机。

丢弃机器的保存状态与关闭它具有相同的效果。打开VirtualBox,右​​键单击虚拟机,选择Discard Saved State(或按Ctrl + J),然后重新启动会话。

如果“放弃保存的状态”呈灰色显示,请尝试以下故障排除解决方案 - 即虚拟机没有保存状态。

4.重命名VirtualBox配置文件(VirtualBox Configuration Files)

(Force-quitting VirtualBox)在没有先关闭虚拟机的情况下强制退出 VirtualBox会触发E_FAIL (0x80004005) 错误。我们将解释如何以及为什么会发生这种情况。

假设您在VirtualBox中有一个“Linux PC”虚拟机。当您启动虚拟机时,VirtualBox将机器的文件从“Linux PC.vbox”重命名为“ Linux PC.vbox-prev ”。VirtualBox然后为活动会话创建并使用虚拟机文件的新/临时副本——“Linux PC.vbox-tmp”。

当您结束虚拟机会话时,VirtualBox将临时文件(即Linux PC.vbox-tmp)重命名为Linux PC.vbox。“ Linux PC.vbox -prev”文件用作备份——每次您启动新会话时, VirtualBox都会覆盖该文件。(VirtualBox)

在不关闭虚拟机的情况下终止VirtualBox可能会中断文件转换过程。(VirtualBox)这将在您下次尝试启动虚拟机时 提示“结果代码(Result Code)E_FAIL (0x80004005)”错误。(E_FAIL)

打开您 PC 的VirtualBox文件夹并检查您的虚拟机是否有 .vbox 文件。如果您仅在文件夹中找到临时 (.vbox-tmp) 和备份 (.vbox-prev) 文件,则您可能在运行虚拟机时 强制关闭了VirtualBox 。

重命名备份文件可以解决问题并使您的虚拟机再次运行。关闭VirtualBox Manager应用程序并按照以下步骤完成它。

  1. 在File Explorer(File Explorer)中打开 VirtualBox 的文件管理器。打开本地磁盘 (C:) 文件夹,双击用户(Users)文件夹,然后选择您的计算机或帐户名称。

  1. 打开VirtualBox VMs文件夹,选择Machines,然后双击虚拟机的文件夹。

  1. 将这两个文件(.vbox-tmp 和 .vbox-prev)复制或备份到您计算机上的某个位置。将临时文件的文件扩展名从 .vbox-prev 更改为 .vbox。

  1. 在警告提示上选择 OK并在(Select OK)VirtualBox中打开虚拟机。

  1. 如果错误仍然存​​在,请关闭 VirtualBox(Close VirtualBox)并将 .vbox 文件更改回 .vbox-prev。之后(Afterward),将 .vbox-temp 文件重命名为 .vbox 并检查VirtualBox现在是否运行虚拟机。

注意:较旧的VirtualBox版本(v3.2 和更早版本)以(VirtualBox).xml格式存储虚拟机配置文件,而不是.vbox。如果您在虚拟机文件夹中找到具有此扩展名的文件,请按照上述步骤重命名它们。这意味着您将.xml -prev 或.xml -tmp 格式的文件更改为.xml

5. 在BIOS 设置(BIOS Settings)中启用虚拟化

您必须在计算机上启用硬件或CPU虚拟化才能运行虚拟机。(CPU)如果VirtualBox在错误详细信息中包含“ AMD-v ”或“VT-x”关键字,则您的 PC 的硬件虚拟化可能已禁用。

请按照以下步骤验证您的计算机的硬件虚拟化状态。

  1. 转到Settings > System>Recovery > Advanced启动,然后选择立即重新启动(Restart)

Windows 10中,前往Settings > UpdatesSecurity > Recovery”,然后在“高级启动”部分中 选择“立即重新启动”。(Restart)

  1. 前往疑难解答。> 高级选项。> UEFI Firmware Settings并选择重新启动(Restart)以启动到您的 PC 的UEFIBIOS设置。

  1. 如何在BIOS设置中启用虚拟化取决于您的 PC 制造商或型号。对于Lenovo设备,前往配置(Configuration)部分并将Intel Virtual Technology设置为Enabled

前往 HP 电脑上的配置(Configuration)部分并保持启用虚拟化技术(Virtualization Technology)。此Microsoft 支持文档(Microsoft Support document)包含为所有 PC 制造商和设备启用虚拟化的说明。

  1. 前往“退出”部分,选择 Exit Saving Changes,然后选择Yes以启动Windows

(VirtualBox)BIOS/UEFI设置 中启用虚拟化后,VirtualBox现在应该运行虚拟机。

6.重新安装VirtualBox

如果故障排除技巧都无法解决问题,请卸载VirtualBox 。之后(Afterward),重新启动计算机并安装最新的VirtualBox版本。重新安装VirtualBox解决了此Microsoft 社区线程中某些(Microsoft Community thread)Windows用户的问题。

在开始(Start)菜单搜索中键入 virtualbox ,选择Oracle VM VirtualBox应用下方的卸载(Uninstall),然后按照卸载提示进行操作。

(Contact Oracle Support)如果重新安装VirtualBox后“结果代码: (VirtualBox)E_FAIL (0x80004005)”错误仍然存​​在,请联系 Oracle 支持或您的 PC 制造商。



About the author

我是一位经验丰富的软件工程师,在 Windows Phone 和 Office Space 行业拥有超过 10 年的经验。我的技能包括使用传统的文本和图像格式,以及为最新的移动设备进行开发。我在提供优质服务方面有着良好的记录,并且我总是愿意帮助他人实现他们的目标。



Related posts