Ambiente
- Server Virtualbox, host Windows 10 64bit La VM ‘Windows 7.vdi’ da esportare in VMware ESXi .
- Server ESXi, 192.168.0.252 . Utilizziamo la licenza gratuita di ESXi.
- Workstation di gestione.
Strumenti
- Strumento di gestione della riga di comando VBoxManage,
- Strumento Ovftool di VMWare, gratuito ma è necessario registrarsi e accedere per scaricarlo.
Primo Passo: Esportare la vm ‘Windows 7’ in Open Virtualization Archive (OVA).
Eseguire il seguente comando, da command shell, dal computer dove è installato Virtualbox e dove risiede la vm da esportare, che nel mio caso è:
cd "C:\Users\GIDALO\VirtualBox VMs\Windows 7"
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" export "Windows 7" -o "Windows 7.ova"
Terminato l’esportazione sul computer host dove è installato ovftool, convertiamo il file appena creato da ova in ovf più vmdk con il seguente comando.
"C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" --lax "Windows 7.ova" "Windows 7.ovf"
Verranno creati due nuovi file ‘Windows 7.ovf’ e ‘Windows_7-disk1.vmdk’.
Ora dobbiamo editare il file ‘Windows 7.ovf’ e variare alcuni dati per renderlo compatibile con VMware.
Nel file ovf cambiamo il tipo di sistema da ‘virtualbox 2.2’ a ‘vmx-07’.
<vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>
in
<vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType>
Sostituire il controller SATA con un controller SCSI.
<Item> <rasd:Address>0</rasd:Address> <rasd:Caption>sataController0</rasd:Caption> <rasd:Description>SATA Controller</rasd:Description> <rasd:ElementName>sataController0</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:ResourceSubType>AHCI</rasd:ResourceSubType> <rasd:ResourceType>20</rasd:ResourceType> </Item>
in
<Item> <rasd:Address>0</rasd:Address> <rasd:Caption>SCSIController</rasd:Caption> <rasd:Description>SCSI Controller</rasd:Description> <rasd:ElementName>SCSIController</rasd:ElementName> <rasd:InstanceID>5</rasd:InstanceID> <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType> <rasd:ResourceType>6</rasd:ResourceType> </Item>
Salviamo le modifiche.
PS. Dal momento che abbiamo cambiato ‘Windows 7.ovf’ il checksum fallirà.
Eliminare il file ‘Windows 7.mf’ per evitare errore in fase di importazione su VMware, tipo: “Error: SHA1 digest of file Windows 7.ovf does not match manifest”
Ora inseriramo il file ‘Windows 7.ovf’ e l’immagine disco associata ‘Windows_7-disk1.vmdk’ nel server ESXi utilizzando il tools ovftool di VMWare.
"C:\Program Files\VMware\VMware OVF Tool\ovftool.exe" --net:"NAT=VM Network" -ds=datastoreXX "Windows 7.ovf" vi://192.168.0.252
NB. dove net=VM Network è il tipo di rete e ds=datastoreXX è il nome disco sul server ESXi.
Opening OVF source: Windows 7.ovf
The manifest validates
Accept SSL fingerprint (AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA:AA) for host 192.168.0.252 as target type.
Fingerprint will be added to the known host file
Write 'yes' or 'no'
yes
Enter login information for target vi://192.168.0.252/
Username: root
Password: **********
Opening VI target: vi://root@192.168.0.252:443/
Deploying to VI: vi://root@192.168.0.252:443/
Transfer Completed
Warning:
- No manifest file found.
- No manifest entry found for: 'Windows_7-disk1.vmdk'.
Completed successfully
In caso di errori tipo:
Error: OVF Package is not supported by target: - Line 62: OVF hardware element 'ResourceType' with instance ID '6': No support for the virtual hardware device type '35'. Warning: - No manifest file found. Completed with errors
Verificate e editate il file ‘ovf’ per adattarlo a VMware.
Accedere al server VMWare e avviare la VM.
Se è andato tutto bene funzionerà 😉