hyper-v-nested-virtualization

Cómo activar la virtualización anidada en Windows

Hoy vamos a resolver como usar una virtualización anidada dentro de un entorno de Hiper-V en Windows 10, 11, o superior.

La virtualización anidada es una técnica que permite ejecutar máquinas virtuales (VM) dentro de otra VM. Es decir, un VM inception. Una muñeca matrusca de VM.

hyper-v-nested-virtualization-1

¿Y para qué queremos hacer esto? ¿para ser unos flipaos de la vida que se molan a si mismo? Bueno sí, también, … pero no solo para eso.

En realidad es más fácil de lo que te piensas llegar a esta situación: por ejemplo, si estás usando una máquina virtual para desarrollo, o una máquina virtual para hacer pruebas con máquinas virtuales.

hyper-v-nested-virtualization-2

Pero es más, es posible que lo necesitéis simplemente con usar Windows Subsystem for Linux (WSL) o Windows Subsystem for Android (WSA) en una máquina virtual.

Porque WSL y WSA son herramientas geniales que internamente usan virtualización para funcionar. Así que si usáis una máquina virtual para desarrollo… ¡oh, oh! Os va a dar problemita.

Afortunadamente es muy fácil activar la virtualización nested. En primer lugar abrimos una consola de comandos, y obtenemos un listado de nuestras máquinas virtuales con este comando,

Get-VM

hyper-v-nested-virtualization-3

Nos aseguramos de que la máquina en la que queremos activar la virtualización anidada esté parada. Si no, la paramos con este comando.

Stop-VM -Name 'your-vm-name'

Donde evidentemente tendrás que cambiar ‘your-vm-name’ por el nombre de la máquina con la que quieres trabajar.

La configuración de la VM debe ser de la versión 8.0 o superior. En cualquier caso, y por si acaso, actualizamos la máquina virtual con este comando,

Update-VMVersion -Name 'your-vm-name'

Finalmente, ahora sí, activamos la virtualización anidada en la máquina virtual con este comando.

Set-VMProcessor -VMName 'your-vm-name' -ExposeVirtualizationExtensions $True

Volvemos a iniciar nuestra VM. Ya podremos acceder a ella y proceder a instalar el rol o característica de Hyper-V y cualquier otra dependiente de él. Con la virtualización anidada habilitada, podremos ejecutar máquinas virtuales dentro de la VM anfitriona y probar diferentes entornos de virtualización.

Esta opción es muy útil para probar diferentes entornos de virtualización y hacer pruebas de integración con diferentes sistemas operativos. Y como hemos visto, es cuestión de un par de comandos activarla.