Come convertire file OVA/OVF in Hyper-V VM
Microsoft Hyper-V è un hypervisor nativo per Windows, ovvero è possibile utilizzarlo per eseguire VM (VM) con diversi sistemi operativi guest. A differenza dei prodotti hypervisor di VMware, l’implementazione di una VM da un formato OVA non è possibile perché il formato di file OVA non è supportato in Hyper-V e non è possibile importare OVA in Hyper-V così com’è. Questo post del blog spiega i passaggi per convertire OVA in formato Hyper-V e implementare una VM.
Che cos’è OVA?
Un file OVA è un contenitore utilizzato per distribuire e implementare in modo più pratico VM in ambienti diversi. Le VM sono raggruppate in file OVA, che sono archivi in formato TAR, che possono essere preconfigurati per un’implementazione comoda e veloce.
OVA sta per Open Virtualization Archive o Open Virtual Appliance. Quando si importa una VM da OVA, il software hypervisor estrae il contenuto del file OVA e configura una VM in base alle impostazioni definite nel pacchetto OVA senza la necessità di creare e configurare manualmente ogni componente.
Un file OVA può essere considerato un archivio che contiene:
- Un’immagine disco virtuale come VMDK
- Un descrittore OVF che è un file di testo simile a XML
- File immagine DVD virtuale ISO
- MF – file manifest con le informazioni sui file inclusi nel pacchetto VM OVA o OVF
- Certificato
- Altri file
I file modello OVA sono indipendenti dalla piattaforma e supportati da hypervisor quali VMware ESXi, VMware Workstation, Oracle VirtualBox, QEMUe altri. A differenza degli hypervisor citati, Microsoft Hyper-V non supporta l’implementazione di macchine virtuali da modelli OVA/OVF e l’esportazione di macchine virtuali in modelli OVA.

Il flusso di lavoro per importare OVA in Hyper-V consiste in tre passaggi principali:
- Estrarre VMDK da OVA (estrarre un file del disco virtuale da un modello OVA).
- Convertire VMDK in VHD o VHDX.
- Creare una VM in Hyper-V e importare il disco virtuale esistente, ovvero il disco virtuale precedentemente convertito.
Come si può vedere, non esiste un convertitore universale da OVA a Hyper-V in grado di convertire direttamente OVA in Hyper-V.
Estrazione dei contenuti OVA
Estrarre il contenuto del modello OVA. È possibile aprire un file OVA come si aprono gli archivi tar o zip in un archiviatore come 7zip. Quando si estraggono i file da un modello OVA, si ottiene un modello OVF con i file (ovvero si converte OVA in OVF). Non è necessario estrarre il contenuto dal modello OVF, che di solito viene fornito in una directory separata insieme a un file del disco virtuale e al file di configurazione per il modello VM.
Creiamo la sottodirectory OVF in C:tempvm ed estraiamo il contenuto del modello OVA. Prima di tutto, è necessario estrarre VMDK da OVA in questa directory.

Conversione di un disco virtuale
Il secondo passo consiste nel convertire il disco virtuale dal formato VMDK al formato VHD o VHDX, supportato da Hyper-V. È possibile convertire il disco virtuale estratto con uno dei tre strumenti seguenti:
- qemu-img
- vboxmanage
- Microsoft Virtual Machine Converter
Qemu-img
Qemu-img è un’utilità gratuita per Windows che consente di convertire immagini di dischi virtuali in diversi formati di file. Questa utility è un’utilità a riga di comando creata dagli sviluppatori di QEMU.
- Scarica qemu-img da pagina web ufficiale.
- Decomprimi il contenuto dell’archivio scaricato in una directory personalizzata, ad esempio C:Programsqemu-img
- Aprire la riga di comando di Windows (CMD). È possibile farlo facendo clic su Avviare e digitando CMD.
- Vai alla directory in cui si trova qemu-img se non hai aggiunto l’ubicazione di questa utility al sistema operativo $PATH variabile:
cd C:Programsqemu-img - Esegui il comando per convertire un disco virtuale VMDK in VHDX:
qemu-img convert -p -f vmdk "C:TEMPVMovfWinXP-test-disk1.vmdk" -O vhdx -o subformat=dynamic "C:TEMPVMWinXP-HV.vhdx"Dove:
-p imposta per mostrare lo pavanzamento del processo.
-f è il fformato dell’immagine del disco virtuale di origine.
“C:TEMPVMovfWinXP-test-disk1.vmdk” è il percorso del disco virtuale di origine.
-O viene utilizzato per impostare il formato del ofile immagine del disco virtuale di output (vhdx in questo caso).
-o subformat=dynamic imposta il output VHDX, che in questo caso è un disco dinamico. Un disco virtuale VHDX può essere fisso o dinamico.
“C:TEMPVMWinXP-HV.vhdx” è il percorso di destinazione del file del disco virtuale di output.

