How to enable Hyper-V for the emulator for Windows Phone 8

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

This topic contains the following sections.

 

Quick summary

To enable Hyper-V, you have to do the following things. These tasks are described in this topic.

  1. Enable the BIOS settings required by Hyper-V.

  2. Enable Hyper-V in Windows.

Enabling BIOS settings required by Hyper-V

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

  1. 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>.

  2. Enable the following items if they are available:

Feature

AMD setting

Intel setting

SLAT (Second Level Address Translation)

NP (Nested Page Tables)

RVI (Rapid Virtualization Indexing)

EPT (Extended Page Tables)

Hardware-assisted virtualization

SVM (AMD support for hardware-assisted virtualization)

VMX (Intel support for hardware-assisted virtualization)

Data Execution Prevention (DEP)

NX (No Execute)

XD (Execute Disable)

  1. Disable the following items if they are available:

    • Intel VT-d

    • Trusted Execution

  2. Save the settings and restart the computer again.

  3. 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.

Checking BIOS settings required by Hyper-V for virtualization and SLAT

You can use tools from Microsoft and from other sources to check the required BIOS settings described in System requirements for the emulator for Windows Phone 8.

To check BIOS settings for virtualization and SLAT by using the Coreinfo tool from Microsoft

  1. Download the Coreinfo tool from Microsoft Sysinternals and extract the contents of the .zip file.

  2. Run a Command Prompt window as administrator.

    Coreinfo requires administrator privileges to check some of the values related to virtualization.

  3. 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.

    coreinfo.exe -v

Note

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)
  1. Examine the output of Coreinfo related to hardware-assisted virtualization.

    1. 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.

    2. 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.

  2. 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.

  3. 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.

    MachineSLATStatusCheck

Checking BIOS settings required by Hyper-V for Data Execution Prevention

You can also check BIOS support for Data Execution Prevention in Control Panel.

To check Data Execution Prevention settings in Control Panel

  1. In Control Panel, click System and Security, and then click System.

  2. In the System window, click Advanced system settings.

  3. In the System Properties dialog box, on the Advanced tab, in the Performance section, click the Settings button.

  4. In the Performance Options dialog box, click the Data Execution Prevention tab.

  5. Look for the statement Your computer’s processor supports hardware-based DEP near the bottom of the dialog box.

Enabling Hyper-V in Windows

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

  1. In Control Panel, click Programs, and then click Turn Windows features on or off.

  2. In the Windows Features dialog box, click Hyper-V. The list of options expands.

  3. 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.

Starting the emulator for the first time

The emulator checks for the requirements to run Hyper-V the first time you start it.

  • If Hyper-V is not enabled
    If Hyper-V is not enabled, the following dialog box appears.

    Click Turn on Hyper-V to open the Windows Features dialog box in Control Panel. Then see Enabling Hyper-V in Windows.

  • If you are not a member of the local Hyper-V Administrators group
    If Hyper-V is turned on but you are not a member of the local Hyper-V Administrators group on the computer, the following dialog box appears.

    Click Retry to elevate your rights and to join the local Hyper-V Administrators group. If you were deploying an app, you receive an error indicating that the deployment failed. Click OK. Then restart the app in the emulator.

Known issue: Computer fails to boot after installing the Windows Phone SDK 8.0 

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.

Support resources

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.

See Also

Other Resources

System requirements for the emulator for Windows Phone 8

Troubleshooting the Windows Phone 8 Emulator