Como migrar VMs para o Proxmox VE: importação direta do VMware ESXi, discos VHDX e VMDK, outro Proxmox ou KVM, e ajustes após o boot.
Para que serve
Este artigo mostra como migrar VMs para o Proxmox VE do seu servidor dedicado, trazendo máquinas virtuais de outro ambiente: direto de um host VMware ESXi pelo assistente de importação, a partir de discos Hyper-V (VHDX) ou VMware (VMDK) exportados, e a partir de outro servidor Proxmox/KVM em outro provedor. Para planejar a janela de troca, veja também o artigo «Migração de servidor com o mínimo de downtime: checklist para sair de outro provedor (TTL de DNS, sincronização final e rollback)».
Pré-requisitos
- Proxmox VE 8.2 ou superior (o assistente de importação do ESXi chegou nessa versão). Recomenda-se estar na versão mais recente do 9.x.
- Espaço livre no storage de destino maior que o tamanho dos discos das VMs, mais uma área temporária para arquivos exportados (quando o método exigir).
- Backup atualizado das VMs de origem.
- Lista com a configuração de cada VM: CPU, RAM, discos, IPs, gateway e DNS, e se a VM usa BIOS ou UEFI.
- ISO do virtio-win no Proxmox, para VMs Windows.
Antes de migrar VMs para o Proxmox: preparação na origem
Os itens abaixo valem para todos os métodos.
- Windows: instale antes os drivers VirtIO (
virtio-win-gt-x64.msi) ainda na origem. Assim o Windows já terá o driver quando subir no Proxmox. Desinstale o VMware Tools ou os serviços de integração do Hyper-V depois que a VM estiver funcionando no destino, ou antes da migração, se possível. - Linux: garanta que os módulos VirtIO estão no initramfs (em Debian/Ubuntu normalmente já estão; em RHEL e derivados, rode
dracut -f --add-drivers "virtio_scsi virtio_blk virtio_net virtio_pci"). - Criptografia de disco com vTPM (BitLocker, por exemplo): suspenda ou desative antes. O estado do vTPM do VMware não é migrado, e a VM pode pedir a chave de recuperação.
- Desligue a VM na origem antes de copiar os discos, para garantir consistência.
Método 1: importar direto do VMware ESXi
- No Proxmox, vá em Datacenter → Storage → Add → ESXi. Informe um ID (ex.:
esxi-antigo), o endereço do host ESXi, usuário (ex.:root) e senha. Se o ESXi usar certificado autoassinado, marque Skip Certificate Verification. O assistente foi testado com ESXi 6.5 a 8.0. - Conecte-se diretamente ao host ESXi, não ao vCenter: pelo vCenter a importação fica muito mais lenta.
- O novo storage aparece na árvore à esquerda e lista as VMs do ESXi. Selecione a VM desligada e clique em Import.
- No assistente, escolha o VMID, o storage de destino (ex.: o pool NVMe) e o formato. Na aba Advanced, ajuste o controlador de disco e a placa de rede: para Windows sem drivers VirtIO já instalados, mantenha o disco em SATA no primeiro boot; para Linux ou Windows já preparado, use VirtIO SCSI single e placa VirtIO na
vmbr0. - Opcionalmente marque Live Import: a VM liga no Proxmox enquanto os dados ainda são copiados, reduzindo a parada. Se a importação falhar no meio, tudo o que a VM gravou desde o início é perdido; use só com boa conexão até o ESXi.
A conexão entre o Proxmox e o ESXi trafega pela internet se o ESXi estiver em outro provedor. Libere o acesso HTTPS (443) do ESXi apenas para o IP do seu servidor Proxmox durante a migração.
Método 2: importar discos VHDX (Hyper-V) ou VMDK (VMware exportado)
- Crie a VM vazia no Proxmox com CPU, RAM e rede equivalentes, sem disco. Para VMs Hyper-V Geração 2 ou VMware com UEFI, use BIOS OVMF (UEFI) com EFI Disk; para Geração 1 ou BIOS legado, use SeaBIOS.
- Copie os arquivos para o Proxmox (ex.: para
/var/lib/vz/import/ou outro diretório com espaço), viascp,rsyncou WinSCP:
No VMware, exporte em OVF/VMDK. Use o arquivo descritorrsync -avP --sparse usuario@origem:/caminho/servidor.vhdx /var/lib/vz/import/.vmdkjunto com o-flat.vmdk. - Importe o disco para a VM (exemplo VMID 120, storage
nvme):
O disco entra como Unused Disk. Se preferir converter antes, oqm disk import 120 /var/lib/vz/import/servidor.vhdx nvmeqemu-imgaceita VHDX, VHD e VMDK:qemu-img convert -p -f vhdx -O raw servidor.vhdx servidor.raw qemu-img info servidor.raw - Para pacotes OVF do VMware, você pode criar a VM e importar os discos de uma vez:
qm importovf 121 /var/lib/vz/import/servidor.ovf nvme - Anexe o disco. Em VM → Hardware, dê duplo clique no Unused Disk e escolha o barramento (SATA para Windows ainda sem VirtIO; SCSI para os demais). Em Options → Boot Order, marque esse disco como primeiro.
Método 3: vindo de outro Proxmox ou KVM em outro provedor
- Origem Proxmox: faça um backup com
vzdumpna origem, copie o arquivo.vma.zstpara/var/lib/vz/dump/no servidor novo e restaure comqmrestore. Se a origem já usa Proxmox Backup Server, basta adicionar o mesmo PBS no novo servidor e restaurar de lá. - Origem KVM/libvirt ou outro provedor com imagens qcow2/raw: copie o arquivo de disco e use
qm disk importcomo no Método 2. - Sem acesso ao hypervisor (só à VM): é possível clonar o disco por rede com
ddvia SSH ou usar ferramentas de backup de imagem do próprio sistema. É um processo mais delicado; teste antes com uma VM de menor importância. Se só os dados precisam vir, veja também o artigo «Como migrar arquivos entre servidores com rsync (e robocopy no Windows)».
Depois do primeiro boot
- Windows: instale/atualize o
virtio-win-gt-x64.msie o QEMU Guest Agent. Para trocar o disco de SATA para VirtIO SCSI, adicione um disco SCSI temporário de 1 GB, ligue a VM para o Windows carregar o driver, desligue, desanexe o disco principal, reanexe como SCSI, ajuste a ordem de boot e remova o disco temporário. - Rede: a placa nova tem outro nome/MAC. No Linux, o nome costuma mudar (ex.:
ens192viraens18); ajuste netplan ou/etc/network/interfaces. No Windows, configure o IP na nova placa e remova a antiga oculta, se o Windows reclamar de IP duplicado. - IPs: ao mudar de provedor, os IPs públicos mudam. Use IPs do seu bloco /28 e atualize DNS, firewalls e licenças atreladas a IP.
- Instale o
qemu-guest-agentno Linux (apt install qemu-guest-agent) e ative a opção Qemu Agent na VM.
Como saber se funcionou
- A VM inicia sem tela azul (Windows) ou sem cair no shell de emergência (Linux).
qm agent <VMID> pingresponde, e o resumo da VM mostra os IPs.- Aplicações e serviços respondem nos novos IPs; compare o tamanho dos dados com a origem.
Problemas comuns
Windows com tela azul INACCESSIBLE_BOOT_DEVICE
Falta o driver do controlador de disco. Mude o disco para SATA, inicie, instale os drivers VirtIO e depois faça a troca para SCSI.
A VM não encontra o sistema para dar boot
Firmware incompatível: VMs UEFI precisam de OVMF e as de BIOS legado precisam de SeaBIOS. Ajuste em VM → Hardware → BIOS e confira a ordem de boot.
Importação do ESXi muito lenta
Verifique se está conectado no host ESXi e não no vCenter, e a banda entre os servidores. Para muitas VMs grandes, exportar os discos e copiar com rsync pode ser mais previsível.
Windows pede reativação
A troca de hardware virtual pode exigir reativar a licença. Tenha a chave do produto em mãos. Veja também o artigo «Como ativar o Windows Server: licenciamento, conversão da avaliação para varejo e RDS CALs».
Perguntas frequentes
O Proxmox importa VMs do VMware automaticamente?
Sim. A partir do Proxmox VE 8.2, o storage do tipo ESXi lista as VMs do host e um assistente faz a importação, inclusive com Live Import.
Como converter VHDX ou VMDK para o Proxmox?
Use qm disk import, que aceita esses formatos direto, ou converta antes com qemu-img convert.
Por que o Windows dá tela azul depois da migração?
Normalmente é o erro INACCESSIBLE_BOOT_DEVICE, por falta do driver VirtIO. Inicie com o disco em SATA, instale os drivers e só depois troque para SCSI.
Os IPs das VMs mudam ao migrar de provedor?
Sim. As VMs passam a usar IPs do seu bloco /28; atualize DNS, regras de firewall e licenças atreladas a IP.
Precisa de ajuda?
Se a VM não iniciar após a migração, abra um ticket com o sistema operacional da VM, o método usado e a saída de qm config <VMID>.
