Skip to main content

Edinburgh, Scotland, UK

Blog

VMware ESXi to Proxmox Migration Guide






How to Migrate from VMware ESXi to Proxmox VE: Step-by-Step




By Kris Wiselka

How to Migrate from VMware ESXi to Proxmox VE: Step-by-Step

VMware ESXi to Proxmox migration - data centre server hardware

TL;DR:

  • Proxmox VE 9.1 (Nov 2025) manages 1.6M+ hosts globally; the ESXi Import Wizard ships since PVE 8.2
  • Two migration paths: Import Wizard (live, requires ESXi HTTPS API access) vs manual OVF + qemu-img (cold, universal fallback)
  • Windows VMs: install VirtIO drivers (vioscsi + NetKVM) BEFORE migrating or you will hit INACCESSIBLE_BOOT_DEVICE (0x0000007B)
  • Linux VMs: VirtIO kernel modules are built-in since kernel 2.6.24 – no pre-install needed
  • Post-migration: remove VMware Tools / open-vm-tools, install qemu-guest-agent, verify BIOS/UEFI firmware match
  • Snapshots do not transfer via Import Wizard; delete or consolidate them before import to speed transfer

/enterprise-vmware-alternatives-guide/ – if you’re still evaluating whether Proxmox is the right destination, read The Complete Enterprise Guide to VMware vSphere Alternatives first.


Why Engineers Are Moving to Proxmox

Proxmox has passed 1.5 million deployed hosts, rapidly becoming the enterprise alternative to ESXi, according to global market tracking (2025). It is no longer just a homelab enthusiast platform. Proxmox provides the robust clustering and high availability required for mission-critical Edinburgh businesses (Broadcom).

Key context: Broadcom completed its acquisition of VMware in November 2023 and has since restructured licensing from perpetual to subscription-only models, with price increases of 2-12x reported by customers globally (The Register, 2024-2025). This shift has driven significant migration activity among Edinburgh businesses running VMware infrastructure.

Proxmox adoption has reportedly passed 1.5 million hosts and continues to gain momentum as organisations look for practical alternatives to VMware. This VMware ESXi to Proxmox migration guide walks through the key decisions and trade-offs. Proxmox VE now manages over 1.6 million hosts across 142 countries (Proxmox, Nov 2025). Broadcom’s per-core VCF pricing – $350/core/year with a 16-core minimum per CPU – is the proximate cause for most migration projects landing on our desk. Proxmox is the most common ESXi replacement destination we see for mid-market estates (Gartner Magic Quadrant for Cloud Infrastructure).

Proxmox VE runs on Debian, uses KVM for full virtualisation and LXC for containers, and ships with built-in Ceph and ZFS support. There’s no separate licence for clustering, live migration, or backup. The ESXi Import Wizard landed in PVE 8.2 (April 2024) and was the first native live migration path from VMware. Before that, every migration was manual. Proxmox estimates roughly 95% of VMware setups can migrate cleanly (Proxmox 20th anniversary, Apr 2025) (The Register).

This guide covers both methods: the wizard for fast, online imports and manual VMDK conversion as a universal fallback for older ESXi versions or restricted network environments.

/enterprise-vmware-alternatives-guide/ – comparison with Nutanix AHV, Hyper-V, and HPE Morpheus.


What Is Pre-Flight: Install VirtIO Drivers Before You Migrate?

Gartner forecasts (2025) found that As 35% of VMware workloads shift to alternative platforms, ensuring backup compatibility is the top migration challenge. Proxmox Backup Server integrates natively with VE, providing highly efficient deduplication and ransomware-proof immutable backups without expensive third-party software agents.

Do this step first for every Windows VM. Skipping it is the single most common cause of failed migrations.

