Share via


Hyper-V: How to Fix BIOS Errors Enabling Hyper-V

Hardware requirements for Hyper-V

  1. A 64-bit (x64) processor

    • Windows Server 2008 was the last 32-bit (x86) Windows Server release and Windows Server 2008 32-bit version *does not* include Hyper-V
  2. Hardware Virtualization Assists in the form of:

    • Intel VT-x (initially codenamed Vanderpool)
    • AMD AMD-V (also called SVM and initially codename Pacifica)
  3. Hardware Data Execution Prevention (DEP*):

    • On Intel processors this is called Execute Disable (XD). This feature must be enabled in the system BIOS.
    • On AMD processors this is called No Execute (NX). This feature must be enabled in the system BIOS.

*Note: When you enable hardware assisted virtualization (Intel VT or AMD AMD-V) in the BIOS, you must **TURN THE SYSTEM OFF. NOT REBOOT. OFF. *** 

Hyper-V R2 and SLAT Hardware


For traditional server virtualization or virtualization desktops without RemoteFX***, SLAT hardware is not required, but HIGHLY RECOMMENDED for improved performance.

 

  • On Intel systems this is called Extended Page Tables (EPT)
  • On AMD systems this is called Nested Page Tables (NPT) or Rapid Virtualization Indexing (RVI)

These features are usually on by default. If there are BIOS options, enable them.

NOTE: For virtualizing desktops using RemoteFX*, SLAT hardware is REQUIRED*.  To take advantage of SLAT hardware, you must be running Windows Server 2008 R2 or later or Microsoft Hyper-V Server 2008 R2 or later. Previous versions (Windows Server 2008/2008 SP2 & Microsoft Hyper-V Server 2008/2008 SP2) do not support SLAT hardware and will simply ignore these hardware capabilities.

Hyper-V : What to Disable in the BIOS

There are some hardware features that Hyper-V does not utilize and enabling them will prevent Hyper-V from loading. Specifically, please be sure that:

  • Intel VT-d is disabled
  • Trusted Execution is disabled

 If either of these options is enabled, Hyper-V won’t launch and errors will be posted to the Event Log, for example:

  • Event ID 41: Hyper-V Launch failed; Either VMX not present or not enabled in the BIOS
  • Event ID 32: Hyper-V Launch failed; At least one of the processors in this system does not appear to provide a virtualization platform supported by Hyper-V

 

*DEP:  For more information on DEP, check out this article Data Execution Prevention on MSDN and this  KB .

Data Execution Prevention (DEP) is a system-level memory protection feature that is built into the operating system starting with Windows XP and Windows Server 2003. DEP enables the system to mark one or more pages of memory as non-executable. Marking memory regions as non-executable means that code cannot be run from that region of memory, which makes it harder for the exploitation of buffer overruns.

DEP prevents code from being run from data pages such as the default heap, stacks, and memory pools. If an application attempts to run code from a data page that is protected, a memory access violation exception occurs, and if the exception is not handled, the calling process is terminated.

DEP is not intended to be a comprehensive defense against all exploits; it is intended to be another tool that you can use to secure your application.