{
"meta": {
"title": "Importare una VM da OVA / OVF | Documentazione ProxMenux",
"description": "Importa una VM VMware ESXi / Workstation / Fusion / VirtualBox / ProxMenux in Proxmox VE. Estrae automaticamente OVA, analizza i metadati OVF, crea la VM e importa ogni disco nel formato nativo dello storage (qcow2 / raw).",
"ogTitle": "Importare una VM da OVA / OVF | Documentazione ProxMenux",
"ogDescription": "Importa in Proxmox le VM esportate da VMware, VirtualBox o ProxMenux. I dischi vengono convertiti automaticamente nel formato nativo dello storage."
},
"header": {
"title": "Importa VM da OVA / OVF",
"description": "Importa un pacchetto OVA / OVF in Proxmox VE: estrae gli archivi OVA, legge dal descrittore OVF vCPU, memoria, numero di schede di rete e riferimenti ai dischi, poi crea la VM e importa ogni disco con qm importdisk nello storage scelto. Compatibile con le esportazioni VMware (ESXi / Workstation / Fusion), VirtualBox e ProxMenux.",
"section": "Utilità"
},
"intro": {
"title": "Cosa fa",
"body": "Crea una VM completa in Proxmox da un pacchetto portabile. Dopo l’importazione è pronta per l’avvio; si consigliano alcuni controlli e regolazioni di modello della scheda di rete, firmware e tipo di sistema operativo per prestazioni e compatibilità."
},
"picker": {
"heading": "Selettore di file",
"intro": "Al lancio, lo script offre due directory preimpostate o un percorso manuale:",
"items": [
"/var/lib/vz/dump — la directory di backup Proxmox vzdump predefinita.",
"/var/lib/vz/template/iso — utile se vi hai trasferito il file OVA tramite sftp.",
"Percorso manuale — per i file OVA / OVF altrove sull'host."
],
"outro": "Quindi elenca ogni file .ova e .ovf nella directory selezionata.",
"imageAlt": "Finestra di selezione del file della VM da importare"
},
"flow": {
"heading": "Come funziona l'importazione",
"nodes": [
{
"label": "Ingresso OVA / OVF",
"detail": ".ova → tar xf in\n /tmp/.proxmenux-import-*\n.ovf → usa il file sul posto",
"variant": "source"
},
{
"label": "Analisi e finestre di dialogo",
"detail": "AWK legge OVF\n(nome, vCPU, RAM, NIC,\ndischi). Scelta di\nVMID / storage / bridge",
"variant": "bridge"
},
{
"label": "qm create + importdisk",
"detail": "qm create $VMID\nqm importdisk\n(VMDK → formato dello storage)\nqm set --scsiN",
"variant": "target"
}
]
},
"ovf": {
"heading": "Analisi OVF",
"intro": "Un parser gawk legge il descrittore OVF ed estrae i metadati della VM. Usa match() con tre argomenti, una funzione specifica di gawk non supportata da mawk, il awk predefinito in Debian / Proxmox. Se manca, alla prima importazione gawk viene installato con ensure_repositories + install_single_package; le importazioni successive non richiedono questo passaggio. Campi estratti:",
"headerField": "Campo",
"headerSource": "Fonte in OVF",
"headerDefault": "Predefinito se manca",
"rows": [
{
"field": "Nome VM",
"source": " (prima corrispondenza)",
"default": "imported-vm"
},
{
"field": "Conteggio vCPU",
"source": "RASD ResourceType 3 → VirtualQuantity",
"default": "1"
},
{
"field": "Memoria (MiB)",
"source": "RASD ResourceType 4 → VirtualQuantity",
"default": "1024"
},
{
"field": "Numero di schede di rete",
"source": "conteggio di ResourceType 10",
"default": "1"
},
{
"field": "Tipo di sistema operativo",
"source": "/Linux/ o /Windows/ nella descrizione",
"default": "other"
},
{
"field": "Riferimenti del disco",
"source": "attributi href che terminano in .vmdk / .qcow2 / .img / .raw",
"default": "Nessuno (importazione annullata)"
}
]
},
"memWarn": {
"title": "Ambiguità delle unità di memoria",
"body": "Il parser converte le unità di memoria riconosciute in MiB, inclusi byte, KiB, MiB, GiB e le etichette testuali supportate. Le unità mancanti o sconosciute sono trattate come MiB. Dopo l’importazione, confronta qm config $VMID | grep memory con la RAM documentata della VM di origine e, se serve, correggila con qm set $VMID --memory <MiB>."
},
"dialog": {
"heading": "Sequenza delle finestre di importazione",
"items": [
"VMID — propone il prossimo identificativo disponibile (pvesh get /cluster/nextid).",
"Nome della VM — usa il nome letto nell’OVF; puoi modificarlo.",
"Storage di destinazione — elenco degli storage con contenuto images, ottenuto da pvesm status -content images.",
"Bridge di rete — elenco dei bridge da ip link show type bridge. Se ne esiste uno solo, viene scelto automaticamente; il valore predefinito è vmbr0.",
"Conferma — riepilogo con VMID, nome, vCPU, memoria, schede di rete, storage, bridge e dischi da importare. Annullando qui non viene modificato nulla."
]
},
"create": {
"heading": "Creazione VM",
"intro": "Dopo la conferma, lo script viene eseguito:",
"code": "qm create $VMID \\\n --name \"$NAME\" \\\n --memory $MEMORY \\\n --cores $VCPU \\\n --ostype $OSTYPE \\\n --scsihw lsi \\\n --net0 e1000,bridge=$BRIDGE\n\n# For each additional NIC:\nqm set $VMID --netN e1000,bridge=$BRIDGE",
"outro": "Il controller SCSI predefinisce lsi (LSI Logic) per la compatibilità VMDK. NIC di default a e1000 (compatibilità universale) sul ponte scelto."
},
"diskLoop": {
"heading": "loop di importazione del disco",
"intro": "Per ogni riferimento del disco nell'OVF:",
"items": [
"qm importdisk $VMID $disk_path $STORAGE — importa il disco in un formato supportato dallo storage di destinazione e crea una voce unusedN: nella configurazione della VM.",
"Lo script cerca con grep nella configurazione il riferimento unusedN appena creato.",
"qm set $VMID --scsiN $unused_disk — collega il disco come scsi0, scsi1, ...",
"qm set $VMID --delete unusedN — elimina il marcatore inutilizzato ormai ridondante."
],
"outro": "Boot è impostato sul primo disco SCSI: qm set $VMID --boot c --bootdisk scsi0."
},
"postImport": {
"heading": "Regolazioni consigliate dopo l’importazione",
"intro": "L’importazione usa impostazioni ampiamente compatibili per favorire l’avvio al primo tentativo. Dopo aver verificato l’avvio, puoi scegliere impostazioni più efficienti dall’interfaccia Proxmox o dalla CLI:",
"headerSetting": "Impostazione",
"headerDefault": "Predefinito dopo l'importazione",
"headerRecommended": "Consigliato se supportato dal sistema guest",
"rows": [
{
"setting": "Modello NIC",
"default": "e1000",
"recommended": "VirtIO (molto più veloce, richiede un driver nel sistema guest)"
},
{
"setting": "Controller SCSI",
"default": "LSI",
"recommended": "VirtIO SCSI single (Linux recente o Windows con driver VirtIO)"
},
{
"setting": "Firmware (BIOS / UEFI)",
"default": "Predefinizione Proxmox (BIOS)",
"recommended": "Usa il firmware della VM di origine; una scelta errata impedisce l’avvio"
},
{
"setting": "QEMU agente ospite",
"default": "Disattivato",
"recommendedRich": "Attiva e installa qemu-guest-agent nel sistema guest (backup migliori e rilevamento degli IP)"
},
{
"setting": "Tipo di sistema operativo",
"default": "l26 / win10 / other (euristica)",
"recommended": "Verificare contro il sistema operativo ospite effettivo"
},
{
"setting": "Schermo",
"default": "Predefinito",
"recommended": "VirtIO-GPU o SPICE (migliori prestazioni della console)"
}
]
},
"fwWarn": {
"title": "Firmware mismatch = nessun boot",
"body": "Se la VM di origine usava UEFI ma Proxmox la crea con BIOS, o viceversa, il sistema guest non trova un disco avviabile. Controlla FirmwareType / firmware nell’OVF o nella VM originale e usa la stessa scelta in Proxmox: qm set $VMID --bios ovmf per UEFI; il valore predefinito per BIOS è seabios."
},
"notImported": {
"heading": "Cosa NON viene importato",
"items": [
"Bridge di rete specifici — viene conservato solo il numero di schede. Tutte usano il bridge scelto durante l’importazione.",
"Modello della scheda di rete — usa e1000 come valore predefinito.",
"Tipo di firmware BIOS / UEFI — usa il valore predefinito Proxmox, BIOS.",
"Configurazione del passthrough PCI.",
"TPM (vTPM).",
"Unità cloud-init.",
"Snapshots — solo lo stato attuale.",
"USB / dispositivi seriali / paralleli dichiarati nell'OVF.",
"VM tag / note / start-on-boot opzioni."
]
},
"troubleshoot": {
"heading": "Risoluzione dei problemi",
"orphanTitle": "La VM è stata creata ma l’importazione dei dischi è fallita: rimane una VM parziale",
"orphanIntro": "Se l’importazione fallisce, lo script propone di eliminare la VM parziale e i dischi importati. Se hai rifiutato o l’eliminazione automatica è fallita, esamina la VM ed eliminala manualmente con:",
"orphanCode": "qm destroy $VMID --destroy-unreferenced-disks 1",
"orphanOutro": "Correggi poi la causa, probabilmente lo spazio nello storage di destinazione, e ripeti l’importazione.",
"memTitle": "La VM importata ha 8 MB di RAM, oppure 8 TB",
"memIntro": "Il parser converte le AllocationUnits riconosciute in MiB. Le unità mancanti o sconosciute sono trattate come MiB. Esamina l’OVF e confronta la memoria importata con quella della VM di origine. Correggila se necessario:",
"memCode": "qm set $VMID --memory 8192 # 8 GiB",
"bootTitle": "La VM importata non si avvia: \"No bootable device\"",
"bootIntro": "Una causa frequente è la mancata corrispondenza BIOS / UEFI. La VM usava UEFI, ma Proxmox l’ha creata con BIOS. Imposta il firmware corrispondente:",
"bootCode": "qm set $VMID --bios ovmf # UEFI\n# also add an EFI disk for the EFI vars:\nqm set $VMID --efidisk0 $STORAGE:1,format=qcow2,efitype=4m,pre-enrolled-keys=1",
"bootOutro": "Un’altra causa frequente: l’ordine di avvio indica scsi0, ma il disco del sistema operativo è scsi1. Modifica l’ordine nella scheda Opzioni della VM.",
"bsodTitle": "Una VM Windows esportata da VMware mostra una schermata blu al primo avvio",
"bsodBody": "Windows è sensibile ai cambiamenti del controller disco. Installa i driver VirtIO prima dell’esportazione da VMware oppure mantieni il controller lsi predefinito. Passa a VirtIO SCSI solo dopo aver avviato il sistema guest e installato i driver VirtIO in Windows.",
"zeroTitle": "Il parser OVF rileva 0 dischi",
"zeroBody": "L’OVF potrebbe usare riferimenti ai dischi non riconosciuti dal parser. Aprilo e cerca per ogni disco una voce <File ovf:href=\"...vmdk\" ...>. Se il disco è davvero VMDK, ma ha un’estensione insolita come .dat, rinominalo in .vmdk e aggiorna il riferimento OVF. Rinominare non converte il formato.",
"awkTitle": "awk: errore sintassi a o vicino , — parser fallisce su ogni OVA / OVF",
"awkIntro": "Il parser OVF usa la sintassi gawk di match() con tre argomenti, non supportata da mawk, il awk predefinito di Debian / Proxmox. Le versioni recenti installano gawk al primo utilizzo tramite ensure_repositories + install_single_package. Se usi una copia precedente, installalo manualmente:",
"awkCode": "apt-get install -y gawk",
"awkOutro": "Poi ripeti l’importazione.",
"netTitle": "Rete che non funziona dopo il primo avvio",
"netBody": "Il sistema guest potrebbe non avere i driver per il modello e1000, oppure il bridge scelto potrebbe essere errato. Nella scheda Hardware della VM, cambia Network Device → Model. Controlla anche ip a nel sistema guest: l’interfaccia potrebbe chiamarsi ens18 anziché eth0, mentre la configurazione di rete usa ancora il vecchio nome."
},
"files": {
"heading": "File coinvolti",
"code": "scripts/utilities/import_vm_ova_ovf.sh # this script\n/tmp/.proxmenux-import-*/ # temp extraction dir for OVA\n/etc/pve/nodes//qemu-server/.conf # created by qm create\n//-disk-. # disk images, format depends on storage"
},
"related": {
"heading": "Correlati",
"items": [
{
"href": "/docs/utils/export-vm",
"label": "Esportazione VM a OVA / OVF",
"tail": " — lo strumento complementare per esportare la VM."
},
{
"href": "/docs/utils",
"label": "Panoramica delle utilità",
"tail": " — torna alla panoramica della sezione."
}
]
}
}