http://windowsasusual.blogspot.jp/2013/01/how-to-launch-windows-phone-8-emulator.html

Hardware requirements

First possible pitfall is... your CPU! In short, you passed this step if
you have Intel i3/i5/i7 processor as they all do Second Level Address
Translation (SLAT) capability. Otrherwise, you should check this brilliant wiki for extended description.
OK, let assume you have capable CPU. Let investigate in details what happens if you try to launch WP8 emulator then.

Where is my virtualization, dude?

While you're trying to first-launch your WP8 hello-world project, the following popup appears:

Windows Phone Emulator
You don't have permission to modify internal Hyper-V network adapter settings required to run the emulator
Click "Retry" to run the emulator in elevated mode.
[Retry] [Close]

Clicking on [Retry] button, emulator window appears saying it launching
the OS... and after a couple of minutes, "Generic failure" popup
terminates that pity show.
To resolve this, let take a look at VmWare virtualization settings. You
can edit virtual machine settings and make sure that "Processor" device
has "Virtualize Intel VT-x/EPT or AMD-V/RVI" flag as ticked on.
Alternatively, you can manually edit VMX file of your virtual machine
image and set this option as true:

vhv.enable = "TRUE"

Both ways, you have to switch the virtual machine off before, make
changes, then start the virtual machine again. Try again to launch your
WP8 hello-world project. You see? Same failure, again.

VmWare hidden treasure

Rumor has it. VmWare Workstation 9, the latest "mature" product of
VmWare Inc will let WP8 emulator working as a charm if virtualization
flag (see previous chapter) is on. In my case, I have only Player
edition, but the same rumor (namely StackOverflow.com, see URL above)
says you can manage non-official keys at VMX file, and following
addendum will do the trick:

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

See the last line? That's it, shaman said you have to set this to false. And it works! The only popup you can face now is

Windows Phone Emulator
Do you want to configure the emulator to connect to the Internet?
Your PC may lose its network connectivity while the changes are applied. This may affect any network operations in progress.
[Yes] [No]

Clicking [Yes] you will see very short delay and then, ta-da, your
emulator is fully operational! Shaman said, set this to false. Shaman
doesn't explain. Follow the word of Shaman, do you?

Disobey the word

Feeling some contradiction sense, I tried to flip the non-documented
settings to true, expecting the punishment from Heavens. But nothing has
been changed! Finally I cropped the cpuid line to empty value:

vhv.enable = "TRUE"
hypervisor.cpuid.v0 = ""

Again, emulator still working as a charm! Switching off the virtual
machine, rebuilding the project - still operational. Just the cpuid key
presence is a "key to success" for WP8 emulator. True, false, empty
value - everything suits us. Hmmm, that's interesting!

Failure ahead!

Thanks to the same contradiction sense, I did the following tweak at VMX file:

vhv.enable = "FALSE"
hypervisor.cpuid.v0 = ""

Namely, I switched off the virtualization support but keep that
non-documented cpuid setting active. Restarting the virtual machine, I
was expecting the failure. But I was really surprised with new (and very
clear) popup:

Windows Phone Emulator
Can't start the Windows Phone Emulator
The Windows Phone Emulator requires Hyper-V. Your PC is missing the following pre-requisites required to run Hyper-V:

- Second Level Address Translation

More information

[Close]

You see? It complains about SLAT support feature, like we don't have
capable CPU! But host CPU is Intel i7-930, with SLAT feature onboard.
So, with virtualization off AND with cpuid on, guest OS will provide
exact error message instead of abstract "lack of permission".
Note: Don't forget to re-enable virtualization support back to operational state!

Other reasons to fail

To be fair, there are more ways to get WP8 emulator failed to run. Let
me name two more (if you know another reason, just post a comment here,
big thanks in advance):

  1. Insufficient CPU cores
  2. Not enough memory

Reason 1: WP8 as a platform intends at least two CPU cores available.
So if you allocate single core for your virtual machine, emulator will
fail with following message:

Windows Phone Emulator
The Windows Phone Emulator wasn't able to ensure the virtual machine was running:

Something happened while starting a virtual machine: 'Emulator WVGA
512MB.user' could not initialize. (Virtual machine ID
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)

The processor topology specified for the virtual machine cannot be
supported by this host. For instance, this can happen when the virtual
processor or socket count for the virtual machine exceeds the logical
processor or socket count for the host.

[Close]

Reason 2 : memory, RAM size. In old good days it was a useful habit
to allocate not more than 1 gig of RAM to any virtual machine, otherwise
your host OS may nearly die. For WP8 development, it's not true
anymore. With 1Gb RAM limit, WP8 emulator will unable to get 512Mb of
free RAM. Popup message is clear:

Windows Phone Emulator
The Windows Phone Emulator wasn't able to ensure the virtual machine was running:

Something happened while starting a virtual machine: 'Emulator WVGA
512MB.user' could not initialize. (Virtual machine ID
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)

Not enough memory in the system to start the virtual machine Emulator
WVGA 512MB.user with ram size 512 megabytes. (Virtual machine ID
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)

[Close]

So, it's nice to allocate at least 1.5Gb RAM for our virtual machine.
And even that case, you can't launch WP8 emulators other than simplest
512Mb mode. Bye-bye, WVGA/WXGA/720p emulators, you're too memory-hungry!

Update: one more issue with Windows Phone 8 emulator is adderssed here: http://www.timmykokke.com/2013/01/windows-phone-emulator-hyper-v-error

Recap

