En corto
Descarga Disk2vhd o ejecútalo directo:
\\live.sysinternals.com\tools\disk2vhd.exe.Como administrador: marca Use Vhdx y Use Volume Shadow Copy, selecciona todos los volúmenes del disco del sistema (incluida la partición System Reserved o la EFI System Partition), elige un destino en otro disco o un recurso de red, y Create.
Por línea de comandos (todo el disco, útil para scripts):
1disk2vhd * D:\p2v\server01.vhdxdisk2vhd /?muestra los modificadores equivalentes a las casillas en la versión actual.
Resultado: un .vhdx por disco físico, arrancable en Hyper-V y convertible para Proxmox/KVM.
Qué hace
Disk2vhd (Sysinternals, versión 2.02 de 2021) crea una instantánea con Volume Shadow Copy de los volúmenes que marques y la vuelca a un VHD o VHDX. Por eso se puede ejecutar con el sistema en uso: la copia es consistente al instante de la instantánea aunque el servidor siga escribiendo. Conserva la tabla de particiones del disco (MBR o GPT) y copia solo los datos de los volúmenes seleccionados, así que puedes llevarte el sistema y dejar fuera un disco de datos.
Corre en Vista/Server 2008 en adelante, x86 y x64.
Antes de crear la imagen
- Espacio: el VHDX es dinámico y crece hasta el tamaño de los datos usados. El destino debe estar en otro disco; sobre el mismo que conviertes funciona, pero lento.
- BitLocker apagado en los volúmenes a convertir, y descifrado completo. Disk2vhd no soporta volúmenes cifrados.
- Hibernación fuera (
powercfg /h off):hiberfil.syspesa lo que la RAM y no sirve de nada en la VM. - Herramientas de hardware fuera: utilidades de RAID, teaming de NIC, agentes del fabricante; en la VM solo estorban.
- Drivers para el destino: si vas a KVM/Proxmox, instala antes los drivers virtio-win en la máquina física (el instalador
virtio-win-guest-tools). Windows arranca en un hardware nuevo solo si ya tiene el driver del controlador de disco; si no puedes instalarlos antes, arranca la VM con SATA/IDE y cambia a virtio después. - Discos dinámicos: convierte a básicos antes. Disk2vhd los copia, pero el arranque desde LDM en otra máquina es una fuente de problemas.
Arrancar la imagen
Hyper-V
| Disco de origen | VM |
|---|---|
| MBR / BIOS | Generación 1, disco conectado como IDE (así lo pide la documentación de Disk2vhd) |
| GPT / UEFI | Generación 2, disco SCSI; Secure Boot apagado si el Windows es anterior a 8.1 |
Al primer arranque Windows detecta el hardware nuevo e instala lo que tenga; los Integration Services completan el resto.
Proxmox / KVM
| |
Cuando arranque, instala virtio-win, apaga, cambia el disco a virtio0 o scsi0 con virtio-scsi y vuelve a arrancar. La CPU host es lenta con Windows; ese post explica por qué x86-64-v2-AES.
Si no arranca
Windows suele recuperar el arranque desde el ISO de instalación: Reparar el equipo → Símbolo del sistema:
| |
En UEFI, bcdboot C:\Windows /s S: /f UEFI con la ESP montada en S: (diskpart → select disk 0, list partition, select partition 1, assign letter=S).
Trampas
- No montes el VHDX en la máquina de origen si piensas arrancarlo: Windows le cambia la firma de disco para no chocar con el original, y el BCD, que referencia discos por firma, deja de encontrar el disco de arranque. Es el aviso más importante de la documentación.
- Dos máquinas iguales en la red: la VM es un clon con el mismo nombre, SID e IP. No las enciendas a la vez en la misma red, y si es miembro de un dominio, decide cuál se queda.
- Activación: el cambio de hardware dispara la reactivación; las licencias OEM no son transferibles a una VM según los términos de Microsoft.
- El límite de 127 GB que menciona la documentación es de Virtual PC; Hyper-V y KVM no lo tienen (VHDX llega a 64 TB).
- Linux no se convierte con esto; ahí es
dd, Clonezilla oqemu-imgsobre el disco.
Ver también
- Windows lento en Proxmox con CPU host
- Plantillas cloud-init en Proxmox — el camino inverso: VMs nuevas desde imagen