Cuando se tiene que desplegar un mismo entorno en diferentes dispositivos, suele ser una ardua tarea, tener que repetir “n” veces el mismo proceso. Cuando se tienen que instalar las mismas aplicaciones en varios equipos, se suele crear una imagen centrar, y repartirla a todos los equipos (WDS, o similar)

Para realizar esta imagen común “master” o como la queramos denominar es necesario “generalizarla” para eliminar todas las configuraciones que hacen único a ese dispositivo, configuración de usuario, nombre de equipo, y algunos parámetros más avanzados.

Vamos a generalizar una máquina con configuración personalizada, que nos interesa replicar en diferentes dispositivos, en este caso partimos de una máquina alojada en Hyper V con Windows10 insider, tiene instalado Chrome,Team Viewer y Notepad, entre otros.

Tambien queremos tener pre-cargado la distro de Ubuntu, alojada en c:\WSL\Distro\Ubuntu1804

Tenemos que seguir una serie de pasos para preparar la máquina, antes de subirla a Azure. Para que el articulo no se quede desfasado pronto, os dejo el enlace de Microsoft directamente, donde nos dice que acciones debemos realizar.

https://docs.microsoft.com/es-es/azure/virtual-machines/windows/prepare-for-upload-vhd-image

Una vez realizado los pasos indicados por Microsoft, generalizamos nuestra máquina virtual, para ello vamos a utilizar la herramienta Sysprep:

c:\Windows\System32\Sysprep\sysprep.exe

Tenemos que seleccionar las opciones:

  • Enter System Out-of-Box Experience (OOBE)
  • Marcar el check de Generalizar
  • Shutdown, si no marcamos esto la máquina vuelve a encender y empieza a modificarse y ya no nos valdría.

Le damos a OK, y empieza el proceso.

Una vez la imagen ha sido generalizada, nos aparecerá apagada en nuestro HyperV en este caso, Vmware o similar.

Nuestro disco es Generación 2 y VHDX, por suerte no es de expansión dinámica si no, tendríamos todas las papeletas para que no nos funcione.

Ejecutamos:

#ruta del vhdx de origen
$vhdxdisk = "C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\w10_ins.vhdx"
#ruta donde queremos guardar el vhd (por ejemplo un disco secundario, si no tenemos espacio
$vhddisk = "D:\w10_ins.vhd"
#realizamos la conversion
Convert-VHD –Path $vhdxdisk –DestinationPath $vhddisk -VHDType Fixed

En este paso nos acordaremos, nos vendrá a la cabeza, el momento cuando configuramos el tamaño del disco “burro grande ande o no ande” 🙂

Una vez termine ya tenemos el vhd preparado para subirlo a Azure.