无法创建虚拟机

时间:2012-10-30 22:59:47

标签: visual-studio windows-phone-8

我今天很高兴我终于能够安装Windows Phone 8 SDK并尝试一下。我在我的虚拟机中安装了全新的Windows 8 Pro安装程序(我从Parallels运行),然后安装了Windows Phone 8 SDK。

一切顺利,Visual Studio Express已安装并正在运行,但是当我创建新项目并尝试部署它时,VS失败并发出非常奇怪的消息。

首先,出现消息框,通知“Windows Phone模拟器无法创建虚拟机:通用失败”。真正的通知,非常专业 - 一般错误,这真的很好。然后出现部署失败的信息(非常感谢让我了解这一点,我没有注意到它完全崩溃了)。然后在错误列表中,有一个关于“无效指针”的信息 - 甚至更好。对于失败或出现什么问题一无所知。

有人可以帮我吗?到目前为止,互联网上没有关于这个主题的内容,我不知道问题出在哪里。我扫描了Windows事件和日志,但没有任何东西(可能我没有正确搜索,所以如果可以的话请指导我。)

有人可以帮忙吗?

12 个答案:

答案 0 :(得分:26)

Windows Phone 8仿真程序需要硬件Hyper-V支持。特别是,它需要启用二级地址转换,硬件辅助虚拟化和硬件DEP支持,并且要在管理程序中运行(无嵌套)。如果您在过去4年内购买了机器,那么这些要求应该没有问题。您可以查看this文章,了解有关该文章的更多信息以及如何查找您的PC是否支持该文章。

由于这些硬件要求,这意味着您无法在大多数虚拟化技术中运行手机模拟器......除了一个例外:我一直在使用VMWare 9,它似乎包含"unsupported"功能允许Hyper-V工作..因此,运行手机模拟器的唯一选择是购买VMWare 9(或更多配置的8)或将物理机升级到Windows 8

VMWare允许您在VM内运行Hyper-V的不支持方式是有一个手动选项(hypervisor.cpuid.v0 = “FALSE”),它基本上告诉VMWare不要向虚拟机报告它在VM中运行。 Hyper-V会检查它是否在VM中运行,如果是,则无法正常工作,因此Hyper-V会通过该检查。我个人已经使用Phone模拟器(包括在公开发布之前)测试了这整个嵌套VM事物,除了速度很慢之外,它确实工作得很好,没有立即崩溃或任何事情。

在回答below中,VMWare Workstation 8还有一个解决方法。但是,9更容易配置,所以如果你有它使用这种方法。

答案 1 :(得分:7)

我遇到了同样的问题,我通过在此虚拟机中启用Hypervisor应用程序并将以下行添加到.vmx文件来修复它:

hypervisor.cpuid.v0 =“FALSE”

这让模拟器工作得很好。我找到了这个答案here

希望这有帮助。

答案 2 :(得分:5)

实际上,它适用于VMware Fusion 5.0.1

我所要做的就是将以下几行添加到虚拟机的.vmx文件中:

hypervisor.cpuid.v0 =“FALSE” vhv.enable =“true”

保存并重新启动VMWARE(显然必须在更改之前停止VM)

我现在正在使用Macbook中VM内的电子邮件程序从VS2012调试测试应用程序

我是一个快乐的露营者

: - )

答案 3 :(得分:2)

我在Parallels论坛上发布了同样的问题。

答复:

模拟器实际上是一个虚拟机,所以我们讨论的是vm中的vm,这需要支持嵌套的Hyper-V,其中afaik已经计划但尚未实现,VMWare Fusion已经支持这个,如果你是如此绝望。

- - - -

请参阅Parallels论坛帖子:http://forum.parallels.com/showthread.php?p=646448#post646448

答案 4 :(得分:2)

这对我有用

将RAM设置为4g 设置至少2个核心

添加到vmx文件。

vhv.enable =“TRUE”

hypervisor.cpuid.v0 = “FALSE”

Goot文章 http://social.msdn.microsoft.com/Forums/en-US/wptools/thread/ed72010c-321c-4667-97b2-3ff1540e7f87/

答案 5 :(得分:1)

您需要SLAT兼容硬件才能运行Hyper-V,这是使用模拟器的必要条件。

您能否澄清一下您尝试运行此类硬件的类型,以及您是否在BIOS设置中启用了虚拟化?

“无效指针”错误只是意味着它无法连接到仿真器(和/或设备)。

答案 6 :(得分:1)

正如https://stackoverflow.com/a/13163762/1964969的补充(目前最佳答案): 手动添加“hypervisor.cpuid.v0”键也适用于VmWare Player 5(主要原因 - 此软件可免费用于非商业用途,因此如果您测试水域,只需从VmWare网站下载并安装,它就是完美的产品,它是全功能)。

稍有意外的是,以下任何修正都解决了WP8模拟器的问题:

hypervisor.cpuid.v0="FALSE"
hypervisor.cpuid.v0="TRUE"
hypervisor.cpuid.v0=""

是的,您可以为该密钥应用空值 - 但为什么?不知道但它有效。我在博客中做了一些笔记: http://windowsasusual.blogspot.ru/2013/01/how-to-launch-windows-phone-8-emulator.html

答案 7 :(得分:1)

在Parallels Desktop 8下,请按照以下指南操作:http://kb.parallels.com/en/115211

答案 8 :(得分:0)

修改: 哦,我没注意到你试图在VM上运行模拟器。我的答案是针对非虚拟机环境。


首先,您需要在here

检查硬件要求

小心,成功安装SDK 保证“您的硬件兼容” 如果您的硬件兼容且Hyper-V正在运行(如上面的链接所述),请检查您的BIOS并确保在CPU配置中启用硬​​件虚拟化

(对我来说,我可以在Booting> BIOS> Advanced> Advanced> CPU Configuration)找到它

摘要:

  • 64位CPU和操作系统
  • 4GB RAM
  • 硬件辅助虚拟化支持CPU
  • 支持二级地址转换(SLAT)的硬件
  • 基于硬件的数据执行保护(DEP)支持的硬件
  • 正确的BIOS设置

答案 9 :(得分:0)

对我来说,解决方案添加行:

hypervisor.cpuid.v0 = "FALSE"

我使用VMware Player并在.vmx文件中添加了行(hypervisor.cpuid.v0 = "FALSE")。 我的Windows 8 Pro虚拟机完美地运行Windows Phone 8的模拟器。

答案 10 :(得分:0)

通过从计算机上卸载旧版VPN客户端解决了该问题。事实证明,一些VPN客户端可能与Windows 8存在兼容性问题。卸载VPN客户端后,我能够毫无问题地运行模拟器(当然,确保在机器上安装并启用了Hyper-V之后)

答案 11 :(得分:0)

没有足够的代表。对已接受的答案发表评论,但Microsoft提供专门针对Fusion here的说明。经过几次重启Mac和VM后,它对我有用。我最初安装了没有Hyper-V支持的W8.1并且必须在事后安装它(“在控制面板中打开或关闭Windows功能”),但除此之外没有任何问题。在16Gb 2013 MBP上非常快。