Convertir Máquina Virtual VMware Workstation a Hyper-V

Como conocerán los lectores que siguen este blog, hace un tiempo cambié el sistema de virtualización que utilizo para estas notas, específicamente desde VMware Workstation hacia Hyper-V

Por ahora puedo decir que estoy satisfecho, aunque extraño algunas cosas en el uso diario, pero otra muy importante es que en VMware Workstation tenía una cantidad importante de máquinas virtuales de muchos sistemas operativos, tanto actuales como anteriores

En su momento probé varios procedimientos de conversión VMDK a VHD/X pero realmente ninguno me satisfizo, por complejidad y el tiempo que demoraba la conversión era mucho más que la reinstalación

Pero no hace mucho encontré que se podía hacer fácilmente y sin mucha demora usando “Microsoft Virtual Machine Converter”. Con sólo una línea de comandos en PowerShell ya estaba, sólo que primero había que cargar el módulo

Como se imaginarán, lo primero para hacer es descargar “Microsoft Virtual Machine Converter” que lo podemos hacer desde el siguiente enlace: https://www.microsoft.com/en-us/download/details.aspx?id=42497

Y aunque dice ser v3.0, luego de instalado se observa que es la v3.1

Esta nota la realizo sobre una máquina (virtual) Windows Server 2016 donde ya está instalado el componente Hyper-V, y para mejorar el rendimiento tiene dos discos, el del sistema y otro que utilizaré para los discos virtuales a convertir

Por supuesto que lo primero que debemos hacer es la instalación de “Microsoft Virtual Machine Converter”, que no muestro el paso a paso porque es simplemente “Siguiente … Siguiente” aceptando el contrato de licenciamiento

En su momento lo había probado, pero no le había dedicado el tiempo suficiente debo reconocerlo

Si usamos la aplicación desde el menú, en su formato gráfico, nos dará opciones para convertir máquinas físicas en virtuales o importarlas desde el producto servidor VMware (vShere, ESX, etc.) pero no permite usar como fuente un simple archivo VMDK :(

Pero esto último es posible, lo único es que hay que hacer el procedimiento desde PowerShell

En el disco d:\ he creado dos carpetas, una donde pondré los VMDKs de algunas máquinas virtuales creadas con VMware Workstation, y la otra donde dejaré los VHDXs luego de la conversión

Copié cuatro VMDKs, aunque luego finalmente opté por probar sólo tres. El objetivo era ver qué sucedía con sistemas BIOS y UEFI, y sistemas operativos “viejos”

Debemos abrir PowerShell “como administrador”, y cargar el módulo correspondiente que necesitaremos. El comando es:

Import-Module «C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1»

Para hacer la conversión debemos usar la siguiente línea, por supuesto reemplazando por los valores propios de cada uno

ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath <«PathToVMDK»> -VHDType DynamicHardDisk -VHDFormat vhdx -DestinationLiteralPath <«PathToDestFolder»>

Se tomará su tiempo, hace uso muy intensivo de procesador este proceso, así que cuando más procesadores y más rápidos mejor

Mientras dura la conversión ya podemos ver que se está creando el nuevo VHDX

Pero el proceso finaliza recién cuando vuelve la línea de comandos en PowerShell, hay que tener paciencia

No voy a mostrar el proceso paso a paso de la creación de una máquina virtual, simplemente tengan en cuenta dos cosas:

  • Si es UEFI seleccionar “Generation «2”, y si es BIOS “Generation 1”
  • No crear un nuevo disco, sino asignar el VHDX creado

Comienzo con la máquina con Windows Server 2012R2 con UEFI. Observen que en el primer arranque está detectando el “nuevo hardware”

Arrancó sin ningún tipo de inconveniente, sólo que hay que desinstalar las “VMware Tools”. Tengan en cuenta que por resolución de pantalla la barra del Windows Server 2012R2 no es visible; la que ven corresponde al Windows Server 2016 con Hyper-V

 

La segunda prueba fue con una máquina Windows Server 2008R2, cuyo resultado fue exactamente igual al anterior: perfecto :)

 

El siguiente intento fue algo así como “¿Funcionará con algo así tan viejo?”, probemos …

Así que una virtual con Windows XP nos toca ahora

Parece que sí …

Pero llegó sólo hasta acá. Desconozco si es un problema de mi driver de video o que realmente es un sistema no soportado de ninguna manera, pero en este punto dejó de funcionar mi teclado y ratón en la máquina virtual con Hyper-V, así que asumo que por lo menos por ahora no será posible

Si alguien lo logra, que comente :)

Publica un comentario o deja una referencia: URL de la referencia.