Attendere che qemu-img termini la conversione del file VMDK estratto da OVA in Hyper-V VHDX. Il tempo necessario dipende dalle dimensioni del file del disco virtuale e dalle prestazioni del sottosistema di storage.
vboxmanage
Virtual Box Manager oppure vboxmanage è un’utilità da riga di comando fornita con VirtualBox, un hypervisor supportato da Oracle. È necessario installare VirtualBox per utilizzare vboxmanage, un’utilità multipiattaforma per Windows, Linux e macOS. L’utilità vboxmanage può eseguire più operazioni rispetto all’interfaccia utente grafica di VirtualBox ed è in grado di convertire dischi virtuali di diversi formati. Leggi il confronto VirtualBox vs Hyper-V per scoprire di più sulle funzioni e sui formati di disco virtuale supportati.
- Vai alla directory in cui è installato VirtualBox (in questo esempio utilizziamo il percorso di installazione predefinito):
cd "C:Program Files (x86)OracleVirtualBox" - Eseguire il comando per convertire un disco virtuale VMDK in formato VHD per Hyper-V:
VBoxManage.exe clonehd --format vhd "C:TEMPVMovfWinXP-test-disk1.vmdk" "C:TEMPVMWinXP-HV.vhd"
L’avanzamento del processo viene visualizzato nella console. Attendere che il processo di clonazione/conversione del disco virtuale termini.
Microsoft VM Converter
Un’altra soluzione consiste nell’utilizzare Microsoft VM Converter. Si noti che questo strumento non viene più aggiornato (ma è disponibile come contenuto archiviato). È possibile trovare il programma di installazione qui e provare a convertire OVA in Hyper-V VHD o VHDX.
- Installare Microsoft Virtual Machine Converter (MVMC) da un file scaricato.
- Aprire PowerShell in Windows. È possibile farlo facendo clic su Avviare e digitare PowerShell.
- Importare il modulo PowerShell fornito con il convertitore:
Import-Module “C:Program FilesMicrosoft Virtual Machine ConverterMvmcCmdlet.psd1" - Il comando per convertire un disco virtuale VMDK in un disco virtuale Hyper-V è:
ConvertTo-MvmcVirtualHardDisk -SourceLiteralPath "C:TEMPVMovfWinXP-test-disk1.vmdk" -DestinationLiteralPath "C:TEMPVMWinXP-HV2.vhd" -VhdType DynamicHardDisk -VhdFormat Vhdx
Se viene visualizzato l’errore “La voce 1 non è una voce del database del disco con supporto per il descrittore“, è necessario modificare il descrittore del disco virtuale. I dettagli sul convertitore Microsoft e sulla modifica del descrittore sono disponibili nel post del blog su la conversione delle VM VMware in VM Hyper-V.
Creazione di una nuova VM
Una volta convertito OVA in Hyper-V VHD o VHDX estraendo un file VMDK da un pacchetto OVA, è necessario creare una nuova VM Hyper-V e utilizzare il disco virtuale esistente, che è il nostro disco virtuale convertito. Leggi il post sul blog con la procedura dettagliata su come creare una nuova VM Hyper-V in Windows 10.
- Apri Hyper-V Manager sul computer host Windows.
- Fare clic con il pulsante destro del mouse sul nome host dell’host Hyper-V in Hyper-V Manager e fare clic su Nuovo > VM nel menu contestuale. Si aprirà la procedura guidata New Virtual Machine Wizard . Seguire i passaggi della procedura guidata e configurare una nuova VM secondo necessità fino al passaggio Connect Virtual Hard Disk .

- Al passaggio Connetti disco rigido virtuale , seleziona Usa un disco rigido virtuale esistente. Fare clic su Sfoglia e selezionare il disco virtuale ottenuto come risultato della conversione del disco virtuale spiegata nella sezione precedente. Nel nostro caso, selezioniamo E:VMsWinXP-HV.vhd, che abbiamo copiato in questa directory.

- Avviare la VM già creata utilizzando il disco virtuale Hyper-V convertito da un file VMDK, estratto dal file OVA. Potrebbe essere necessario installare Hyper-V Integration Services su un sistema operativo guest di questa VM.

Conclusione
Dopo aver effettuato l’implementazione di una VM in Hyper-V, non dimenticare di eseguire il backup della VM. Utilizza NAKIVO Backup & Replica per un backup veloce ed efficiente delle VM Hyper-V e VMware. Inoltre, la soluzione NAKIVO supporta il ripristino multipiattaforma per esportare i dischi virtuali direttamente da un backup al formato VMware o Hyper-V richiesto.