Despite the two-level virtuality (WP8 emulator is a Hyper-V virtual
machine which launched on Win8 guest OS under VmWare running on Win7
host), the toolchain is stable and performs with almost no delays. This
contradicts with my previous experience of double-virtualization while
launching Meego on Qemu running at Linux guest at Windows host (terrible
delays up to 20-30 seconds on each mouse movement).
So, everything is fine. The only requirements are:

    • SLAT-capable CPU (any of Intel i-series, plus some others)
    • virtualization enabled at BIOS level
    • "non-documented" key hypervisor.cpuid.v0 = "" at VMX file
    • virtual machine with enabled virtualization as vhv.enable = "TRUE"
    • at least two CPU cores for the virtual machine
    • at least 1.5Gb RAM for the virtual machine, 4Gb recommended (if you
      plan to launch any WP8 emulator), which naturally leads to 64-bit host
      OS, with at least 8Gb RAM onboard

Windows phone 8 安装在 VMWare上错误的各种解决方案的更多相关文章

  1. VMware 虚拟机 不能上网 CentOS 6.5 Windows 7上面安装了VMware,然后安装了CentOS系统,安装完了无法上网;

    今天想要学习一下大数据的知识,在windows 7上面 安装了VMware,然后安装了Centos系统,但是发现安装完了,无法上网 我在Centos上面 使用 ping www.baidu.com 始 ...

  2. Windows 2008 R2 安装sp1时未知错误的解决办法

    最近在为Windows Server 2008 R2 打sp1补丁时出现“发生未知错误”,详细信息错误:0x800f0818: google后找到解决问题步骤,参照:http://www.wikiho ...

  3. windows 虚拟环境下 安装 mysql 引擎一系列错误处理

    报错现象 运行django 报错. 很明显是缺少引擎 下载引擎 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb m ...

  4. Windows下使用python库 curses遇到错误消息的解决方案

    在Windows系统下执行python应用时,有时会遇到错误信息: ModuleNotFoundError: No module named '_curses'. 然而查看Windows系统里pyth ...

  5. windows无法连接到打印机 操作失败,错误为0x00000002 解决方案

    平时使用局域网打印机没有问题,今天突然脱机了,错误号为0x00000002 服务器上打印机一切正常,别人使用也一切正常. 最后,重启了Spooler服务后搞定. 重新链接打印机,搞定!

  6. 在VMware上安装centos

    Windows,VMware和Centos三者的关系 VMware安装.centos安装 在 VMware 上安装 CentOS 第 1 步:打开 VMware,点击创建新的虚拟机 第 2 步:选择典 ...

  7. [IOS]VMware上虚拟机MAC安装XCode

    1:VMware上虚拟机MAC安装前 VMware上安装Xcode之后 2:安装Xcode过程:把Xcode复制到虚拟机桌面上 3:复制完成之后,双击Xcode_6.4.dmg 文件 4:把Xcode ...

  8. 虚拟机VMWARE上ORACLE License 的计算

    Oracle License的计算有两种方式:按照用户数和CPU个数. 其中按CPU计算方式如下: License Number = The Number of CPU Cores  *  Core ...

  9. 在VMWare上安装ubuntu及VMWare&nbs…

    在VMWare上安装ubuntu及VMWare Tools 一.摘要 该文主要介绍了如何在虚拟机上安装ubuntu,和安装VMWare Tools设置共享文件夹,最后对ubuntu做了简单的介绍. 二 ...

随机推荐

  1. android学习日记03--常用控件progressbar/seekbar

    常用控件 5.progressbar 进度条,比较常用的组件,在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度.一个进度条也 ...

  2. ABAP 日期函数

    一 财务期间处理 T_CODE: OB29 **取 公司年度变式, 和 货币  SELECT SINGLE waers periv FROM t001        INTO (v_waers,v_p ...

  3. Jordan Lecture Note-8: The Sequential Minimal Optimization Algorithm (SMO).

    The Sequential Minimal Optimization Algorithm (SMO) 本文主要介绍用于解决SVM对偶模型的算法,它于1998年由John Platt在论文“Seque ...

  4. Android实现资料收藏

    1,调web浏览器 Uri myBlogUri = Uri.parse("http://xxxxx.com"); returnIt = new Intent(Intent.ACTI ...

  5. UILabel 自动换行 和支持换行符

    这个主要是 lable对\n换行符号的支持,有的时候我们从网页或者后台拿到的数据需要处理一下: 这里没什么要说的,注意两点,一个是label的numofline属性的值要为0 或者不能为1  这样la ...

  6. ruby 把字符串转为正则匹配表达式

    需求 函数,需要通过参数传递字符串,用来做正则匹配 reg = '[0-9]+' def func(str, reg) str.scan(reg) end 由于 reg 在其它地方定义, reg 是字 ...

  7. posix thread内存可视性

    线程间的内存可视性 当线程调用怕thread——create时, 它所能看到的内存值也是它建立的线程能够看到的.任何在调用怕thread_create之后写入的数据,可能不会被建立的线程看到,即使写操 ...

  8. ArrayUtils用法

    /* 1. ArrayUtils.isEmpty(strs) : 判断数组是否为空 , 不为空返回false,为空true */     ArrayUtils.isEmpty(new String[] ...

  9. 关于c#生成word。

    需求:需要把数据做成这样的效果.一个页面展示一个r单子数据. object filename = ""; Object Nothing = System.Reflection.Mi ...

  10. APPlication,Session,Cookie,ViewState和Cache之间的区别

    1.Application:用于保存所有用户共用的数据信息. 在Asp.Net中类似的配置数据最好保存在Web.config文件中.如果使用Application对象,一个需要考虑的问题是任何写操作都 ...