如何修复“未能同步 vcpu reg”错误?

我正在尝试使用英特尔 HAX x86模拟器的 Windows (8,如果有关系)。我安装了所有东西,并为 Android 版本创建了一个 AVD,所有东西看起来都是正确的,但是当我运行它时,我得到了以下输出:

Starting emulator for AVD 'x86_QVGA_Level10'
emulator: device fd:1044
HAX is working and emulator runs in fast virt mode
emulator: Failed to sync vcpu reg
emulator: Failed to sync HAX vcpu context

模拟器就不能运行了。这个错误的重要部分 (Failed to sync vcpu reg)没有在网上的任何地方提到,除了在 HAX 本身的源代码中,但是我不知道如何理解这个错误。

有人能告诉我如何克服这个错误吗?我真的需要让这个工作,因为在设备和默认模拟器调试是痛苦的缓慢。

41137 次浏览

我在安装 Windows 8时也出现了同样的错误。

你可以尝试的事情:

  • 降低模拟设备的内存量(和/或关闭其他应用程序)
  • 禁用 GPU 仿真
  • 删除通过网络摄像头

对我来说,错误发生在我尝试将一个物理摄像头附加到仿真的 android 实例上。

如果您的 CPU 支持节流(如英特尔的 极速步)尝试禁用该功能在您的 BIOS。这是一种快速修复,但至少它工作。

我得到了同样的错误。我猜测这个错误有各种各样的原因,但在我的例子中,这是因为一个名为“。NCG 」。这项服务是由 Inka Entworks 提供的网络内容保护(Network Content Guard) ,似乎是某种类型的 DRM 解决方案。卸载后,使用 HAX 模拟器可以正常工作。

确保您没有运行任何虚拟机。在我的情况下,我有基因运行,这是造成这个错误。

在我的案例中,原来这个问题是由于在 AVD 的设置中选择了一个摄像头作为“前置摄像头”造成的。将它设置为“仿真”为我修复了这个问题。

我认为造成这次失败的原因一定是多种多样的。在我的例子中,由于我安装了 Google 输入法软件,“未能同步 vcpu reg”出现了。这是正常工作前唯一的改变。所以,卸载 Google Input 软件之后,它被恢复了。只是一个小小的参考,尽管我也很长时间不能相信这个解决方案。

“ vcpu reg”是存在于许多处理器上的“虚拟 CPU 注册器”,这些处理器具有多核、超线程或其他特性,使得更高层能够相信存在不止一个 CPU,而实际上并不存在——比如今天的 x86s。没有理由详细说明——你可以想象得到一个连贯的、单一的“虚拟 CPU 上下文”对于 HAX 提供的那种硬件虚拟化是必要的。

通常,同时运行多个不同类型的虚拟机不成问题。但是如果其中的一个崩溃了,或者行为不端,或者只是决定成为一头猪,HAX 可能会发现它无法组装一个连贯的虚拟机,因为它无法为自己同步一个虚拟 CPU 上下文。这就像试图运行一台没有中央处理器的真实机器。

底线是打开任务管理器并删除您不需要的、看起来可能包含虚拟机资源的内容。在最坏的情况下,重新启动几乎肯定会修复问题。

确保您没有运行任何虚拟机。在我的情况下,我有基因运行,这是造成这个错误。当我关闭 genymotion 的进程并关闭所有与 VirtualBox 相关的进程时,它就能工作了 由王实明 别谢我

我让 Windows 虚拟 PC运行(当然是在 Windows 上)。

希望这个能帮上忙。

最后,我找到了这个问题的答案。 我也遇到了同样的问题,而且完全解决了。

虚拟设备或网络摄像头很少是你的问题的原因。

只需安装主板芯片组驱动程序

我建议您使用3DP 芯片组自动安装程序。

祝你好运!

对我来说,这是谷歌应用程序引擎本地运行。

我减少了分配的 VM 内存的大小,它似乎已经修复了它。

是的,我有虚拟机运行,并得到这个错误,关闭它修复了错误。

我当时在吃苹果电脑,出了点问题。我不认为我正在运行一个虚拟机(我有 vbox,但它没有运行)。我重新启动了我的电脑,在启动任何其他应用程序之前,我尝试了模拟器,它工作得很好。

似乎在您系统的环境变量中(对我来说是在 Window 7上) ,将“ Path”系统变量(而不是用户变量)设置为“ Sdk _ install _ location tools lib”,例如: “ C: Users android _ sdk tools lib”解决了我的问题。

查看这个网页上的“技巧和窍门”部分: https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows获取更多信息(如果链接已死/不能工作,只需谷歌“英特尔 HAX 安装指南”)。

这一直失败,直到我改为[ x ]使用主机图形处理器,如图所示。

AVD Set up

