What's the best way to configure BIOS settings for virtualization?

There are several BIOS settings you may need to change on your host server to ensure that hypervisors will run correctly.

Do I need to change any BIOS settings to allow hypervisors, such as Hyper-V, to run?

Virtualization is a software layer, but it is highly dependent on the underlying system hardware, which is enabled and controlled through the system BIOS. It is important for IT administrators to review and configure BIOS settings for optimal virtualization performance.

First, be sure that hardware-assisted virtualization features (such as Intel VT-x or AMD-V) are enabled in the processors. Today, hardware-assisted virtualization is often enabled in the BIOS by default, but it's a good practice to locate and verify the status of these features rather than simply assuming they are enabled. If you do enable hardware-assisted virtualization, be sure to turn the system off rather than simply rebooting. This ensures that the change is actually implemented in the hardware.

The next step to configure BIOS settings for the best performance is to locate and enable any hardware data execution prevention (DEP) features in the BIOS. Intel calls this Execute Disable (XD) and AMD calls this No Execute (NX). DEP is a security feature that prevents code from executing in protected memory pages, such as heaps, stacks and other critical memory areas. Virtualization uses this feature to help isolate and secure virtual processes on the system, so DEP must often be explicitly enabled for optimal hypervisor security.

Recent server hardware may support second level address translation (SLAT). Although SLAT is not required for typical virtualization deployments, it may be required for some recent hypervisor features, like Microsoft's RemoteFX. Intel calls this extended page tables, and AMD calls this nested page tables or rapid virtualization indexing, so locate and enable SLAT features if they are available.

The final step to configure BIOS settings for virtualization is to disable some features that may not allow a hypervisor to load successfully.  For example, Hyper-V will not load if Intel VT-d (Intel's I/O virtualization) or trusted execution features are enabled, so be sure to disable these features if a hypervisor fails to load.

Dig Deeper on Improving server management with virtualization