Suspende y arranca automáticamente tus máquinas virtuales cuando reinicias o apagas Windows 10
por Javier Rodríguez 5A pesar de lo que muchos digan por ahí, Windows 10, sobre todo en sus versiones Pro y Enterprise, tiene excelentes características para desarrollo y para el uso de máquinas virtuales. Es una de las plataformas con mejores aplicaciones y una de ellas, todo un clásico, es VMWare Workstation.
Con la llegada de Windows 10 muchos usuarios de máquinas virtuales hemos encontrado problemas y hemos tenido que gestionar el encendido y apagado de nuestras maquinas con scripts en el arranque o apagado de Windows y eso a veces chocaba con la propia gestión automática de VMWare Workstation.
Desde la versión 14 tenemos una prestación más que nos hará más fácil y directa esta gestión. Ahora VMWare Workstation cuenta con un sistema de auto-encendido, que ya tenía desde hace bastantes ediciones, y también un sistema de auto suspensión que no permitirá despreocuparnos de cuando Windows 10 decide instalar actualizaciones de seguridad.
Para acceder a este sistema automatizado tenemos que habilitar el servicio de máquinas compartidas o “Shared VMs”. Este sistema permite que, desde otras máquinas, incluso desde internet, podamos gestionar nuestras máquinas virtuales en remoto. Pero también tiene un sistema de auto-gestión energética de las máquinas virtuales, como en los hypervisores más potentes de VMWare.
Para “compartir una máquina virtual” solo tenemos que arrastrar la maquina local a compartida. Tenemos que tener en cuenta que esto la mueve o clona a otra carpeta, así que tendremos que tener esta eventualidad en cuenta. Mover tarda muy poco, pero clonar es otra historia.
Una vez trasladada la máquina a compartida entonces la veremos en la configuración de “acciones de energía”:
Nos permite elegir que maquinas queremos arrancar, y suspender, además del tiempo que debe pasar entre cada intento de arranque.
Ahora solo tenemos que elegir que maquinas queremos arrancar con Windows y también cuales queremos suspender cuando Windows se apagar o se reinicia. La suspensión de maquina es un volcado de memoria a disco por lo que para la máquina virtual es como si no hubiera pasado nada en el periodo de parada. Continuará, y rápidamente, desde donde la dejamos.
Con este sistema limitaremos los daños en nuestros datos y máquinas virtuales cuando apagamos o reiniciamos Windows y sin necesidad de andar pendientes de ellas. Solo funciona con máquinas compartidas, si queremos hacerlo con máquinas locales tendremos que tirar de algún script en el arranque de Windows y eso requiere de Windows 10 Pro o Enterprise.
Si quereis lograr esto necesitareis dos scripts batch.
Arranque: sustituid la ruta por la ruta donde dejáis vuestras maquinas locales, ojo con los espacios en la definición de la variable y no cambiéis el nombre por defecto del archivo .vmx, vmware lo nombra igual que el directorio por defecto, con el nombre de la máquina. El script lee los directorios dentro del directorio principal y arranca los .vmx dentro de cada directorio. vmrun no ofrece datos de maquinas no arrancadas asi que he pensando en este método como alternativa a tener que meter cada linea de arranque de maquina en el script. Así es automático y funcionara en cualquier maquina desde Windows 7 en adelante y en cualquier version de VMWare Workstation.
Cread un archivo .bat con este código:
@echo arrancando maquinas virtuales
timeout /t 20
set dirmaquinas="e:Maquinas_virtuales"
echo %dirmaquinas%
cd C:Program Files (x86)VMwareVMware Workstation
for /f %%G in ('dir %dirmaquinas% /A /B') DO vmrun start %dirmaquinas%\%%G\%%G.vmx
::@pause
exit
Suspensión:
@echo suspendiendo maquinas virtuales
cd C:Program Files (x86)VMwareVMware Workstation
for /f %%M in ('vmrun list') DO vmrun suspend %%M
::@pause
exit
Descarga de los scripts: https://1drv.ms/f/s!AtBU_aF9OaqimcQLBLObok0jPRdb6g
Podemos grabar los scripts en al carpeta que queramos, yo suelo concentrarlos todos en una misma carpeta donde localizarlos fácilmente, y de sencilla localización en el sistema. Esto ya va a gusto del usuario, porque no es realmente necesario ya que llamaremos a estos scripts a través de las políticas de grupo, referentes a maquina, de que dispone Windows 10.
Ahora solo tenemos que colocar ambos scripts en la zona de scripts de arranque y suspensión dentro del editor de políticas de maquina a las cuales podéis acceder a través de “gpedit.msc” que no esta disponible en Windows 10 Home. Si os da problemas el de arranque, colocadlo en la carpeta de programas de arranque en el inicio (run Shell:startup).
ejecutamos "run" desde inicio de windows 10, y luego gpedit.msc.
Aquí encontramos las dos zonas de scripts en las políticas de grupo de la maquina, tenemos de inicio y de apagado.
Colocaremos cada script en su sitio.
Colocaremos el de arranque en scripts de inicio y el de suspensión en scripts de apagado de Windows. Esto evitará que tengamos que poner las máquinas en compartidas, que tienen otras implicaciones funcionales, aunque deberán estar todas en la misma ruta para su arranque, no así para el apagado, que para ese listado nos ayudan los propios ejecutables de VMWare Workstation.
Espero que os haya servido de ayuda, a mi me ha eliminado una de mis preocupaciones mas grandes a la hora de gestionar maquinas virtuales de uso persistente en Windows 10 ya que ahora no tengo que preocuparme de los reinicios automáticos por actualizaciones del sistema, de hecho ahora son perfectamente bienvenidas.
Fin del Artículo. ¡Cuéntanos algo en los Comentarios!