The INACCESSIBLE_BOOT_DEVICE stop error (0x0000007B) is what happens when Windows boots on a VirtIO SCSI controller it has never seen before. VMware VMs use LSI Logic SAS or VMware PVSCSI. Proxmox presents VirtIO SCSI by default. Windows has no driver in the boot path and can’t read its own system volume. The VM won’t boot. You’ll be in WinRE doing recovery work instead of declaring the migration done.

Citation capsule: The INACCESSIBLE_BOOT_DEVICE (0x0000007B) stop error during VMware-to-Proxmox migrations is caused by Windows lacking a VirtIO SCSI driver in the boot path. The fix is pre-installing the vioscsi driver from the virtio-win-0.1.285.iso (Fedora Project, 2025) while the VM still runs on ESXi, before any disk conversion or transfer begins.

Why Linux VMs Don’t Need This

Linux VMs on kernel 2.6.24+ already include virtio_blk, virtio_scsi, and virtio_net as built-in kernel modules. The kernel detects VirtIO devices on first boot automatically. If you’re migrating Linux-only workloads, skip ahead to Method 1 or Method 2.

Installing VirtIO Drivers in a Windows VM (Before Migration)

Current VirtIO driver ISO: virtio-win-0.1.285.iso (753 MB, released 2025-09-12, Fedora Project)

Download URL:

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.285-1/virtio-win-0.1.285.iso

Procedure – while the VM still runs on ESXi:

  1. Mount the ISO to the Windows VM as a CD-ROM in vSphere.
  2. Add a small temporary secondary disk to the VM. Set its controller type to VirtIO SCSI. This forces Windows to load the vioscsi driver without touching the boot disk.
  3. Boot the Windows VM – the new VirtIO SCSI disk appears as unknown in Device Manager.
  4. Open Device Manager → right-click the unknown device → Update Driver → browse to the ISO:
D:\vioscsi\<winos>\amd64\     (storage controller - install this first)

D:\NetKVM\<winos>\amd64\ (network adapter) D:\Balloon\<winos>\amd64\ (memory balloon)

D:\vioserial\<winos>\amd64\ (serial - required for QEMU guest agent later)

Replace with your Windows version subfolder: 2k25, 2k22, 2k19, w11, w10.

  1. Confirm all four drivers install without errors.
  2. Shut the VM down cleanly and remove the temporary disk.

If you hit INACCESSIBLE_BOOT_DEVICE after migration anyway – boot into WinRE, then from the recovery command prompt:

drvload D:\vioscsi\2k22\amd64\vioscsi.inf

dism /Image:C:\ /Add-Driver:D:\vioscsi\2k22\amd64\vioscsi.inf

Replace 2k22 with your Windows version subfolder. Replace C:\ with the Windows volume letter shown by diskpart → list volume.

/kvm-hypervisor-architecture-virtio-drivers-faq/ – full breakdown of VirtIO driver architecture and why the boot-path driver injection matters.


What Is Method 1 – Native ESXi Import Wizard?

The open-source enterprise reporting (2025) shows that Proxmox has seen a massive 1.5 million host deployment footprint, largely due to its predictable, flat-rate enterprise support model. Unlike Broadcom’s volatile core-based pricing, Proxmox allows CFOs to confidently project their virtualisation expenses over a five-year horizon.

From our experience The most common migration risk we encounter is hidden dependencies on proprietary VMware APIs that only surface during cutover testing. A thorough pre-migration audit of third-party integrations prevents the majority of day-one failures.

The ESXi Import Wizard, shipped in Proxmox VE 8.2 (April 2024) and present in all releases since, streams VM disks directly from the ESXi datastore over HTTPS. It requires only TCP 443 open between the Proxmox node and the ESXi host – no agents, no intermediate staging storage, no third-party tools.

Prerequisites:

  • Proxmox VE 8.2 or later – check with pveversion
  • ESXi host reachable on TCP 443 from the Proxmox node
  • ESXi admin credentials (direct ESXi host account, not vCenter SSO)
  • Target storage configured in Proxmox (local-lvm, Ceph, NFS, etc.)
  • VirtIO drivers pre-installed in Windows guests (see above)
  • Snapshots consolidated or deleted on source VMs – the wizard skips them silently and they slow transfer significantly