对于那些本地环境使用 VM 的开发人员(例如 Homestead) ,只需在启动 Android 模拟器之前暂停 VM 即可。之后重新启动它将允许两者并行运行,但是您可能会遇到严重的性能问题。

我有这个问题。对我来说,这是 HAXM 的版本。

当您通过 SDK Manager 获得 HAMX 的新版本时,它会告诉您它已经安装好了。不是的。你必须进入这个文件夹:

< Android SDK > 附加英特尔硬件 _ 加速 _ 执行 _ 管理器

并手动运行 Interhaxm-android. exe。在我的例子中,我有1.0.6并升级到1.1。

我认为最初导致这个错误的原因是我更新的 SDK 的其他部分需要1.1版本。

我试图启动一个姜饼2.3.3 x86模拟器,但它不会启动。从 x86改为 arm 解决了这个问题。

我运行了虚拟机,杀死虚拟机允许模拟器运行。

对我来说,在 MacOs Yosemite 上使用 adv 唯一有效的方法就是将处理器设置为 ARM(设备标准4“ Nexus 的本地 CPU)。

我面临这个问题是因为我的虚拟机上运行着 Ubuntu。当我关闭我的虚拟机时,我并没有面对这个问题。

  1. 停止 GENYMOTION (如果有任何实例正在运行,打开 VirtualBox 实例,停止它)。
  2. 打开 AndroidStudio-> 运行 AVD Manager-> 运行 AndroidStudio 虚拟设备。

最新的 Android 仿真器无法与 GENYMOTION 并行运行

如果正在运行任何虚拟机,请挂起它们,然后再试一次。

对我来说,答案是在虚拟设备的高级设置下将 Enable keyboard input设置为 true。

这是我在设备上更改的第一个选项,因此,更改选项的操作也有可能根据上面的大量答案修复错误。

注意: 我之前已经确认没有 VM 在运行。

通过将 Windows 中 Java 的当前版本从 Java8x64改为 Java7x86,修复了这个问题。

如果您正在运行 Docker,则必须关闭虚拟机

docker-machine stop default

这里假设您的码头机器名为 default。如果要检查名称,请使用 docker-machine ls

一个更简单的解决方案; 打开 viradabox 并停止 vm: -)

是的,必须停止 VirtualBoxVM。我还得为了 Mac 阻止 Docker。错误消息只提到了 VirtualBox,这让我有点困惑,直到我意识到 Docker for Mac 正在运行 xhyve。

快速步骤:

  1. 停止所有 VirtualBox 虚拟机(即流浪停止) ,退出 VirtualBox。
  2. 所有码头机器也应该停止,退出码头。

正如其他答案所提到的,确保没有 VirtualBox 和 docker 服务在 mac 中使用以下命令运行。(Linux 中的 systemctl)

$ launchctl list | grep 'VirtualBox\|docker'
-       0   com.docker.helper
640     0   com.docker.docker.2032
31736   0   org.virtualbox.app.VirtualBox.948

如果是这样,停止 VBoxdocker服务。

launchctl stop org.virtualbox.app.VirtualBox.948
launchctl stop com.docker.docker.2032

当我试图在 MacOS 机器上运行 VirtualBox 和 Android 模拟器时,这种情况也发生在我身上。正如前面提到的,目前不可能在 MacOS 中同时运行两个平台(即 VirtualBox 和基于 X86-Intel 的模拟器) ,也不能确定其他平台。 如果我们需要运行两者,我们可以选择基于 ARM 的仿真器

我正在运行 boot2docker vm,它解决了这个问题。

boot2docker down

你运行惠普 SureClick 吗? 我在惠普笔记本电脑上遇到了同样的问题,直到我禁用了它。

HP SureClick 是一个安全保护程序,它在微虚拟机中运行“不安全”程序。在你的机器上,它也可以被称为 惠普沃尔夫安全公司,这是它的新名字,尽管在底层(例如文件夹、对话框等) ,它仍然被称为 SureClick。它可能在 Task Manager 中具有一些前缀为“ Br”(代表 Bromium)的可见进程。

与其他答案类似,它不能与 Android 模拟器同时运行,因为它基本上是一台虚拟机。

下面是禁用它的一些步骤(不是所有的步骤都需要,但这对我很有效) :

  1. 在系统托盘中右键单击“ HP SureClick”或“ HP Wolf”,然后选择“禁用威胁控制”。它会弹出一个对话框询问原因(可选) ,所以只需单击 OK
  2. 再次右击图标,选择“禁用恶意软件保护”
  3. 单击 Start,键入“ Services”,打开 Services 窗口,通过右键单击 each-> Properties-> change Start type to Disable (对我来说有3个这样的服务) ,将所有“ HP SureClick”服务设置为禁用
  4. 重启电脑

这样做之后,我又可以使用 Android 模拟器了:)