Migrating a ESXi VM to Proxmox VE

The following section contains information on how to migrate VMWare/ESXi VMs to a Proxmox Virtual Environment

Requirements

Generic Instructions

In VMware ESXi navigate to your virtual machine in the tree on the left. Choose Actions → Export.

This will download disk images and information about your virtual machine in the .ovf format in the browser. Move those files to a storage that is accessible by your Proxmox VE host.

Section Sourced directly from Proxmox Wiki.

OVFTool Instructions

If OVFTool is installed on your host, remove any attached disk or ISO from your VM and run:

ovftool vi://root@${ip_of_esxi}/${virtual_machine_name} .

This will export a VM directly to your current directory as an OVA Archive.

You may replace the final dot in the command with any valid path, such as /mnt/pve/<storage> or /opt.

Extracting an OVA Archive

Extracting an OVA Archive on Linux is simple, this command will extract it to your current directory.

tar xvf "${archive_name}.ova"

Windows VMs

To migrate a Windows VM from ESXi you’ll need to follow the next steps:

  1. Boot in Normal Mode.

  2. Uninstall any VMWare or ESXi drivers the VM might have.

  3. Download the Mergeide registry edit file (https://pve.proxmox.com/wiki/File:Mergeide.zip) from the Proxmox Wiki to ensure IDE Storage Drivers are Enabled.

  4. Re-check for any remaining Drivers or Services that may remain.

  5. Export to OVF/VMDK to your CIFS/SMB Storage

  6. Import from Proxmox with the following commands, first the metadata, then the disks:

qm importovf $vm_id $file_name $target_storage
qm importdisk $vm_id $file_name $target_storage
  1. Add your unused disk to the VM.

  2. Set the BIOS to UEFI

qm set $vm_id --bios ovmf
  1. Set the Disk Interface to SATA
sed -i 's/scsi0:/sata0:/' /etc/pve/qemu-server/$vm_id.conf
  1. Test Boot!

Linux Based VMs

With Linux VMs it’s much simpler to migrate them.

  1. Remove any drivers you might have installed through the CLI

  2. Export the VM to your SMB/CIFS Storage

  3. Import from Proxmox with the following commands, first the metadata, then the disks:

qm importovf $vm_id $file_name $target_storage
qm importdisk $vm_id $file_name $target_storage
  1. Add your unused disk to the VM and Test boot

Done!