Walkthrough the steps necessary to convert a VM from VMware to Proxmox

I assume that you have already installed Proxmox and with local storage configured. My sample Proxmox installation for this article is on a Dell Poweredge T630. I have 6 Disk attached to a Dell PERC Adapter. I use Proxmox VE 7.1.


Proxmox disk configuration
Proxmox disk configuration

In this article, I won’t tell you how to configure LVM. I recommend this blog to configure local storage as a repository for your VMs.


Step 1: Locate the VM(s) in your VMware environment

Enable the SSH service in Vcenter or ESXI. It’s best to SSH with Putty or Kitty directly.


VMware to Proxmox

  1. cd /vmfs/volumes is where the datastore is located
  2. locate the storage where the VM reside
  3. in my case, it is on the storage ‘Dell_SAS, cd /”Dell SAS”
  4. I want to convert the VM ‘WindowServer2022’
  5. We need to move both vmdk files to Proxmox

Step 2: Transfer the files with scp to the Proxmox environment

Go to the Proxmox environment and open the ‘shell’ console

scp -v [email protected]:/vmfs/volumes/5f57b3e1-433e2c24-0b26-2cea7f5aa14f/WindowsServer2022/WindowsServer2022-flat.vmdk /mnt/lvol/images/WindowsServer2022-flat.vmdk

for the flat vmdk file, repeat the same step for the vmdk file (shown in the picture above. My destination location is /mnt/lvol/images which I configured earlier (not the scope of this article). SCP transfer may take a while depending on the size of the vmdk files. Make sure to shut down the VM before the transfer and delete any snapshots. It is also a good idea to deinstall the VMware tools from the VM.


Step 3: Create a Proxmox VM with the GUI

There are two things to consider, choose the correct BIOS, and select SATA as the type for the HD drive. The size of the hard drive doesn’t matter. My virtual machine has the ID 100


Proxmox VM
Proxmox VM

Step 4: Import the VMDK disk

qm importdisk 100 /mnt/lvol/images/WindowsServer2022.vmdk VMdata -format raw

disk imported

unused disk
Proxmox VM with converted disk, but not enabled yet

The converted vmdk disk will automatically appear as ‘Unused Disk’ in the Proxmox GUI. Now highlight it and click ‘Edit’. Make sure the ‘bus/type’ is SATA too. A converted Windows VM would not boot in Proxmox without SATA as the bus type. In the next step, we are going to install the VIRTio drivers.


converted disk attached
Proxmox VM with the newly converted disk enabled

Go to ‘Options’ and change the boot order and make sure the newly attached disk is enabled.


boot order
boot order

Step 5: Start the VM and install the VirtIO drivers

You can download the VirtIO drivers from this page. Windows VirtIO. Depending on how you set up the local storage, you can upload the ISO directly to the Proxmox store


VMware to Proxmox ISO Images
ISO Images in the LVM store

and attach them to the CD-ROM in the VM

VirtIO ISO attached to CD-Rom

Now we are ready to start the VM for the first time on the Proxmox environment.

Vmware to Proxmox
VMware to Proxmox

Now we can install the drivers for Windows. Since I already attached the VirtIO driver ISO, it is mounted in the Windows VM. In most cases, it is the 64-bit driver’s virtio-win-gt-x64 to execute

After installation, shut down the VM, and then, you can change the SATA bus/type of the attached hard disk to ‘VirtIO’ for best performance. Also, you can remove the disk which was created when we set up the Proxmox VM.


Windows crashes during boot-up with VirtIO driver

I have seen instances where Windows crashed at boot-up when the VirtIO driver was installed. A solution is to add another hard drive with the bus/type ‘VirtIO.’ Windows loads the VirtIO driver for the new HD. After that, you can remove the second HD and change bus/type to ‘scsi’ for the first Hard Disk


VM after conversion
Proxmox VM after conversion

Please note in this example I converted a Windows Server 2022 VM from VMware to Proxmox. I had some issues with the latest VirtIO drivers (0.1.217 / April 2022). I downloaded an earlier version (0.1.215), and the Installer ran fine.

Here you will find earlier VirtIO drivers.