Cloud and Self-Hosting

How to Import OVA to Proxmox VE 9 and 8 (GUI Wizard and CLI)

Import an OVA or OVF into Proxmox VE with the built-in import wizard (8.3 and newer) or qm importovf on the CLI. Includes boot, network and disk fixes.

By Amjid Ali · · Updated · 7 min read

promox import ova vmdk ovf
In this article
  1. Quick steps (GUI, Proxmox VE 8.3 and newer)
  2. What is an OVA file?
  3. Which Proxmox version do you need?
  4. Method 1: import OVA with the web interface (wizard)
  5. Method 2: import OVA from the command line (any version)
  6. Troubleshooting imported OVA VMs
  7. Proxmox course

To import an OVA to Proxmox VE 8.3 or newer (including 9.x), enable the Import content type on a storage such as local, upload the .ova to that storage's Import tab, select it and click Import. The wizard reads the CPU, memory, disks, NICs and boot type from the OVA and creates the VM for you. On older versions, or from the shell, extract the OVA with tar xvf and run qm importovf <vmid> <file.ovf> <storage>.

I have moved a lot of VMware and VirtualBox appliances into my Proxmox homelab this way. Below are both methods, step by step, plus fixes for the problems that stop an imported VM from booting.

Here is the link to my full Proxmox course if you want to go deeper.

Quick steps (GUI, Proxmox VE 8.3 and newer)

  1. Datacenter > Storage > local > Edit, add Import to Content, OK.
  2. Select local in the tree, open Import, click Upload (or Download from URL) and choose the .ova.
  3. Select the uploaded .ova and click Import.
  4. Set the VM ID, target storage and bridge, check the disk controller on Advanced, click Import.
  5. Start the VM from its Console.

What is an OVA file?

An OVA (Open Virtual Appliance) is a single tar archive of a ready-made VM. Inside it you find:

  • an .ovf file: an XML descriptor with the VM's CPU, memory, disks and network settings;
  • one or more .vmdk disk images;
  • usually a .mf manifest with checksums, and sometimes an ISO or other files.

An OVF export is the same thing unpacked into separate files. VMware, VirtualBox and many vendors (firewalls, monitoring appliances, Windows evaluation VMs) ship appliances this way, so knowing how to import them is useful even if you never ran VMware.

Which Proxmox version do you need?

Proxmox VE OVA/OVF import option
8.2 Import wizard added, first for ESXi hosts only
8.3 and newer, 9.x OVA and OVF files importable from file-based storage in the GUI, with upload or download from URL; the importer reads OS type, NICs, boot order and boot type
Any version qm importovf on the CLI

Check yours with pveversion. If you are on 8.0 to 8.2, the CLI method below works, or upgrade to the latest point release first.

Method 1: import OVA with the web interface (wizard)

Step 1: enable the Import content type

Go to Datacenter > Storage, select local (or any Directory, NFS or CIFS storage) and click Edit. In Content, add Import, then click OK.

Enable import content type on Proxmox storage

Proxmox storage content list with Import selected

Newer Proxmox VE 9 installs enable Import on local by default, so it may already be ticked.

Step 2: upload or download the OVA

Select the storage in the left tree and open the Import tab. Click Upload to send the .ova from your PC, or Download from URL to fetch it straight onto the host, which is much faster for big appliances.

Proxmox Import tab with Upload and Download from URL

You can also copy the file over SSH. On local the import folder is /var/lib/vz/import/:

scp appliance.ova root@192.168.1.10:/var/lib/vz/import/

For an OVF, put the .ovf and its .vmdk files together in that folder (flat, no sub-folders).

Step 3: run the import wizard

Select the .ova in the Import tab and click Import (or double-click it).

  • General: VM ID, name, target storage for the disks, CPU sockets and cores, memory and OS type. Check the values from the OVA are sensible.
  • Advanced: the disks and their bus, the SCSI controller, network cards and their bridge (for example vmbr0), and the Import Working Storage.
  • Resulting Config: a preview of the VM configuration that will be created.

Two settings matter most:

  1. SCSI controller. The admin guide warns that OVA files almost never define it, and the default is not bootable with OVMF (UEFI). Choose VirtIO SCSI single for Linux guests, or VMware PVSCSI if the guest has no VirtIO drivers yet.
  2. Import Working Storage. An OVA has to be extracted before its disks are imported, which needs temporary space on a file-based storage with Disk image content. If local is small, pick a bigger directory storage here.

Click Import and watch the task log. When it finishes, the VM appears in the tree.

Watch the full walk-through on my channel:

Method 2: import OVA from the command line (any version)

Use this on Proxmox VE 8.2 or older, for scripting, or when the GUI wizard does not read a vendor's OVA properly.

Step 1: copy the OVA to the host

Use WinSCP on Windows or scp on Linux/macOS. I keep a working folder for imports:

Uploading an OVA to Proxmox with WinSCP

mkdir -p /root/ova_import
scp openppm.ova root@192.168.1.10:/root/ova_import/

Make sure the folder is on a disk with room for the extracted files plus the imported VM.

Step 2: extract the OVA

cd /root/ova_import
tar xvf openppm.ova
ls -lh

x extracts, v lists each file, f names the archive. You should see the .ovf, the .vmdk disks and usually a .mf file:

Extracted OVA showing OVF and VMDK files

This older video shows the extraction and import on the CLI:

Step 3: preview and import with qm importovf

Do a dry run first. It prints what Proxmox read from the OVF without creating anything:

qm importovf 137 ./openppm.ovf local-lvm --dryrun

Then import for real:

qm importovf 137 ./openppm.ovf local-lvm

This creates VM 137 with the name, cores and memory from the OVF and imports all its disks to local-lvm. You do not need a separate qm importdisk afterwards; an earlier version of this guide had both steps, which only created an extra copy of the disk. On a Directory or NFS storage you can keep qcow2 with --format qcow2; on LVM-thin, ZFS and Ceph the disk is always stored as raw.

qm importovf importing the disk

Step 4: add the network card and controller

The Proxmox docs say you have to configure the network manually after qm importovf. Check what was created and fix the gaps:

qm config 137
qm set 137 --net0 virtio,bridge=vmbr0
qm set 137 --scsihw virtio-scsi-single
qm set 137 --boot order=scsi0

Use the disk name qm config shows (scsi0, sata0 or ide0) in the boot order. If a disk is listed as unused0, attach it in the GUI under Hardware (double-click it, choose the bus, Add).

Imported disk attached in the VM hardware view

Step 5: start the VM

qm start 137

Open the Console in the GUI. Inside the guest, fix the network configuration if the interface name changed, and install qemu-guest-agent (then qm set 137 --agent enabled=1).

If qm importovf skips the disk

Some OVAs, often from VirtualBox or appliance vendors, describe their disks in a way the parser does not understand, and qm importovf prints a warning that it is skipping an invalid host resource. Create or keep the VM and import the VMDK yourself:

qm disk import 137 ./openppm-disk1.vmdk local-lvm
qm set 137 --scsi0 local-lvm:vm-137-disk-0 --boot order=scsi0

The same qm disk import works for single disk files of any format; see my Proxmox qcow2 import guide for all the options.

Troubleshooting imported OVA VMs

"No bootable device" or the UEFI shell appears. Check the boot order under Options. If the original VM used UEFI, set BIOS to OVMF, add an EFI Disk, and use VirtIO SCSI or PVSCSI as the controller, not LSI. If it used legacy BIOS, use SeaBIOS.

Windows blue screen INACCESSIBLE_BOOT_DEVICE. Windows lacks the VirtIO storage driver. Detach the disk and re-add it as SATA, boot, install the drivers from the virtio-win ISO, then move the disk back to SCSI. Remove VMware Tools inside the guest once it runs on Proxmox.

No network in the guest. The NIC is new hardware to the guest. Check a net0 exists, it is on the right bridge and VLAN, and update the interface name in the guest's network config (for example ens192 on VMware becomes ens18 on Proxmox).

Upload fails or the import runs out of space. Large OVAs need space twice: once for the archive and once while extracting. Use Download from URL instead of a browser upload, and choose a bigger Import Working Storage.

Checksum or manifest errors. The download is probably incomplete. Download again and compare the size or hash with the vendor's page.

Coming straight from ESXi? You do not need OVA exports at all. Add your ESXi host under Datacenter > Storage > Add > ESXi and import the VMs directly with the same wizard. My best VMware alternatives article explains why many people are making that move.

Proxmox course

Here is my Proxmox Udemy course, which covers importing, storage, backups and clustering.

proxmox ve guide

Enroll Now

Frequently asked questions

Can Proxmox import OVA files?+

Yes. Since Proxmox VE 8.3 you can import OVA and OVF files from the web interface. Enable the Import content type on a file-based storage, upload the .ova to its Import tab, select it and click Import. On older versions extract the OVA with tar and use qm importovf.

How do I import an OVF file into Proxmox?+

Copy the .ovf and its .vmdk disk files to the host and run qm importovf <vmid> file.ovf <storage>. This creates the VM with the CPU, memory and disks from the manifest. In the GUI, place the .ovf and its disks side by side in the storage's import folder and use the import wizard.

Why does my imported OVA VM not boot in Proxmox?+

Most often the disk controller or firmware is wrong. OVA files rarely define the SCSI controller, and the default LSI controller cannot boot with OVMF (UEFI), so pick VirtIO SCSI or VMware PVSCSI. Also check the boot order and match SeaBIOS or OVMF to how the VM was built.

Does qm importovf add a network card?+

Not reliably. The Proxmox documentation says to configure the network manually after qm importovf. Add one with qm set <vmid> --net0 virtio,bridge=vmbr0, or use the GUI wizard, which on 8.3 and newer reads the NICs from the OVF.

Do I need to convert VMDK to qcow2 before importing to Proxmox?+

No. Proxmox converts the VMDK during the import. On LVM-thin, ZFS or Ceph the disk ends up as raw; on directory or NFS storage you can choose qcow2 with --format qcow2.

Can I import a Windows OVA into Proxmox?+

Yes, but Windows has no VirtIO drivers by default. Attach the imported disk as SATA or IDE for the first boot, install the VirtIO drivers from the virtio-win ISO, then switch the disk to VirtIO SCSI. Proxmox notes Windows imports cannot be guaranteed in every case.

Sources

  1. Proxmox VE Administration Guide, Importing Virtual Machines, Proxmox Server Solutions
  2. qm(1) manual, Proxmox Server Solutions
  3. Proxmox VE Roadmap (8.2 and 8.3 release notes), Proxmox Server Solutions

Related videos

Video library
  • Cloud and Self-Hosting

    Proxmox: How to Import an OVA File (2024 Update)

    · 13:09 · 26.8K views

    Watch on YouTube
  • Cloud and Self-Hosting

    Proxmox Networking Basics: CLI Configuration for Interfaces

    · 4:20 · 4.1K views

    Watch on YouTube
  • Cloud and Self-Hosting

    Proxmox Import Disk // Step-by-Step Guide for VMDK and Disk Migration from Any Virtual Environment

    · 10:13 · 34.5K views

    Watch on YouTube