在Win10 VMWare中运行WinPhone模拟器

8

我之前使用Win 8.1操作系统和VS2013成功地在模拟器中测试了我的Windows Phone应用程序。主机操作系统是Win7专业版。

我重新安装了操作系统,现在是Win10,并且安装了VS2015。但是当我尝试使用模拟器测试我的应用程序时,出现了“Hypervisor未启用”的错误:

enter image description here

我已经按照以下链接中的说明尝试禁用和重新启用HyperV(在托管操作系统中):

无法启动Windows Phone模拟器

但是没有效果。

我还尝试打开托管计算机的BIOS设置(PhoenixBIOS),但是我看不到任何可以帮助我解决问题的选项。

我还能尝试什么来使它正常工作呢?

(为什么我没有先备份虚拟机呢?!)


Windows日志文件中是否有更多的条目,可以给出寻找问题的线索? - lokusking
@lokusking,您是指事件日志吗?我没有看到任何值得注意的内容。 - Benjol
如果您还没有阅读的话,可以点击以下链接阅读一些内容:一些东西更多信息 - lokusking
微软的这个页面提供了关于需要查找什么BIOS设置的信息,以及其他方面的内容。 - heenenee
@lokusking,“虚拟机监控程序启动失败;虚拟机监控程序无法成功初始化(阶段0x2),因此未能启动”。现在正在尝试找出重新启动虚拟机时哪个F键可以进入BIOS设置界面... - Benjol
2个回答

3
在工作站中以提升模式运行Powershell(以管理员身份运行)并运行: Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All 关闭工作站,进入设置/处理器/虚拟化引擎并进行以下设置:
- 首选模式:自动 - 禁用二进制翻译加速:未选中 - 虚拟化Intel VT-x/EPT或AMD-V/RVI:选中 - 虚拟化CPU性能计数器:选中
启动工作站并运行lusrmgr.msc,确保您的帐户也在Hyper-V管理员组中。
在服务中检查HV Host Service和Hyper-V Virtual Machine Management是否正在运行。
如果出现“Error 31: A device attached to the system is not functioning”错误,请按此处的步骤操作。
解决方法是:
- 关闭Workstation。 - 打开注册表(开始>运行>regedit)。 - 浏览到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\hcmon。 - 创建一个名为Parameters的新键。 - 在Parameters中,创建一个名为DisableDriverCheck的新DWORD值项目,然后将其值设置为1。 - 重新启动。
似乎该问题适用于Windows 7主机。修复几个我尝试过的问题。
如果仍出现Error 31,请在工作站命令提示符中以提升模式(以管理员身份运行)运行以下命令: bcdedit /set "{current}" hypervisorlaunchtype auto 然后重新启动工作站。
再次在服务中检查HV Host Service和Hyper-V Virtual Machine Management是否正在运行。
进入网络和共享中心/更改适配器设置,并禁用并重新启用所有名称为:vEthernet (Internal Ethernet Port Windows Phone Emulator Internal Switch)的适配器。
现在,您应该可以运行模拟器了... ;)

:(感觉很接近了。我仍然在HV主机服务上遇到错误31。 - Benjol
值得一提的是,在Windows 8.1虚拟机上升级到VS2015后,模拟器仍然可以正常工作。因此问题出在Win 10上。 - Benjol
你在主机或工作站上遇到了31号错误?修复是在主机上执行的,但是针对的是工作站。此外,主机上的USB驱动程序存在已知问题,可以在这里阅读VMware的相关信息[链接](https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1016809)。 - Todd
当我尝试在虚拟机内启动HV主机服务时,出现错误代码31。如你所说,我已经在主机上进行了修复。感谢你提供的有关USB驱动程序的信息,奇怪的是我可以从虚拟机中看到我的Lumia 735,但无法看到Lumia 650(可能是由于Nokia->Microsoft的转换)。 - Benjol
尝试执行 bcdedit /set "{current}" hypervisorlaunchtype auto 步骤,我昨天稍微修改了一下答案。 - Todd
显示剩余14条评论

3
  1. 尝试打开您的虚拟机的.vmx文件,并添加以下内容:

    hypervisor.cpuid.v0 = "FALSE"

  2. 在您的虚拟机设置中选择Virtualize Intel VT-x/EPT或AMD-V/RV1

enter image description here


已完成这两个 :( - Benjol

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接