
Já que comentei no post anterior das desventuras de libvirt, então vou aproveitar e comentar também sobre como migrei uma VM de VMWare pra KVM. A versão era a 7 e eu apenas fiz shutdown da VM e selecionei pra exportar o disco, que veio em format vmx. Daí começou a migração.
Copiado o disco pra dentro da máquina onde ia rodar com KVM, converti pro formato qcow2. Usei o seguinte comand:
qemu-img convert -cpf vmdk -O qcow2 windows-ad1.vmdk windows-ad1.qcow2
Mas daí eu não conseguia fazer funcionar o boot: não achava TPM e depois tinha algum problema com UEFI.
Eu achei um link com uma receita pronta e usei. Como bom leitor de Internet, esqueci de salvar o link. Mas o comando foi o seguinte:
virt-install \
--virt-type kvm \
--name=win2k16-ad1 \
--os-variant=win10 \
--vcpus 4,sockets=1,cores=4,threads=1 \
--cpu host-passthrough \
--memory 8192 \
--features smm.state=on,kvm_hidden=on,hyperv_relaxed=on,hyperv_vapic=on,hyperv_spinlocks=on,hyperv_spinlocks_retries=8191 \
--clock hypervclock_present=yes \
--disk path=/var/lib/libvirt/images/windows-ad1.qcow2,size=100,format=qcow2,sparse=true,bus=sata,cache=writethrough,discard=unmap,io=threads \
--controller type=scsi,model=virtio-scsi \
--graphics spice \
--video model=qxl,vgamem=32768,ram=131072,vram=131072,heads=1 \
--channel spicevmc,target_type=virtio,name=com.redhat.spice.0 \
--channel unix,target_type=virtio,name=org.qemu.guest_agent.0 \
--network bridge=br0,model=virtio \
--input type=tablet,bus=virtio \
--metadata title='Win2k16-AD1' \
--tpm type=emulator,version=2.0,model=tpm-tis \
--boot loader=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd,loader.readonly=yes,loader.type=pflash,loader.secure=yes,nvram.template=/usr/share/OVMF/OVMF_VARS_4M.ms.fd,menu=on
Com isso migrei a máquina e botei de novo em pé pro pessoal de desenvolvimento usar pra tests com AD.
UPDATE: achei o link original.
https://github.com/sej7278/virt-installs/blob/master/win10.sh

Na firma, o time de desenvolvimento botou uma requisição pra mim pra ter uma máquina com VMWare ESXi 8 pra programar pra sua API. Pareceu coisa simples. Fui rodar no KVM e... bug. Não achava a interface de rede e não instalava.
A coisa só foi piorando porque o prazo foi ficando cada vez mais curto. A solução foi achar um laptop com placa de rede, o que não foi fácil, e instalar e deixar dentro da sala dos servidores.
Muito longe do que eu gostaria.
No começo eu tentei seguir os passos daqui:
https://jonathonreinhart.com/posts/blog/2015/11/20/installing-esxi-in-a-qemu-kvm-virtual-machine/
É um passo a passo bem didático, mas era pra versão 6. Essa nem existe mais pra download.
Com o laptop rodando, isso me deu o tempo que precisava pra pesquisar com mais cuidado. E acabei achando um link com uma dica que funcionou.
https://openterprise.it/2022/12/running-nested-vmware-esxi-8-0-host-under-kvm-hypervisor/
Eu então usei o formato sugerido no artigo, que cria uma interface de rede to tipo que suportada pelo VMWare.
virt-install --virt-type=kvm \
--name=vmware-esxi8 \
--ram 8192 \
--vcpus=4 \
--virt-type=kvm \
--hvm \
--cdrom /ISO/VMware-VMvisor-Installer-8.0U3e-24677879.x86_64.iso \
--network network:default,model=vmxnet3 \
--graphics vnc \
--video qxl \
--disk pool=default,size=32,sparse=true,bus=sata,format=qcow2 \
--boot cdrom,hd \
--noautoconsole \
--force \
--cpu host-passthrough \
--os-variant linux2020
Agora tenho funcionando como esperado e vou planejar o desligamento do tal laptop. O pessoal do suporte ficará feliz.