How do I fix “Failed to sync vcpu reg” error?
我正在尝试使用IntelHAX86 Emulator for Windows(8,如果这很重要的话)。我安装了所有东西,并为Android版本创建了一个AVD,所有东西看起来都是正确的,但是当我运行它时,我得到了这个输出:
1 2 3 4 5 | 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 |
模拟器也不会运行。除了hax本身的源代码外,这个错误的重要部分
有人能就如何克服这个错误提出建议吗?我真的需要让它工作,因为在设备和默认模拟器上的调试非常缓慢。
确保没有任何虚拟机在运行。在我的例子中,我运行了导致这个错误的性别关系。
我让virtualbox运行。杀死虚拟机允许模拟器运行。
如果你在运行Docker,你必须关闭虚拟机。
这假设您的docker机器称为
一个更简单的解决方案;打开vituabox并停止vm:-)
我有这个问题。对我来说是哈克斯版本。
当您通过sdk管理器获得一个新版本的hamx时,它会告诉您已经安装了它。不是这样。必须转到此文件夹:
\extras\intel\Hardware_Accelerated_Execution_Manager\
手动运行intelhaxm-android.exe。在我的例子中,我有1.0.6版本,并升级到1.1版本。
我认为首先导致错误的原因是我更新的SDK的其他部分需要1.1。
正如其他答案所提到的,确保在Mac中没有使用以下命令运行virtualbox和docker服务。(Linux中的
1 2 3 4 | $ launchctl list | grep 'VirtualBox\|docker' - 0 com.docker.helper 640 0 com.docker.docker.2032 31736 0 org.virtualbox.app.VirtualBox.948 |
如果是这样,就杀死
1 2 | launchctl stop org.virtualbox.app.VirtualBox.948 launchctl stop com.docker.docker.2032 |
最新的Android模拟器无法与genymotion并行运行
"vcpu-reg"是"虚拟CPU寄存器",它存在于许多处理器上,这些处理器具有多核、超线程或其他功能,使更高层能够相信在没有CPU的情况下存在多个CPU,例如今天的X86。没有理由详细说明,您可以想象得到一个一致的、单一的"虚拟CPU寄存器"。"CPU上下文"对于HAX提供的硬件虚拟化是必要的。
通常,同时运行多个不同种类的虚拟机不是问题。但是,如果其中一个崩溃、行为不端或决定要成为一头猪,HAX可能会发现它无法将一个一致的虚拟机组合在一起,因为它无法为自己同步虚拟CPU上下文。就像在没有CPU的情况下运行一台真正的机器。
底线是打开任务管理器,杀死那些你不需要的东西,这些东西看起来像是在保存虚拟机资源。在最坏的情况下,重启几乎肯定能解决问题。
当我试图在MacOS机器上运行virtualbox和android模拟器时,我也遇到了这种情况。正如前面提到的,目前不可能在MacOS中同时运行(即基于virtualbox和x86的Intel模拟器),也不确定其他平台。如果我们需要同时运行这两个,我们可以选择基于ARM的模拟器。(基于ARM的模拟器通常速度较慢)
快速步骤:
我也犯了同样的错误。我猜这个错误有各种各样的原因,但在我的例子中,它是因为一个名为".ncg"的服务。该服务是由InkaEntworks提供的网络内容保护,似乎是某种类型的DRM解决方案。卸载后,仿真器使用HAX工作正常。
在我的例子中,这个问题是由于在AVD的设置中将摄像头选为"前置摄像头"造成的。把它设置为"模拟"为我解决了这个问题。
我面临这个问题,因为我的虚拟机上运行着Ubuntu。当我关闭虚拟机时,我没有遇到这个问题。
我的Windows8安装也有同样的错误。
你可以尝试的事情:
- 降低模拟设备的内存量(和/或关闭其他应用程序)
- 禁用GPU仿真
- 删除直通网络摄像头
对于我来说,当我尝试将物理网络摄像头连接到模拟的Android实例时,就会发生错误。
这一直失败,直到我把它改为[X]使用主机GPU,如图所示。
我在运行boot2docker-vm,只是解决了这个问题。
8
确保没有任何虚拟机在运行。在我的例子中,我运行了导致这个错误的性别关系。当我杀死genymotion的进程并杀死所有与Oraclevmvirtualbox相关的进程时,它就会工作。王世明别谢我
这是virtualbox票据-https://www.virtualbox.org/ticket/14294
是的,必须停止VirtualBox虚拟机。我还得阻止Docker去Mac。错误消息只提到了virtualbox,这让我有点困惑,直到我意识到docker for mac正在运行xhyve。
我在Mac上遇到了这个问题。我不认为我在运行虚拟机(我有vbox,但它没有运行)。我重新启动了我的电脑,在启动任何其他应用程序之前,我尝试了模拟器,它工作正常。
是的,我让虚拟机运行,并得到这个错误,关闭它修复了错误。
如果您的CPU支持节流(如Intel的SpeedStep),请尝试在您的BIOS中禁用该功能。这是一种快速修复方法,但至少起作用了。
通过改变Java中的Java 8 x64到Java 7 x86的Windows中的当前版本来修复这个问题。
对我来说,答案是在虚拟设备的高级设置下将
这是我在设备上更改的第一个选项,因此更改一个选项的行为也可能基于上面的大量答案修复错误。
注意:我之前已经确认没有运行任何虚拟机。
我认为造成这次失败的原因一定多种多样。在我的例子中,由于我安装了谷歌输入法软件,"未能同步vcpu-reg"出现了。这是正常工作前唯一的变化。所以,在卸载了谷歌输入软件之后,它被恢复了。只是一点参考,尽管我也不能长期相信这个解决方案。
如果有任何虚拟机正在运行,请挂起它们,然后重试。
我让Windows虚拟PC运行(当然是在Windows上)。我一关机,模拟器就正常了。
希望这有帮助。
我试图启动一个姜饼2.3.3 x86模拟器,但它无法启动。从x86改为ARM使问题消失了。
对我来说,唯一能在MacOS Yosemite上使用ADV的是将处理器设置为
对于那些本地环境使用虚拟机(例如homestead)的开发人员,只需在启动Android模拟器之前停止虚拟机即可。之后重新启动它将允许两者并行运行,但您可能会遇到严重的性能问题。
对我来说,这是Google Appengine在本地运行。
在您的系统环境变量中(对于我,在窗口7中),将"path"系统变量(不是用户变量)设置为"sdk-install-location oolslib",例如:"c:usersandroid-sdk oolslib"解决了这个问题。
查看此网页上的"提示和技巧"部分:https://software.intel.com/en-us/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-windows了解更多信息(如果链接已失效/不起作用,只需谷歌的"英特尔HAX安装说明")。
最后,我找到了这个问题的答案。我也有同样的问题,完全解决了。
虚拟设备或网络摄像头很少是导致问题的原因。
只需安装主板芯片组驱动程序。
我建议您使用3dp芯片组自动安装程序。
祝你好运!
我减小了分配的虚拟机内存的大小,它似乎已经修复了它。