如何解决“无法同步vcpu reg”错误?
我正在尝试使用适用于Windows的Intel HAX x86模拟器(如果有的话)。 我安装了所有东西,并为android版本创build了一个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本身的源代码 ,但我不知道如何使这个任何意义。
任何人都可以build议如何通过这个错误? 我真的需要得到这个工作,因为在设备上和默认的模拟器debugging是痛苦的慢。
确保您没有运行任何虚拟机。 在我的情况下,我有genymotion运行,这是造成这个错误。
我有virtualbox运行。 杀死VM允许模拟器运行。
如果你正在运行Docker,你将不得不closures虚拟机
docker-machine stop default
这假设您的docker机器被称为default
。 如果你想检查名称使用docker-machine ls
更简单的解决scheme; 打开virtuabox并停止vm 🙂
我有这个问题。 对我来说,这是HAXM版本。
当您通过SDKpipe理器获取新版本的HAMX时,会告诉您已经安装。 不是这样。 你必须去这个文件夹:
<Android SDK> \ extras \ intel \ Hardware_Accelerated_Execution_Manager \
并手动运行intelhaxm-android.exe 。 在我的情况下,我有1.0.6和升级到1.1。
我认为,首先是导致错误的原因是我更新的SDK的其他部分需要1.1。
正如其他答案所述,请确保没有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
如果是这样,杀死VBox
和docker
服务。
launchctl stop org.virtualbox.app.VirtualBox.948 launchctl stop com.docker.docker.2032
- 停止GENYMOTION(如果任何实例正在运行,请打开VirtualBox实例,将其停止)。
- 打开AndroidStudio – >运行AVD Manager->运行AndroidStudio虚拟设备。
最新的Android模拟器无法与GENYMOTION并行运行
“vcpu reg”是许多处理器上存在的“虚拟CPU寄存器”,这些处理器具有多核,超线程或其他function,使较高层可以相信在不存在多个CPU时 – 例如今天的x86。 没有理由深入细节 – 你可以想象得到一个连贯的,单一的“虚拟CPU上下文”是HAX提供的那种硬件虚拟化所必需的。
通常,同时运行多种types的虚拟机并不是一个问题。 但是,如果其中一个崩溃,或者不正常,或者只是决定成为一个猪,HAX可能会发现它不能把一个连贯的虚拟机放在一起,因为它不能为自己同步虚拟CPU上下文。 这就像试图运行没有CPU的真机。
底线是开放的任务pipe理器,并杀死你不需要的东西,看起来他们可能会拿着虚拟机资源。 在最坏的情况下,重启几乎肯定会解决这个问题。
快速步骤:
- 停止所有的VirtualBox虚拟机(即vagrant halt),退出VirtualBox。
- 所有docker机也应该停止。 退出Docker。
我得到了同样的错误。 我猜这个错误有各种各样的原因,但在我的情况下,这是因为一个名为“.NCG”的服务。 该服务是Inka Entworks的Network Content Guard,似乎是某种types的DRM解决scheme。 一旦卸载,模拟器使用HAX工作正常。
在我的情况下,原来这个问题是由于在AVD设置中将networking摄像头选为“前置摄像头”造成的。 将其设置为“仿真”为我解决了这个问题。
我遇到了这个问题,因为我的虚拟盒子上运行着Ubuntu。 当我closures我的虚拟箱,我没有面对这个问题。
当我试图在MacOS机器上同时运行VirtualBox和Android模拟器时,这也发生在我身上。 正如其他人上面提到的,目前在MacOS中不可能同时运行(即基于VirtualBox和X86-Intel的仿真器),也不能确定其他平台。 如果我们需要同时运行,我们可以select基于ARM的仿真器。 (基于ARM的仿真器通常很慢)
我的Windows 8安装时出现同样的错误。
你可以尝试的东西:
- 降低模拟设备的内存容量(和/或closures其他应用程序)
- 禁用GPU仿真
- 删除传递摄像头
对我来说,当我尝试将一个物理摄像头连接到模拟的Android实例时发生错误。
直到我将其更改为[x]使用主机GPU,如图所示,这一直保持失败。
我正在运行boot2docker虚拟机,只是它解决了这个问题。
boot2docker down
确保您没有运行任何虚拟机。 在我的情况下,我有genymotion运行,这是造成这个错误。 当我杀gentmotion的进程,并杀死所有的Oracle VM VirtualBox相关的过程,然后由王世明工作不谢谢你我
雅,我有虚拟的盒子运行,并得到这个错误,closures它纠正错误。
我在Mac上,并有这个问题。 我没想到我正在运行一个虚拟机(我有vbox,但它没有运行)。 我重新启动了我的电脑,在启动任何其他应用程序之前,我尝试了模拟器,它工作正常。
是的,VirtualBox虚拟机必须停止。 我也不得不停止为Mac的Docker。 该错误消息只提到VirtualBox,这让我困惑了一下,直到我意识到Docker for Mac正在运行xhyve。
如果您的CPU支持节stream(如Intel的SpeedStep ),请尝试在您的BIOS中禁用该function。 这是一种quickfix,但至less它工作。
我认为这一定是造成这种失败的各种原因。 就我而言,由于我安装了Googleinput法软件,出现了“无法同步vcpuregistry”。 这是正常工作之前的唯一改变。 所以,在卸载Googleinput软件之后,它被恢复了。只是有一点点参考,尽pipe我也不能长时间相信这个解决scheme。
我有Windows Virtual PC运行(当然在Windows上)。 一旦我关掉了,模拟器就没事了。
希望这可以帮助。
我试图启动一个姜饼2.3.3 x86模拟器,它不会启动。 从x86更改为arm使问题消失。
对我来说,在MacOS Yosemite上使用adv的唯一方法是将处理器设置为ARM
(设备的本机CPU – 标准4“Nexus)。
这是VirtualBox票 – https://www.virtualbox.org/ticket/14294
如果您正在运行任何虚拟机,请暂停并重试。
对我来说,答案是在虚拟设备的高级设置下将Enable keyboard input
设置为true。
这是我在设备上改变的第一个选项,所以根据上面的各种答案,更改选项的行为可能会修复错误。
注意:我以前已经确认没有虚拟机正在运行。
通过将Windows中的Java版本从Java 8 x64更改为Java 7 x86来解决此问题。
最后,我find了这个问题的答案。 我有完全相同的问题,它完全解决了。
虚拟设备或摄像头很less是您的问题的原因。
只需安装主板芯片组驱动程序。
我build议你使用3DP芯片组自动安装程序。
祝你好运!
对我来说,这是谷歌appengine本地运行。