【问题标题】:Android SDK's Intel HAXM disabled after installing Hyper V安装 Hyper V 后,Android SDK 的 Intel HAXM 被禁用
【发布时间】:2012-11-08 09:01:31
【问题描述】:

我正在开发一套移动应用程序 - 特别是 Windows Store/Mobile 8 和 Android。

在安装了 VS2012 和 Monodroid 之后,我能够在模拟器中启动 x86 Android 映像,并利用英特尔 HAXM 加速(模拟器输出确认 HAXM 工作)来使 VM 流畅。

然后我安装了 Windows Phone 8 SDK - 它启用了 Hyper V 角色 - 现在模拟器说它找不到 HAXM。然后我卸载并尝试重新安装 HAXM,但现在它不会 - 说我的处理器不支持它。

在 BIOS 中仍然启用了 VT-x 扩展 - 所以我认为 Hyper-V 已阻止 Intel HAXM 工作。

当然它不是一个杀手 - 但是非加速的 Android 图像比启用 HAXM 的图像要慢得多 - 其他人遇到过这个问题吗?谷歌搜索没有提出任何明显的...

更新(2012 年 11 月 30 日)

根据@alexw 的建议,我尝试停止并禁用 Hyper-V;重新启动。它仍然不起作用。

我意识到下一步可能是 Windows Phone SDK(并删除 Hyper-V),然后再试一次 - 确认它确实是 Hyper-V 的存在。目前这不太方便 - 但我会尽快尝试并更新。

【问题讨论】:

  • 有趣。使用 WP7-Emulator,我在相反的方向遇到了同样的问题 - 安装了 HAXM 后,由于缺少处理器功能,WP7-Emulator 将无法启动。看起来微软和英特尔应该就如何以非排他方式使用 VT-x 处理器功能的通用架构达成一致。
  • 非常有趣...看来那里肯定有链接...该死...

标签: android xamarin.android windows-phone-8


【解决方案1】:

要让 HAXM 再次检测 VT,您可以做的最好的事情是关闭整个 Hyper-V“功能”。打开“控制面板->“程序”->“打开或关闭Windows功能”(在“程序和功能”下)并找到“Hyper-V”,取消选中,重新启动。

看起来 Hyper-V 和 HAXM 是互斥的,这有点令人讨厌,因为您甚至需要重新启动两次才能启用或禁用任一功能。

【讨论】:

  • 非常感谢您的回答。我升级了我的计算机 t0 Core i5 主要是为了使用 Intel Android 映像,但在找到您的提示之前无法让它工作。
  • 关闭“Hyper-V 平台”就足够了(仍然会禁用 Hyper-V 功能,但会保留安装的管理工具)
【解决方案2】:

我的情况与您一样,需要支持 Hyper-V 和 Intel HAXM。禁用和启用该功能然后重新启动是多余的,所以我找到了一个替代解决方案。

您可以创建 2 个引导条目,一个用于 Windows 并启用 Hyper-V 的常规配置,另一个用于禁用 Hyper-V 的配置。我使用第二个(Hyper-V 禁用)登录,并且能够安装 Intel HAXM。

要做到这一点,您需要:

  1. 以管理员身份打开命令提示符
  2. 输入命令:bcdedit /copy {current} /d "Windows 8 - No Hyper-V"
  3. 这将输出格式为 {GUID} 的 id,您需要复制它以在下一个命令中使用它。
  4. 输入命令:bcdedit /set { 复制步骤 3 的 GUID } hypervisorlaunchtype off

更多详情请看post

【讨论】:

    【解决方案3】:

    我在 Windows 8 上安装 HAXM 时遇到了类似问题。我执行了以下操作但没有任何效果:

    但是,我尝试在上述操作后安装 VirtualBox(VirtualBox 安装正常)并创建了一个新 VM。运行 VM 导致我的机器蓝屏,但重启后 HAXM 安装正常。也许运行 VirtualBox 会在操作系统级别翻转某种标志以允许安装 HAXM。

    当时我也在运行 AVAST,据此 (Running the new Intel emulator for Android),这可能会导致问题。但是,我不必禁用 AVAST 即可安装 HAXM。

    【讨论】:

    • 谢谢k3v!你的解决方案对我有用。正如您所解释的,VirtualBox 正在发挥作用。
    • 任何人都想知道为什么会这样:启用虚拟机管理程序时,Windows 实际上会虚拟化主机操作系统。由于主机操作系统是虚拟运行的,intel 扩展无法直接访问硬件。
    【解决方案4】:

    您可以尝试在不需要时停止 Hyper-V 服务,并在您想要处理 WP8 项目时重新启用它。这很痛苦,但 HAXM 提供的性能改进是巨大的。

    打开 services.msc,找到 hvboot 服务 (Hyper-V) 并停止它。如果这没有帮助,您可能需要禁用该服务并重新启动您的电脑。

    【讨论】:

    • 本打算在周五尝试,但明天会这样做并报告。这将是一个简单的,如果烦人的,修复:-)
    • @AndrasZoltan 你是怎么做到的?
    • 是的...呃...过去三天与 qa 一起讨论了 android 应用程序(和第三方)将与之交谈的 Web 服务项目(必须优先考虑!)。别担心,我不会留下问题
    • 好吧终于开始尝试这个了...停止了 Hyper-V 服务;没有喜悦。禁用 Hyper-V 服务并重新启动 - 不高兴。似乎只是安装 Hyper-V 会阻止 HAXM 检测到 VT-x(或导致其他一些表现为该用户消息的问题)......真是一堆垃圾!
    【解决方案5】:

    我遇到了同样的问题。经过长时间的搜索,我找到了答案。就我而言,我已经安装了 Avast Antivirus,首先卸载 avast,重新启动您的 PC,安装 Haxm,然后重新启动。你可以重新安装杀毒软件。

    【讨论】:

      猜你喜欢
      • 2015-02-02
      • 2020-12-13
      • 2016-04-26
      • 2020-04-14
      • 2015-08-22
      • 2020-04-13
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      相关资源
      最近更新 更多