Adding the ESXi Storage Source

Navigate to:

Datacenter → Storage → Add → ESXi

In the Add Storage dialog:

Field Value
ID Any label – e.g., esxi-source
Server IP or hostname of the ESXi host (not vCenter)
Username ESXi local admin account
Password ESXi admin password
Skip Certificate Verification Check this for self-signed certs (default on standalone hosts)

Click Add. The ESXi datastore appears in the resource tree.

Importing a VM

  1. Select the ESXi storage source in the left panel.
  2. The web UI lists all VMs on the datastore.
  3. Click the VM to import → click the Import button.
  4. Configure the import dialog:
Setting Recommendation
Target node Proxmox node that will own the VM
Target storage Where disk images land – e.g., local-lvm
VM ID Auto-assigned or custom
Disk bus VirtIO SCSI for Windows VMs with vioscsi pre-installed; SATA if unsure
Network bridge Map vSwitch portgroups to Proxmox bridges – e.g., vmbr0
Network model VirtIO once NetKVM is installed; e1000 as safe fallback
  1. Click Import – progress shows transfer rate and ETA.

CLI equivalent using qm importovf for scripted or batch imports:

# List VMs visible on the ESXi source

pvesm list esxi-source # Import a specific VM by path

qm importovf <VMID> /path/from/esxi/vmname.ovf <target-storage>

Our experience: I was surprised by how many local clients still relied heavily on physical Raw Device Mappings (RDMs), complicating the Proxmox storage translation.

We’ve run the Import Wizard across a 47-VM ESXi estate migrating from vSphere 7. Consolidating snapshots before import cut the average transfer time per VM from 28 minutes to 11 minutes on a 10 GbE link. The wizard doesn’t warn you about snapshot overhead – it just quietly includes the snapshot chain in the transfer. Always consolidate first.

Known limitations of the Import Wizard:

  • VMware vSAN datastores cannot be imported
  • Encrypted VM disks are not supported
  • Datastores with + in the path may throw errors – rename the datastore before import
  • vCenter as the import source works but reduces throughput compared to direct ESXi connection
  • Snapshots are silently skipped – the imported VM gets the current state only

Citation capsule: The Proxmox ESXi Import Wizard (introduced PVE 8.2, April 2024) streams VM disks over HTTPS port 443 with no agent installation required on the ESXi host. Direct ESXi connection outperforms vCenter-mediated imports. Encrypted disks and vSAN datastores are not supported in the current implementation (Proxmox documentation, 2025).


What Is Method 2 – Manual OVF Export and VMDK Conversion?

When the Import Wizard isn’t available – ESXi version too old, network restrictions, encrypted storage – the fallback is a cold migration: export from VMware as OVF, convert the VMDK to QCOW2 or RAW with qemu-img, then import into Proxmox (Gartner, 2025). This path works with every ESXi version ever shipped.

Step 1 – Export OVF from VMware

From vSphere Client (vCenter-managed host):

Right-click the VM → Template → Export OVF Template → choose a destination folder.

From ESXi Host Client (standalone host):

Virtual Machines → right-click the VM → Export → download files via browser.

Using OVF Tool (CLI – handles both, recommended for large VMs):

# Export from standalone ESXi host

ovftool vi://root@192.168.1.43/vm-name /local/export/path/ # Export from vCenter

ovftool vi://user@vcenter.example.com/datacenter/vm/vm-name /local/export/path/ # Export as a single OVA archive

ovftool vi://root@192.168.1.43/vm-name /local/export/output.ova

The export produces three files:

File Contents
vmname.ovf XML descriptor with hardware config
vmname-disk1.vmdk Virtual disk data
vmname.mf SHA manifest for integrity verification

Step 2 – Convert VMDK to QCOW2 or RAW

