Enable Hardware settings in BIOS to run Hyper V

Hypervserver

I would be lying if I say that i don't get this question anymore from our customers and partners.

I just bought a new server and it appears to have a multitude of BIOS options for virtualization. Which BIOS options should be enabled and/or disabled to use with Hyper-V?

I recently received a well drafted message by our friends in Virtualization product group here in Microsoft. Here is what suggested by Microsoft Virtualization Team with respect to HYPER-V, BIOS & PROCESSOR FEATURES and i cant resist to share it with you all because it makes things so clear and easy.

Hyper-V RTM/R2 Hardware Requirements                                                                                                                                                                                                                         --

When it comes to hardware requirements for Hyper-V, the hardware requirements are relatively straightforward and have been mainstream for many years and many generations of systems.

  1. 1. Hyper-V is 64-bit only and thus requires a 64-bit (x64) processor
    1. Windows Server 2008 was the final 32-bit (x86) Windows Server release and Windows Server 2008 32-bit version does not include Hyper-V
  2. 2. Hardware Virtualization Assists* in the form of:
    1. Intel VT-x (initially codenamed Vanderpool)
    2. AMD AMD-V (also called SVM and initially codename Pacifica)
  3. 3. Hyper-V requires Hardware Data Execution Prevention:
    1. Intel refers to it as Execute Disable (XD). This feature must be enabled in the system BIOS.
    2. AMD refers to it as No Execute (NX). This feature must be enabled in the system BIOS.

Again, these are Hyper-V requirements and Hyper-V will not run without these capabilities.

*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. If you don’t power cycle the system completely, you will not enable hardware assisted virtualization on the majority of systems in the market.

Hyper-V R2* & SLAT Hardware

For traditional server virtualization or virtualization desktops without RemoteFX, SLAT hardware is not required, but HIGHLY RECOMMENDED. The use of SLAT capable hardware offers significant performance improvements across the board.

  • Intel refers to this a Extended Page Tables (EPT)
  • AMD refers to this as Nested Page Tables (NPT) or Rapid Virtualization Indexing (RVI)

If there are BIOS option to enable these features (they’re usually on by default), these options should be enabled.

For virtualizing desktops using RemoteFX , SLAT hardware is REQUIRED. The use of SLAT capable hardware offers significant performance improvements across the board and is especially important when using RemoteFX. These technologies are an extension to the traditional TLB that allow Hyper-V to use the hardware to handle multiple TLBs – one for each virtual machine. This is fundamental requirement for RemoteFX.

  • Intel refers to this a Extended Page Tables (EPT).
  • AMD refers to this as Nested Page Tables (NPT) or Rapid Virtualization Indexing (RVI).

If there are BIOS option to enable these features (they’re usually on by default), these options should be enabled.

Personally, I wouldn’t purchase any system for virtualization that is not SLAT capable.

*Note: 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.

===========================================================================

Q: I’m trying to run Hyper-V on my system and Hyper-V won’t launch. When I look in the event log I see events such as:

  • · 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

I’ve ensured that both:

  • Hardware Assists are enabled (Intel VT or AMD-V)
  • Data Execution Prevention is enabled (Intel XD or AMD NX)

What am I doing wrong?

A: It sounds like you’re doing a lot right, but there are a few additional BIOS settings you should check. Please be sure that:

  1. Intel VT-d is disabled
  2. Trusted Execution is disabled

Hyper-V does not utilize these hardware features and enabling them will prevent Hyper-V from loading.

===========================================================================

Q: I see that Hyper-V requires hardware Data Execution Prevention. What does that mean? What does DEP do?

A: For more information on DEP, check out this article Data Execution Prevention on MSDN and a useful KB here.

 

Thanks Virtualization Team for such a great written article, I am sure our customers and partners will find them really useful.

Do send your feedbacks, comments and suggestions, they are always appreciated.

Cheers!