【问题标题】:Visual Studio 2017 Android Device Manager thinks WHPX is not properly installedVisual Studio 2017 Android 设备管理器认为 WHPX 未正确安装
【发布时间】:2019-01-22 15:03:10
【问题描述】:

我刚刚将 Visual Studio 2017 更新到版本 15.8.0,我已经等待了一段时间,因为它支持使用 Windows Hypervisor 平台 (WHPX) 的 Hyper-V 加速 Android 模拟器。

自 5 月以来,我一直在运行 Windows 10 版本 1803,并且我已通过“打开或关闭 Windows 功能”安装/启用了 Windows Hypervisor 平台。此外,我还更新了 Android SDK 和工具,如 https://docs.microsoft.com/en-us/xamarin/android/get-started/installation/android-emulator/hardware-acceleration 中所述。

但是,当我运行任何加速模拟器时,我会收到错误消息:

我们在您的 Windows 虚拟机管理程序平台 (WHPX) 配置中遇到错误,导致我们无法运行您的模拟器加速。

请确保 WHPX 已正确安装,然后在模拟器上执行恢复出厂设置并重试。

没有日志,没有别的。因此,我有点迷茫,不知道下一步该怎么做。

感谢任何帮助。

附:几个澄清:

  • 我都尝试了,重置现有模拟器和创建新模拟器。
  • 我在同一台 PC 上运行 Hyper-V 虚拟机和 Docker 容器。

【问题讨论】:

  • 您是否尝试过创建新的模拟器或重置当前开启?
  • @JamesMontemagno,是的,我都试过了,结果是一样的。
  • @TheBlueSky,您能否与位于 C:\Users\\AppData\Roaming\XamarinDeviceManager\ 的设备管理器日志分享一个要点?
  • @TheBlueSky 你能把你的安卓模拟器版本升级到27.3.9吗? SDK 管理器中的当前版本是什么?
  • @JonDouglas,我已经在运行 Android Emulator v27.3.9,它是 Android SDK Manager 的最新版本。

标签: android xamarin visual-studio-2017 whpx android-device-manager


【解决方案1】:

可能没有从 BIOS 菜单为您的 CPU 启用虚拟化。引导至您的 BIOS 并启用虚拟化。此外,在 Windows 上安装或重新安装这些功能。

【讨论】:

  • 我相信它已启用;我在同一台机器上运行 Hyper-V 虚拟机和 Docker。
  • 我挣扎了很多,尝试了很多解决方案。我的问题通过从 CPU 启用虚拟化并重新安装 Hyper-V 和 Windows Hypervisor 平台解决了。希望你能找到答案。
  • 我希望我的情况像你一样 :) 不幸的是,我已经启用了虚拟化、Hyper-V 和 Windows Hypervisor 平台,但仍然无法使其工作。这是我电脑上Windows Features 的截图。
  • 我缺少第三个选项。我最初驳回了您的回答,但意识到我没有检查第三个。它一定是新的,因为我所有的虚拟机都可以在前两个选项选中后正常工作。
  • @LeeMcPherson,不幸的是,我的问题不一样。正如我在对 Kayvan 的回复和我的截图 here 中指出的那样,我已经安装了所有必需的选项,但问题仍然存在。
【解决方案2】:

从 VS2019 运行给我同样的 WHPX 错误。但是手动运行可以很好地使用硬件加速(确保您以管理员身份运行 powershell):

PS C:\Program Files (x86)\Android\android-sdk\emulator> .\emulator.exe -avd <avd_name> -feature WindowsHypervisorPlatform

【讨论】:

  • 这在我的情况下不起作用。当我运行此命令时,我得到“警告:此机器不支持快速启动/快照。当前需要具有 EPT + UG 功能的 CPU。我们将在未来的版本中解决这个问题。”根据 Intel 规格页面,我的 CPU 支持 ETP。
  • 这是唯一适用于我的解决方案,谢谢!
【解决方案3】:

即使我已经成功运行了 docker 容器,我也收到了这个错误。

事实证明,我没有在“打开和关闭 Windows 功能”菜单中启用 Windows Hypervisor 平台。一旦我打开它,错误就消失了。

我启用了两个 Hyper-V 选项,但没有启用 Windows Hypervisor 平台。我猜它不需要运行 docker 容器。

【讨论】:

  • 当然,如果不启用“Windows Hypervisor Platform”,它将无法工作。就我而言,我已经这样做了。
【解决方案4】:

使用 Visual Studio 2019

我通过禁用“Windows Hypervisor Platform”并仅启用“Hyper-V”选项解决了这个问题。

【讨论】:

  • 我没有使用 VMware,也不明白 VMware 与这个问题有什么关系。需要解释一下吗?
【解决方案5】:

可能是您的 CPU 不支持虚拟化或某些其他软件阻止了它的使用。如果您有 Intel 处理器 Intel's VTx support page is an excellent resource 来确定您的 CPU 是否允许虚拟化和/或是否有其他软件阻止其使用:

总结:

  1. Identify Your Intel CPU and View the Specs
  2. 使用英特尔处理器识别实用程序 (https://www.intel.com/content/www/us/en/support/articles/000005495.html)。
  3. 正如first link 指出的那样,即使#2 中的Intel 工具显示不支持VTx,请检查TaskManager 以查看是否启用了虚拟化。如果是,则其他一些软件正在使用虚拟化并阻止该工具(和其他类似的工具)将虚拟化显示为已启用。
  4. 使用 Intel 的实用程序和 TaskManager,您可以根据Intel's Table 诊断问题:

在 Intel Utility 中检查虚拟化 + 在 TaskManager 中启用虚拟化 -> 已启用,可用

在实用程序中检查虚拟化 + 在 TaskManager 中禁用虚拟化 -> 在 BIOS 中禁用。

在实用程序中检查虚拟化 + 在 TaskManager 中启用虚拟化 -> 已启用但被其他软件使用

在实用程序中检查虚拟化 + 在 TaskManager 中禁用虚拟化 -> 不支持虚拟化。

【讨论】:

  • 感谢您花时间回答问题,但我猜您错过了“我在同一台 PC 上运行 Hyper-V 虚拟机和 Docker 容器”的部分,这意味着我的 CPU 支持可视化和我用它。
猜你喜欢
  • 2018-10-22
  • 2019-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-05
  • 1970-01-01
  • 1970-01-01
  • 2017-11-20
相关资源
最近更新 更多