How to enable Hyper-V for the Windows Phone Emulator
May 03, 2013
This topic describes how to check and enable the prerequisites for Hyper-V. Windows Phone 8 Emulator runs as a virtual machine on Hyper-V, the virtualization technology for Windows 8. To run the emulator, your computer must meet the requirements to run Hyper-V as described in System requirements for Windows Phone Emulator.
The setup program tries to configure these prerequisites for you silently when you install the SDK. When setup successfully configures the prerequisites, the emulator simply works as expected. Otherwise you may have to enable these prerequisites manually. This topic describes the steps and tools for configuring the prerequisites manually.
The Windows Phone SDK 8.0 setup program checks the prerequisites for running Windows Phone 8 Emulator. It displays warnings if the prerequisites are not present, but it does not require them.
If your computer or your network doesn't support all the requirements for running the emulator, you can still install the SDK and develop apps for Windows Phone 8. You can only debug and test them, however, on a registered Windows Phone 8 phone.
This topic contains the following sections.
- Quick summary
- Enabling BIOS settings required by Hyper-V
- Checking BIOS settings required by Hyper-V for virtualization and SLAT
- Checking BIOS settings required by Hyper-V for Data Execution Prevention
- Enabling Hyper-V in Windows
- Starting the emulator for the first time
- Known issue: Computer fails to boot after installing the Windows Phone SDK 8.0
- Support resources
- Related Topics
The specific BIOS options that you have to enable or disable vary depending in part on the hardware manufacturer.
To enable BIOS settings required by Hyper-V
Restart your computer and press the key required to enter the BIOS settings.
You can view and change your computer’s BIOS settings by pressing a specific key during computer startup. The key to press varies depending on the manufacturer. It is typically a special key such as <Del> or a function key such as <F2> or <F10>.
Enable the following items if they are available:
SLAT (Second Level Address Translation)
NP (Nested Page Tables)
RVI (Rapid Virtualization Indexing)
EPT (Extended Page Tables)
SVM (AMD support for hardware-assisted virtualization)
VMX (Intel support for hardware-assisted virtualization)
Data Execution Prevention (DEP)
NX (No Execute)
XD (Execute Disable)
Disable the following items if they are available:
Save the settings and restart the computer again.
Next, enable Hyper-V in Windows. See Enabling Hyper-V in Windows.
For more information, see Hyper-V: How to Fix BIOS Errors Enabling Hyper-V.
You can use tools from Microsoft and from other sources to check the required BIOS settings described in System requirements for Windows Phone Emulator.
To check BIOS settings for virtualization and SLAT by using the Coreinfo tool from Microsoft
Download the Coreinfo tool from Microsoft Sysinternals and extract the contents of the .zip file.
Run a Command Prompt window as administrator.
Coreinfo requires administrator privileges to check some of the values related to virtualization.
In the Command Prompt window, run coreinfo.exe from the location to which you extracted it. To see only the settings related to virtualization, including SLAT settings, add the –v argument at the command prompt.
If Hyper-V is already running, Coreinfo may not return accurate results. The output of coreinfo.exe –v displays the following warning when it detects Hyper-V running:
Note: Coreinfo must be executed on a system without a hypervisor running for accurate results.
Here is sample output from the coreinfo –v command on a computer that has an AMD processor:
AMD Phenom(tm) 9850 Quad-Core ProcessorAMD64 Family 16 Model 2 Stepping 3, AuthenticAMDHYPERVISOR-Hypervisor is presentSVM *Supports AMD hardware-assisted virtualizationNP *Supports AMD nested page tables (SLAT)
Here is sample output from the coreinfo –v command on a computer that has an Intel processor:
Intel(R) Xeon(R) CPU W3530 @ 2.80GHzIntel64 Family 6 Model 26 Stepping 5, GenuineIntelHYPERVISOR-Hypervisor is presentVMX *Supports Intel hardware-assisted virtualizationEPT *Supports Intel extended page tables (SLAT)
Examine the output of Coreinfo related to hardware-assisted virtualization.
If your computer has an AMD microprocessor, look for SVM in the left column. If an asterisk (*) appears in the middle column, your computer supports AMD hardware-assisted virtualization.
If your computer has an Intel microprocessor, look for VMX in the left column. If an asterisk (*) appears in the middle column, your computer supports Intel hardware-assisted virtualization.
Coreinfo only reports whether the BIOS supports hardware-assisted virtualization. To determine whether hardware-assisted virtualization is in fact enabled on your computer, you may still have to restart your computer and enter the BIOS setup screens.
Examine the output of Coreinfo related to SLAT.
If your computer has an AMD microprocessor, look for NP in the left column. If an asterisk (*) appears in the middle column, your computer supports AMD nested page tables, the AMD implementation of SLAT.
If your computer has an Intel microprocessor, look for EPT in the left column. If an asterisk (*) appears in the middle column, your computer supports Intel extended page tables, the Intel implementation of SLAT.
Examine the output of Coreinfo related to hardware-based Data Execution Prevention (DEP). Look for NX in the left column. If an asterisk (*) appears in the middle column, your computer supports no-execute page protection.
Coreinfo only reports whether the BIOS supports hardware-based DEP. to determine whether hardware-based DEP is in fact enabled, go to Control Panel. For more information, see Checking BIOS settings required by Hyper-V for Data Execution Prevention.
To check BIOS settings for SLAT by using the MachineSLATStatusCheck tool from Codeplex
Download and run the following tool from Codeplex. This tool has a simple graphical user interface.
You can also check BIOS support for Data Execution Prevention in Control Panel.
To check Data Execution Prevention settings in Control Panel
In Control Panel, click System and Security, and then click System.
In the System window, click Advanced system settings.
In the System Properties dialog box, on the Advanced tab, in the Performance section, click the Settings button.
In the Performance Options dialog box, click the Data Execution Prevention tab.
Look for the statement Your computer’s processor supports hardware-based DEP near the bottom of the dialog box.
When your computer and BIOS settings are already configured to support Hyper-V, the setup program for the SDK enables and starts Hyper-V. If you are already a local administrator on the computer, setup also adds you to the Hyper-V Administrators group. Otherwise you may have to enable these prerequisites manually.
If the Hyper-V options are not available, your computer probably doesn’t support Hyper-V, possibly because it doesn’t support SLAT.
To enable Hyper-V in Windows
In Control Panel, click Programs, and then click Turn Windows features on or off.
In the Windows Features dialog box, click Hyper-V. The list of options expands.
In the expanded list of options, select at least the Hyper-V Platform check box, and then click OK.
For more information about the Windows Features dialog box, see Turn Windows Features On or Off.
This problem can occur when the following conditions are true:
Your computer has a Gigabyte motherboard.
USB3 is enabled on the motherboard.
To solve this problem, disable USB3 in the BIOS settings of the motherboard and reboot the computer. Then check whether Gigabyte has released an update for your motherboard’s BIOS.
For more info, see the following Knowledge Base article: Boot failure after installation of Hyper-V role on Gigabyte systems.
To find answers and solve problems as you work with the tools in Windows Phone SDK 8.0, visit the Tools for Windows Phone Development forum. To see all the forums for Windows Phone development, visit Windows Phone Development Forums. To review other support options, visit MSDN Troubleshooting and Support.