修正:VirtualBox错误0x80004005:为虚拟机打开会话失败 - 配置值CMPXCHG16B和IsaExts/CMPXCHG16B重复(已解决)

修正:VirtualBox错误0x80004005:为虚拟机打开会话失败 - 配置值CMPXCHG16B和IsaExts/CMPXCHG16B重复(已解决)

Andy Davis

本教程包含解决VirtualBox错误0x80004005的说明,当你试图启动Windows 8.1或Windows 10虚拟机时:"重复配置值'/CPUM/CMPXCHG16B'和'/CPUM/IsaExts/CMPXCHG16B - 请删除前者!'"。

将Oracle VM VirtualBox更新到6.0版本后,在尝试启动Windows 10或8.1虚拟机时可能会出现以下错误。

" 为虚拟机打开一个会话失败。
配置值'/CPUM/CMPXCHG16B'和'/CPUM/IsaExts/CMPXCHG16B'重复,请删除前者!(VERR_DUPLICATE)。
结果代码:E_FAIL (0x80004005)
组件:ConsoleWrap
接口:IConsole {872da645-4a9b-1727-bee2-5585105b9eed}"

如何解决:VirtualBox中的配置值'/CPUM/CMPXCHG16B'和'/CPUM/IsaExts/CMPXCHG16B'重复。

错误 "重复的配置值'/CPUM/CMPXCHG16B'...",因为 "CMPXCHG16B "CPU指令在 "VirtualBox.xml "文件(C:\Users\Username\.VirtualBox\VirtualBox.xml)和虚拟机的.vbox文件上都被启用。

要解决这个问题,请按照下面的指示,从上述位置删除以下一行。
"

1.关闭 虚拟盒管理器
2. 开放式 作为管理员的命令提示符 .
3. 键入以下命令。

  • cd\Program Files\Oracle\VirtualBox

4. 然后用下面的命令来列出虚拟机。

  • VBoxManage.exe列出vms

5. 从上述命令的输出中,注意到VBOX机器的名称,在那里你收到错误0x80004005。

例如:在这个例子中,出现 "0x80004005 "错误的虚拟机是 "Windows8.1_x64_Pro"。

6. 然后键入以下命令,但将 "VM Name "值替换为你面临错误0x80004005的VBOX机器的名称,然后按 进入 :*

  • VBoxManage.exe setextradata "VM Name" VBoxInternal/CPUM/CMPXCHG16B

注意:上述命令将在选定的虚拟机上禁用 "CMPXCHG16B "指令,方法是删除以下一行 "" 从机器的.vbox文件。

例如,在这个例子中,该命令将是。

  • VBoxManage.exe setextradata "Windows8.1_x64_Pro" VBoxInternal/CPUM/CMPXCHG16B

7. 现在,尝试启动有问题的虚拟机。 如果你收到同样的错误,那么关闭VirtualBox管理器,并给出以下命令(以管理员身份): *

  • VBoxManage.exe setextradata global VBoxInternal/CPUM/CMPXCHG16B

注意:上述命令将在全局范围内禁用 "CMPXCHG16B "指令(在所有虚拟机上),方法是删除以下一行 "" 从 "VirtualBox.xml "文件。

就是这样!让我知道本指南是否对你有帮助,请留下你的经验评论。 请喜欢并分享本指南以帮助他人。


Andy Davis

A system administrator s blog about Windows

Leave a comment