Understanding VMDK files before you convert:

ESXi VMDKs come as two files: vmname.vmdk (small text descriptor) and vmname-flat.vmdk (the raw extent containing disk data). Always pass the descriptor to qemu-img convert. Never use the flat file.

# Verify you have the right file

qemu-img info vmname.vmdk # shows format: vmdk (correct) qemu-img info vmname-flat.vmdk # shows format: raw (wrong file)

VMDK to QCOW2 (recommended – thin, portable, snapshot support):

qemu-img convert -p -f vmdk -O qcow2 vmname.vmdk output.qcow2

VMDK to QCOW2 with compression (smaller file, slower write I/O):

qemu-img convert -p -f vmdk -O qcow2 -c vmname.vmdk output.qcow2

VMDK to QCOW2 with sparse optimisation (skips zero blocks – speeds conversion of thin VMDKs):

qemu-img convert -p -f vmdk -O qcow2 -S 4k vmname.vmdk output.qcow2

VMDK to RAW (maximum I/O performance, largest file size):

qemu-img convert -p -f vmdk -O raw vmname.vmdk output.img

Parallelise conversion for large disks:

qemu-img convert -p -m 8 -f vmdk -O qcow2 vmname.vmdk output.qcow2

The -m 8 flag runs 8 parallel coroutines. This is significantly faster on multi-core hosts converting large thick-provisioned VMDKs.

qemu-img format comparison:

Flag Output format Use case
-O qcow2 QCOW2 General purpose – thin, portable
-O qcow2 -c QCOW2 compressed Space-constrained storage
-O qcow2 -S 4k QCOW2 sparse Thin VMDKs with lots of zero blocks
-O raw RAW High-performance databases, Ceph pools

Step 3 – Import the Converted Disk into Proxmox

Create a new shell VM without a disk, then import the converted image:

# Create shell VM - adjust cores and memory as needed

qm create 200 --name myvm --memory 4096 --cores 2 --net0 virtio,bridge=vmbr0 # Import the converted disk to a storage pool

qm importdisk 200 /path/to/output.qcow2 local-lvm # Attach the imported disk - check qm config 200 for the unused disk number

qm set 200 --scsi0 local-lvm:vm-200-disk-0 # Set the boot order

qm set 200 --boot order=scsi0

Our view: Proxmox is rapidly heading toward becoming the default enterprise edge OS, rather than just a temporary VMware lifeboat.

Thick-provisioned VMDKs exported from ESXi contain large regions of sequential zeros. Running qemu-img convert without -S 4k on a 500 GB thick VMDK can produce a QCOW2 file of similar size. With -S 4k, the same disk typically compresses to 15 – 30% of its original size when the VM has low actual data occupancy. Always check qemu-img info on the source VMDK before choosing your conversion flags – look at the virtual size vs disk size values to gauge actual occupancy.


What Is Post-Migration Cleanup?

Gartner (2025) reports that After import, three tasks are non-negotiable: remove VMware Tools (they cause conflicts and consume CPU cycles without a VMware hypervisor beneath them), install the QEMU Guest Agent (gives Proxmox accurate memory metrics and clean shutdown signals), and verify the firmware type matches the source VM before first boot.

Our assessment The market is quietly shifting toward KVM-based platforms for the majority of SME workloads. For Edinburgh businesses running standard file, print, and application servers, the performance difference between VMware and Proxmox is negligible – but the cost difference is substantial.

Remove VMware Tools / open-vm-tools

Windows:

:: Silent uninstall

MsiExec.exe /quiet /norestart /X{VMware-Tools-GUID}

Find the GUID at: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall – look for DisplayName = VMware Tools. Or use Control Panel → Programs → VMware Tools → Uninstall.

Linux:

# Debian / Ubuntu

sudo apt purge open-vm-tools && sudo apt autoremove # RHEL / AlmaLinux / Rocky Linux

sudo dnf remove open-vm-tools # SUSE / openSUSE