Comentarios

  • Márcio Henrique  El 11/07/2017 a las 17:03

    Gracias por su artículo, me gustaría aprovechar y hacer una pregunta al respecto.
    Tengo una máquina virtual de Linux (debian) no he podido hacer que se instalen los invitados para invitados y por lo tanto la pantalla es pequeña, no puedo hacer que la pantalla completa (no digo como terminal de servidor igual de Windows) pero quería que en el terminal del hyper-v Por lo menos conseguí dejar toda la pantalla, ¿sabes decirme si funcionaria pantalla completa de esa forma?

    • Guillermo Delprato  El 11/07/2017 a las 19:23

      Hola Márcio, lamentablemente no puedo ayudarte ya que no estoy haciendo pruebas con ningún Linux en este momento
      Sólo por si te sirve, hace años estuve haciendo pruebas con un Ubuntu virtualizado en VMware, y la única forma de cambiar la resolución de pantalla de la virtual, era desde la propia configuración del Ubuntu

  • Victor dp  El 12/07/2017 a las 07:34

    Esto es muy bueno. Aquí has superado el 10. Aunque en mi caso, lo he conocido un poco tarde :( Aun a sí, muchísimas gracias.

    • Guillermo Delprato  El 12/07/2017 a las 08:49

      Hola Victor, a mi también me sucedió, si lo hubiera conocido antes me hubiera ahorrado bastante trabajo
      Aunque aproveché ahora con algunas máquinas VMware que habían quedado

  • fernando salazar  El 13/07/2017 a las 11:56

    hola guillermo te cuento mi problema actualmente poseo instalado en un servidor IBM System x3650 M3, VMware ESXI 5.5.0 en mi pc de escritorio instale VMware vSphere client y desde allí cree 3 maquinas virtuales, dos (servidores) con windows server 2012 r2 y un (cliente) con windows 7, lo que debo hacer es conectarlas entre ellas para hacer una configuración cliente-servidor y hasta ahora no he tenido éxito ya que cuando intento hacer ping con las direcciones IP entre ellas no tengo respuesta, si tendrías alguna información que me podría ayudar te lo agradecería mi correo es …

    • Guillermo Delprato  El 13/07/2017 a las 14:46

      Hola Fernando, primero que nada el título del cuadro para escribir comentarios dice textualmente «Este espacio es para comentarios sobre la nota. No es un sitio de soporte» sólo oriento cuando puedo y tratando que el tema esté relacionado con la nota en cuestión
      Además sin datos es imposible ayudarte, puede ser desde la configuración de redes, las direcciones IP, los cortafuegos, y muchos motivos más
      Te sugiero recurras a algún foro de soporte de VMware, y además des datos para que puedan ayudarte
      Por último, en lugares públicos de soporte nunca se responde en forma dirigida a la dirección de correo, porque se es un lugar público es justamente para que la información sea pública y ayude a otros. He editado tu pregunta para hacer que tu dirección de correo no aparezca, ya que eso es lo que buscan los «robots» de Internet para crear las listas de spam

  • Pachu 99  El 15/07/2017 a las 19:27

    Muy buen trabajo Guillermo, excelente.
    Que video estás utilizando que podría estar interfiriendo con XP?

  • Juan  El 17/07/2017 a las 12:02

    Hola Guillermo espero me puedas dar una mano con este caso:
    Tengo una oficina compuesta por 8 usuarios en la cual el coordinador me pide que no puedan grabar nada en su equipo solo en una unidad de red creada en un srv-file02 y ademas que los puertos usb y discos duros este restringido que solo graben directamente en la unidad de red.
    Gracias por el aporte que nos brindas en tu blog.

  • Gera  El 20/10/2017 a las 19:46

    Gracias, 100% efectivo funcionando.

  • Nacho  El 28/12/2017 a las 08:11

    Muchas gracias por el tutorial y por el blog… Es una pasada la cantidad y calidad de la info.
    Respecto a este tema, cuando trato de hacer la conversion, me arroja este mensaje:

    PS C:\> convertto-mvmcvirtualharddisk -sourceliteralpath «C:\vm\Windows Server 2008 R2 x64\Windows Server 2008 R2 x64.vm
    dk» -vhdtype dynamicharddisk -vhdformat vhdx -destinationliteralpath «c:\vm\hyperv»
    convertto-mvmcvirtualharddisk : The entry 1 is not a supported disk database entry for the descriptor.
    En línea: 1 Carácter: 1
    + convertto-mvmcvirtualharddisk -sourceliteralpath «C:\vm\Windows Server 2008 R2 x …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : WriteError: (Microsoft.Accel…nversionService:DriveConversionService) [ConvertTo-MvmcVi
    rtualHardDisk], VmdkDescriptorParseException
    + FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskC
    ommand

    convertto-mvmcvirtualharddisk : Se han producido uno o varios errores.
    En línea: 1 Carácter: 1
    + convertto-mvmcvirtualharddisk -sourceliteralpath «C:\vm\Windows Server 2008 R2 x …
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : WriteError: (Microsoft.Accel…nversionService:DriveConversionService) [ConvertTo-MvmcVi
    rtualHardDisk], AggregateException
    + FullyQualifiedErrorId : DiskConversion,Microsoft.Accelerators.Mvmc.Cmdlet.Commands.ConvertToMvmcVirtualHardDiskCommand

    Sabes por donde pueden ir los tiros?

    Gracias de por adelantado!!

    • Guillermo Delprato  El 28/12/2017 a las 13:18

      Está dando error en la línea 1, así que si no hay error en la línea de comandos verifica la línea 1 de script
      También revisaría que el PowerShell se esté ejecutando como administrador
      Pero hay que revisar bien, no tengo idea :)

  • Nacho  El 28/12/2017 a las 15:31

    Guillermo, al final lo solucioné
    Seguí los pasos de esta web: https://stackoverflow.com/questions/37481737/error-when-converting-vmware-virtual-disk-to-hyperv
    Y problema resuelto.

    Muchas gracias por tus aportes!!

  • Julio Arias  El 02/12/2019 a las 18:42

    Buen día, hice la conversión pero no me funciono,mi duda es, en la carpeta tengo varios archivos *vmdk (server.vmdk, server-0.vmdk, server-0-s0001.vmdk) escogí la conversión fue exitosa pero no levanta el convertido en el HyperV

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.