Saturday, February 23, 2013

Windows 8 + HyperV + VMWare Workstation 9

Después de instalar el SDK de Windows Phone 8, se habilitó el Hyper-V Manager y configuraciones del mismo, por lo que al intentar correr una de mis máquinas virtuales en VMWare Workstation 9, me mostró un mensaje de Error, especificando que primero debía eliminar el Rol de Hyper-V.

Investigando mas sobre este asunto, me encontré con que ambos programas NO son compatibles y debido a que necesito de ellos, no me resultaba conveniente estar instalando/desinstalando el rol del Hyper-V.

Por lo que investigando una solución a mi problema encontre el sig post en el Blog CSI:\> Windows.
Para que los dos programas puedan coexistir es necesario generar Shell Scripts para habilitar/deshabilitar el Hyper-V mediante la herramienta Bootloader de Windows8, esto es, es necesario iniciar/reiniciar el sistema antes de poder utilizar uno u otro, en pocas palabras, deshabilitar Hyper-V para poder usar VMWW o vicerversa.

Entonces, aquí los pasos para generar dichos scripts:

  1. En la consola de Windows, teclear lo sig:
    bcdedit /copy {default} /d "No Hypervisor"
    El siguiente mensaje debe mostrarse: "The entry was successfully copied to {guid}."
  2. Copiar el guid (incluyendo las llaves).
  3. Ahora, editar y correr el siguiente comando:
    bcdedit /set {guid_hvoff} hypervisorlaunchtype off 
    Sustituyendo {guid_hvoff} con el guid copiado en el paso 2.
    Lo anterior agrega una propiedad en la entrada de arranque del sistema para no cargar el Hypervisor.
Ahora, para generar los scripts:
  1. En un archivo que llamaremos Restart-HyperV-OFF.cmd copiar y editar lo siguiente:
    @echo off
    bcdedit /default {guid_hvoff}
    echo.
    echo Press any key to restart or CTRL-C to cancel
    pause
    shutdown /r /t 0 /d p:0:0

    Nuevamente, {guid_hvoff} será el guid that que copiamos en los pasos anteriores.
    Este script nos permitirá arrancar el sistema con el Hyper-V apagado.
Para gener el script que arranca el sistema con la opción de Hyper-V encendida haremos lo siguiente:
  1. Correr el script Restart-HyperV-OFF.cmd
  2. Despues de reiniciar, correr el siguiente comando en la consola:
    bcdedit /enum
  3. Encontrar la sección “Windows Boot Loader” que contiene la opción “hypervisorlaunch  Auto”
    Copiar el {guid_hvon} del campo “identifier” en dicha secci{on.
    (Nota: Si el identificador contiene “{current}” significa que no arrancamos correctamente con la configuración del Hypervisor apagado.)
  4. En un archivo que llamaremos Restart-HyperV-ON.cmd copiar y editar lo siguiente:
    @echo off
    bcdedit /default {guid_hvon}
    echo.
    echo Press any key to restart or CTRL-C to cancel
    pause
    shutdown /r /t 0 /d p:0:0
    Reemplazando el {guid_hvon} con el guid que copiamos en el paso anterior.
Listo! Ahora tenemos dos scripts con los cuáles habilitaremos o deshabilitaremos el Hyper-V en el arranque del sistema.