Migrate VMs from VMware ESXi to Proxmox

Today we'll look at one way of migrating VMs from ESXi to Proxmox. There are other ways and other tools as well, but this method utilizes only built in functionality in Proxmox.

Please note that this does not work when the original VM is running on vSAN

The environment we'll use includes an ESXi host that are connected to a vCenter although it could just as well be a standalone host, and a Proxmox VE host

Our ESXi host is running version 8.0.3 and the Proxmox VE host is on 8.4.14

Proxmox VE host

The Proxmox host is in a PVE cluster, but it's the only host in this cluster at the moment. For storage it has two internal disks, one NVMe and one SSD disk. They are configured in two separate ZFS pools, zfs-1 and -2.

Proxmox VE ZFS pools

The ESXi host has several machines running on it

ESXi virtual machine list

Importing Virtual machines

Proxmox documentation

Now the first step will be to add the ESXi hosts datastore to our Proxmox host

This is done in the Datacenter->Storage view

Add storage in PVE

We'll add the ESXi host by specifying the connection and credentials. Note that if wanted it can be added to only a subset of the nodes in the cluster

Add ESXi storage to cluster

Before initiating the migration be sure to have checked the official Proxmox VM migration guide

Migration guide

A quick summary of things to consider pre and post migration:

  • Remove old VM tools before migration. It can be difficult to do this after migration
  • Verify BIOS/UEFI and configure the Proxmox VM accordingly
  • Verify VM hardware (reference the above mentioned guide)
  • Install drivers (VirtIO)
  • Install QEMU guest agent

Now, there is support for live migration, but at the time of this writing I haven't gotten it to work without bringing down the VM on the ESXi side. When the VM is running on ESXi the import wizard displays a warning where it states that it might not work

Warning when VM is running

If you reference the migration guide you'll see that the live migration feature references that there will be downtime

Migration guide - downtime

With this in mind we'll migrate a VM that is powered off on the ESXi host and select the auto start on Proxmox

Proxmox import wizard

The import process will take some time depending on the size of the VM and the underlying storage and network capabilities since this process will copy the data from one host over to another.

Even if the VM had resided on the same physical external storage it would have copied the data blocks so some time would be needed.

Another thing to be aware of is that even though the VM get started after migrating it might not be functional.

As mentioned above the virtual hardware between ESXi and Proxmox differs and might need adjustments.

VM hardware after migration

I've also encountered numerous times that the network configuration is reset after migration.

One reason might be that the device name of your NIC has changed, for Linux servers this has been an easy fix.

Network interface device name

This could be mitigated with different techniques, one being keeping the mac address of the virtual nic and setting the name based on this

After fixing the device name of the NIC the VM should be online and working.

Note that the VM will still be present on the ESXi host. This is great for the ability to recover and get the VM up and running as before, but on the other hand it might result in unwanted issues if one were to start the VM on the ESXi host when it's running on the new Proxmox server

Summary

This blog post has shown one way of migrating VMs from VMware vSphere to Proxmox, there are other ways to do this, both using third party tools and builtin ones

The official Proxmox migration guide describes one process utilizing shared storage where the VM can be started on the PVE host using the original VMDK

This page was modified on December 9, 2025: Adding new screenshots