1.1K
Si ejecuta máquinas virtuales en VMware ESXi/Workstation y Microsoft Hyper-V, en algunos casos es posible que deba convertir una máquina virtual de VMware al formato Hyper-V. Puede usar diferentes herramientas de migración V2V para esto. Sin embargo, es mucho más rápido simplemente convertir el archivo VMDK de la máquina virtual de VMware al formato VHDX. En este artículo, veremos varias formas de convertir VMDK a VHDX.
Convierta VMDK a VHDX con StartWind Converter
Una utilidad StartWind Converter de terceros le permite convertir máquinas virtuales de VMware ESXi a Hyper-V.
Con la herramienta gratuita StarWind V2V Converter, puede convertir entre los siguientes formatos de disco duro virtual:
- .vmdk (VMware);
- .vhd y .vhdx (Hyper-V);
- .img.
Descargue la utilidad StartWind Converter (se requiere registro gratuito) e instale la herramienta en su computadora ejecutando el startwind.exe archivo.
StartWind Converter le permite conectarse de forma remota a VMware ESXi y realizar una conversión en línea de una máquina virtual e importarla inmediatamente a un servidor Hyper-V. Para hacer esto, seleccione el Servidor VMware ESXi remoto opción.
También puede convertir un archivo VMDK local (por ejemplo, un archivo de una máquina virtual VMware Workstation) al formato VHDX. Para hacer esto, seleccione Archivo local > especifique el archivo VMDK de origen y seleccione el formato de imagen de destino VHD/VHDX (Disco Duro Virtual de Microsoft).
Nota. Consulte nuestro tutorial sobre cómo configurar el inicio automático de VM en VMware ESXi.
Especifique el archivo de destino.
Ahora puede adjuntar el disco VHDX resultante a la máquina virtual Hyper-V.
¿Cómo convertir VMDK a disco VHDX usando PowerShell?
Puede usar un módulo especial de PowerShell para convertir discos virtuales de VMware (vmdk) al formato Hyper-V (vhdx). Descargue e instale el Convertidor de máquinas virtuales de Microsoft módulo en su computadora.
Abra una consola de PowerShell como administrador e importe el módulo MVMC en su sesión:
Import-Module 'C:\Program Files\Microsoft Virtual Machine Converter\MvmcCmdlet.psd1'
Para convertir su archivo VMDK al formato VHDX, ejecute el comando:
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:\SharedVMDK\shareddisk01.vmdk" -VhdType DynamicHardDisk -VhdFormat vhdx -destination C:\VHD
Después de ejecutar el comando, el archivo shareddisk01.vhdx aparecerá en el directorio de destino. Puede crear una nueva máquina virtual Hyper-V a partir de ella o agregarla a una máquina virtual existente.
Nota. Aprenda a corregir el error de Hyper-V: no se pudo iniciar la máquina virtual porque el hipervisor no se está ejecutando.
En nuestro caso, la conversión de un VMware VMDK de 33 GB a VHDX tomó alrededor de una hora.
En algunos casos, al convertir un disco VMDK mediante ConvertTo-MvmcVirtualHardDisk, puede aparecer un error:
ConvertTo-MvmcVirtualHardDisk: la entrada 0000000-0000-0000-0000-00000000 no es una entrada de base de datos de disco admitida para el descriptor.
El problema es que había una entrada en el descriptor del archivo VMDK que Microsoft Converter no pudo reconocer. Para corregir el error, debe eliminar las entradas no reconocidas del descriptor de imagen de disco.
Para ello, descargue el dsfok herramienta (https://web.archive.org/web/20190910101150/http://members.ozemail.com.au/%7Enulifetv/freezip/freeware/dsfok.zip).
Luego extraiga el descriptor del archivo VMDK con el comando:
dsfo.exe "C:\SharedVMDK\shareddisk01.vmdk" 512 1024 "C:\SharedVMDK\ shareddisk01_descriptor.txt"
Abra el archivo shareddisk01_descriptor.txt con Notepad++ y busque las líneas que contienen la entrada que aparece en el error ConvertTo-MvmcVirtualHardDisk. En nuestro ejemplo, necesitamos encontrar líneas con la entrada 0000000-0000-0000-0000-00000000.
referente. Consulte nuestro artículo sobre RVTools.
Comente las líneas con este valor agregando un signo # al comienzo de la línea. En este ejemplo, comentamos las líneas:
# ddb.uuid.parent = "0000000-0000-0000-0000-00000000" # ddb.uuid.parentmodification = "0000000-0000-0000-0000-00000000"
Aplique el nuevo descriptor al archivo VMDK:
dsfi.exe "C:\SharedVMDK\shareddisk01.vmdk" 512 1024 "C:\SharedVMDK\ shareddisk01_descriptor.txt"
Intente ejecutar el comando ConvertTo-MvmcVirtualHardDisk nuevamente. Si vuelve a aparecer el error La entrada xxx no es una entrada de base de datos de disco admitida para el descriptor, debe extraer el descriptor nuevamente y comentar las líneas con las entradas problemáticas. Repita los pasos varias veces hasta que ConvertTo-MvmcVirtualHardDisk complete la conversión de VMDK a VHDX sin errores.
Use Qemu-img para convertir entre imagen de disco VMDK y VHDX
En Linux, puede utilizar el qemu-img herramienta para convertir imágenes de disco entre formatos QCOW2 (KVM, Xen), RAW, VMDK (VMware), VHD/VHDX (Hyper-V), VDI (VirtualBox).
Use el siguiente comando para convertir una imagen de disco de VMDK a VHDX:
$ qemu-img convert -O vhdx /data/sourceimg.vmdk /data/outputimg.vhdx
Puede descargar el puerto qemu-img para Windows/Windows Server x64 aquí.
Para convertir una imagen de disco VMDK en Windows, ejecute el comando:
qemu-img.exe convert source.vmdk -O vhdx -o subformat=dynamic output.vhdx
Para obtener información de la imagen del disco:
qemu-img.exe info output.vhdx
Conecte el disco VHDX convertido a la máquina virtual Hyper-V
Finalmente, puede adjuntar el disco VHDX convertido a la máquina virtual Hyper-V.
- Abra la consola del Administrador de Hyper-V;
- Seleccione Nuevo > Máquina virtual;
- Especifique un nombre y una ubicación para los archivos de la máquina virtual;
- Seleccione la generación de VM (se recomienda la Generación 2);
- Especifique el tamaño de RAM para la máquina virtual en el Asignar memoria pantalla;
- En el paso Conectar disco duro virtual, seleccione el Uso y disco duro virtual existente elemento y localice el archivo VHDX que recibió en los pasos anteriores;
- Una vez creada la máquina virtual, enciéndala.
VMware y Microsoft usan diferentes herramientas de integración de máquinas virtuales para brindar la mejor experiencia de usuario y máquina virtual. VMware utiliza herramientas de VMware y Microsoft > Servicios de integración de Hyper-V. Debe eliminar VMtools de la VM e instalar los servicios de integración de Hyper-V.
Relacionado. Aprenda a compartir un disco entre máquinas virtuales en VMWare ESXi.
Ahora debe desinstalar VMware Tools y los controladores de dispositivos en el sistema operativo invitado:
- En Windows, seleccione Programas > Desinstalar un programa > seleccione Herramienta de VMware > Eliminar. También puede usar el script de PowerShell para forzar la eliminación de las herramientas, los archivos de programa y los servicios de Windows de VMware (https://gist.github.com/broestls/f872872a00acee2fca02017160840624_)
- En Linux, use un script de Perl para desinstalar VMTools:
/usr/bin/vmware-uninstall-tools.pl
Ahora instale Hyper-V Integration Services en el sistema operativo invitado:
Ventanas:
- Descargue el archivo CAB de Windows Update con componentes de integración de Hyper-V (KB 3063109 – https://support.microsoft.com/en-us/topic/hyper-v-integration-components-update-for-windows-virtual-machines-8a74ffad-576e-d5a0-5a2f-d6fb2594f990)
- Luego instale el archivo CAB usando PowerShell:
$HyperVCab="C:\Downloads\windows6.2-hypervintegrationservices-x86.cab" Add-WindowsPackage -Online -PackagePath $HyperVCab
Instalación de Hyper-V LIS (Linux Integration Services) en Ubuntu:
- Primero agregue módulos hv_modules a initramfs-tools:
# echo 'hv_vmbus' >> /etc/initramfs-tools/modules # echo 'hv_storvsc' >> /etc/initramfs-tools/modules # echo 'hv_blkvsc' >> /etc/initramfs-tools/modules # echo 'hv_netvsc' >> /etc/initramfs-tools/modules
- Luego instale los componentes de integración de Hyper-V usando su administrador de paquetes:
# apt -y install linux-virtual linux-cloud-tools-virtual linux-tools-virtual # update-initramfs –u