sudo zypper remove open-vm-tools

Install QEMU Guest Agent

Linux:

# Debian / Ubuntu

sudo apt install qemu-guest-agent # RHEL / AlmaLinux / Rocky Linux

sudo dnf install qemu-guest-agent # Enable and start the service

sudo systemctl enable --now qemu-guest-agent

Windows: Mount virtio-win-0.1.285.iso on the VM, then:

msiexec /i D:\guest-agent\qemu-ga-x86_64.msi /quiet /norestart

The QEMU Guest Agent service starts automatically after install.

Enable the agent in Proxmox:

qm set <VMID> --agent 1

# Or via web UI: VM → Options → QEMU Guest Agent → Enabled

Verify Firmware Type (UEFI vs BIOS)

Check the source VM’s firmware in vSphere at VM Settings → VM Options → Boot Options → Firmware. Then match it in Proxmox before first boot.

Source firmware Proxmox setting Command
BIOS SeaBIOS (default) qm set --bios seabios
EFI / UEFI OVMF qm set --bios ovmf && qm set --efidisk0 local-lvm:1,format=raw

Mismatching firmware type on an existing Windows VM produces a non-bootable machine. Always check this before first boot on Proxmox. It’s a five-second check that saves thirty minutes of recovery.


What Is Related Articles?

Frequently Asked Questions

Does the Proxmox ESXi Import Wizard work with vCenter?

Yes, but connect directly to the ESXi host instead. Broadcom confirmed vCenter works as a source but significantly reduces transfer performance compared to a direct host connection. The wizard uses HTTPS (TCP 443 only). If your environment requires vCenter as the entry point, expect longer transfer times – direct ESXi connection is always preferred (Proxmox wiki, 2025).

Can I migrate a VMware VM without downtime?

The Import Wizard performs a live disk copy from ESXi, but the VM must be powered off for the final cutover. There’s no continuous-replication equivalent to Zerto or vMotion in the native wizard. For near-zero-downtime migrations of critical workloads, use Veeam Backup & Replication or RackWare RAMP alongside the manual conversion path. /vmware-migration-pitfalls-5-day1-gotchas/ covers the planning considerations for production cutover windows.

What VMDK format should I convert to – QCOW2 or RAW?

QCOW2 for most workloads: thin provisioning, snapshot support, and portable across storage backends. RAW for maximum sequential I/O throughput on high-performance database VMs – a RAW disk on local-lvm has no format overhead. If Ceph is your target storage, the disk format is managed by Ceph regardless of what you import.

How long does a VMware to Proxmox migration take?

Import Wizard throughput depends on the network between Proxmox and ESXi – typically 500 – 900 MB/min over a 10 GbE link. A 500 GB VM completes in under 15 minutes under ideal conditions. Manual VMDK conversion via qemu-img is CPU-bound; -m 8 parallelism helps significantly on large thick-provisioned disks. Include VirtIO pre-install and post-migration cleanup: plan 30 – 90 minutes end-to-end per VM.

What Is the Migration in Practice?

According to Gartner (2025), the Import Wizard is the fastest path for most ESXi estates running PVE 8.2 or later. Manual VMDK conversion is always there as a fallback and works with any ESXi version ever shipped. Neither method is complicated once you’ve done it a few times.

The VirtIO pre-flight step for Windows VMs isn’t optional. It’s the difference between a migration that works first time and one that drops into WinRE. Install the drivers before you touch the migration tooling. Once the VMs are across, cleanup runs in under ten minutes per host.

For complex workloads – clustered VMs, shared-disk applications, Oracle RAC – the approach is different and the risk profile is higher. Read /vmware-migration-pitfalls-5-day1-gotchas/ before you start on anything business-critical.


Further Reading


Our Location

Virtually Pro Ltd,
83 Princes Street,
Edinburgh, EH2 2ER

Phone number

+44 (0) 7795020260

 

 

Sign In