Hyper-V, Conversión de Máquinas Virtuales de Generación 1 a 2

Con la nueva versión de Windows Server 2012 R2 nos permite usar máquinas virtuales de Generación 2.

Algunas de las novedades que nos traen estas MV de Generación 2:
-Se ha eliminado la BIOS y se ha empezado a usar UEFI (igual que las placas bases nuevas).
-Usan un hardware totalmente virtualizado.
-Podremos arrancar las máquinas virtuales desde un dispositivo SCSI sacando provecho de las ventajas del nuevo formato VHDX como TRIM y redimensión en caliente.
-Arranque PXE desde la tarjeta de red virtual.
-Arranque del SO un 20% más rápido y en instalación un 50%.
-No se puede convertir de Generación 2 a 1.
-Solo soporta sistemas operativos x64 Windows 8 y Windows Server 2012 en adelante.

Hay que tener en cuenta las características anteriores a la hora de convertir una máquina virtual y que no se realizará la conversión si cumple las siguientes condiciones:
-Si tiene Puntos de Control (checkpoints) antes llamados Instantáneas (Snapshot).
-Si está en funcionamiento (online).
-Si usa discos virtuales compartidos.
-Si tiene activa las replicación.
-Si usa discos con formato VHD en vez de VHDX.
-Si se usa WinRE.

Obviamente una vez convertida desaparecerán:
-Unidades de disquete.
-Unidades de DVD IDE.
-Unidades de red heredadas.
-Puertos COM.

Bueno, vamos al lio. Si vamos a convertir una máquina que este en producción, lo más recomendable es que lo hagamos sobre un backup de la misma por si surgiera cualquier error, en esta práctica lo hare sobre un Windows 8.1 recién instalado.
Descargamos este script Convert-VMGeneration.ps1 (yo lo he dejado en C:\ de mi equipo), arrancamos una consola de PowerShell y nos dirigimos a donde tengamos guardado el script. Y introducimos el siguiente comando (si os da error al usar scripts no firmado podéis ver aquí como solucionarlo):
.\Convert-VMGeneration.ps1 –VMName “Nombre de la MV en Hyper-V” –Path “ruta destino de la nueva máquina virtual”

En este caso me ha dado error por tener habilitado el WinRE.

Para deshabilitarlo iniciamos la máquina virtual y ejecutamos el comando “reagentc /disable”.

Una vez solucionado el error volvemos a ejecutar el script. Nos preguntará si estamos seguros de continuar ya que se pueden perder datos (quién dijo miedo), ponemos “Y” y enter.

Podemos ver que genera un fichero wim para después aplicarlo al nuevo disco virtual y que, como ya hemos comentado antes, ha omitido la unidad de DVD. Al final nos pone un resumen donde nos indica que ha generado una máquina virtual con el mismo nombre pero añadiendo (generation 2) y también un disco duro virtual.

En la consola de Hyper-V veremos que nos ha guardado la maquina anterior.

Si miramos la configuración veremos las diferencias que hemos mencionado al principio.
-Maquina Generación 1

-Máquina Generación 2:

Una manera fácil de saber si nuestra MV es generación 1 o 2 es simplemente pinchado sobre ellas y ver el resumen inferior en la propia consola.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *