What an OVA file is and why you might import one
An OVA file is a single compressed package that contains a complete virtual machine — the operating system, installed programs, settings, and disk data all bundled together. OVA stands for Open Virtualization Appliance, and it's a standard format that works across different virtualization platforms. You might have an OVA file because you downloaded a pre-built Linux server, received one from a colleague, or exported a virtual machine from another platform like VirtualBox or VMware.
Proxmox is a hypervisor — the software that runs virtual machines on your physical computer. When you import an OVA into Proxmox, you're converting that packaged machine into a format Proxmox understands and can run. The process is straightforward but requires you to work from the command line, not through Proxmox's web interface.
Key Takeaways
- OVA files must be converted to Proxmox's native format using the qm importovf command, which you run from your Proxmox server's terminal.
- Before importing, you need to know your OVA file's location, choose a storage location in Proxmox where the converted machine will live, and decide on a VM ID number.
- The import process creates a new virtual machine in Proxmox but does not automatically start it — you must power it on through the web interface after import completes.
- If the import fails, the most common causes are a missing OVA file path, insufficient storage space, or a VM ID that is already in use.
Preparing your OVA file and Proxmox environment
Start by placing your OVA file somewhere your Proxmox server can read it. The easiest location is the /root directory on the Proxmox host itself — you can copy the file there using scp from another computer, or if the file is already on the Proxmox server, note its full path. For example, if your OVA is called ubuntu-server.ova and you copied it to /root, the full path is /root/ubuntu-server.ova.
Next, decide where in Proxmox's storage you want the imported machine to live. Proxmox stores virtual machines in storage locations you configure — common ones are named local or local-lvm. You can see your available storage by logging into the Proxmox web interface, clicking Datacenter in the left menu, then Storage. Note the name of the storage location you want to use.
Finally, choose a VM ID — a unique number Proxmox assigns to each virtual machine. Proxmox suggests the next available ID when you create a machine through the web interface, but when importing from the command line, you must pick one yourself. Check your existing VMs to avoid conflicts: in the web interface, look at the left sidebar under your node name to see which IDs are already in use. Pick a number that is not listed — for example, if you see VMs numbered 100, 101, and 102, you could use 103.
Running the import command
Open a terminal connection to your Proxmox server. If you are using Linux or macOS, open a terminal and type ssh root@your-proxmox-ip, replacing your-proxmox-ip with your Proxmox server's actual IP address. If you are using Windows, use PuTTY or Windows Terminal to connect via SSH.
Once you are logged in, run the import command. The basic format is:
qm importovf [VM-ID] [OVA-FILE-PATH] [STORAGE-NAME]
Replace the bracketed parts with your actual values. For example, if your OVA is at /root/ubuntu-server.ova, you want to use VM ID 103, and your storage is called local-lvm, the command is:
qm importovf 103 /root/ubuntu-server.ova local-lvm
Type this command and press Enter. The import process will begin, and you will see output showing the progress. Depending on the OVA file size, this can take anywhere from a few seconds to several minutes. Do not close the terminal or interrupt the process — let it run to completion.
What happens after the import finishes
When the command completes successfully, you will see a message confirming the import and showing the VM ID. The virtual machine now exists in Proxmox, but it is not running yet. Go back to the Proxmox web interface, refresh the page, and you should see your new VM listed in the left sidebar under your node name.
Click on the VM to open its details page. You will see tabs for Hardware, Options, Monitor, and others. Before starting the machine, review the Hardware tab to check that CPU count, RAM, and disk size match what you expect. If the OVA was built for a different system, you may need to adjust these settings — for example, if the OVA has 2 GB of RAM but you want to give it 4 GB, you can edit the memory value here.
Once you are satisfied with the settings, click the Start button at the top right of the page. The virtual machine will boot. Click the Console tab to watch it start up and log in once it is ready.
Troubleshooting common import errors
If the import command fails, the error message will tell you what went wrong. The most common issues are:
File not found: The path to your OVA file is incorrect or the file does not exist at that location. Double-check the path by typing ls -la /root/ to list files in the /root directory, or ls -la /path/to/file/ if your OVA is elsewhere. Make sure the filename and path match exactly what you typed in the import command.
Storage location does not exist: You typed the storage name incorrectly, or it does not exist in your Proxmox setup. Run pvesm status to see a list of all available storage locations and their exact names. Use the name from the Storage column in that output.
VM ID already in use: The VM ID you chose is already assigned to another machine. Pick a different number and run the import command again with the new ID. You can delete the failed import by running qm destroy [VM-ID] if needed.
Insufficient storage space: Your chosen storage location does not have enough free space for the imported machine. Check available space by running pvesm status and looking at the Avail column. If space is low, delete old VMs or add more storage to Proxmox before retrying the import.
Adjusting the imported machine after import
Once the machine is imported and running, you can modify its settings just like any other Proxmox VM. In the web interface, click on the VM and then the Hardware tab to change CPU cores, RAM, disk size, or network settings. Some changes require the machine to be shut down first — Proxmox will tell you if that is the case.
If the imported machine has network issues, check the Network Device setting in the Hardware tab. The OVA may have been configured for a different network bridge. In most cases, changing it to vmbr0 (Proxmox's default bridge) will fix connectivity. You may also need to configure the guest operating system's network settings — this depends on whether the OVA was set to use DHCP or static IP addressing.
Frequently Asked Questions
Can I import an OVA from VirtualBox or VMware?
Yes. Both VirtualBox and VMware can export virtual machines as OVA files, and Proxmox can import them. The process is the same regardless of where the OVA came from. However, the imported machine may need driver updates or configuration changes because it is now running on Proxmox's hypervisor instead of the original platform.
What if my OVA file is very large and the import seems stuck?
Large OVA files can take a long time to import — 30 minutes or more is not unusual for files over 50 GB. Leave the terminal window open and do not interrupt the process. If you are concerned, open a second SSH connection to your Proxmox server and run top to see if the import process is still using CPU and disk activity. If it is, the import is still running.
Do I need to delete the OVA file after importing?
No, but you can if you want to free up space. The OVA file and the imported Proxmox VM are separate — deleting the OVA will not affect the running machine. However, keeping the OVA can be useful if you want to import the same machine again later or keep a backup.
Can I import an OVA without using the command line?
Proxmox's web interface does not have a built-in OVA import button. You must use the command-line tool qm importovf. This is by design — the command line gives you more control over where the machine is stored and what ID it receives.
What is the difference between importing an OVA and creating a new VM from scratch?
Importing an OVA saves you the work of installing an operating system and configuring software — the OVA already has everything set up. Creating a new VM from scratch gives you a blank machine where you install and configure everything yourself. Import an OVA when you have a pre-built machine you want to use; create from scratch when you want a custom setup.