Learn how to migrate VMs from VMware ESXi to Proxmox VE using its built-in import tool, with tips for optimizing Windows guests post-migration.
Following Broadcom’s purchase and restructuring of VMware, many enterprise and homelab users have been looking for solutions to seamlessly migrate from its hypervisor platform to another. VMware’s rising software licensing and support costs have generated significant demand for more affordable yet high-performing enterprise-ready hypervisors. Proxmox VE has become a popular platform because of its open-source nature. Using the built-in import tool, let’s go through the steps for migrating a virtual machine from a standalone VMware ESXi server to Proxmox Virtual Environment (PVE).
ESXi Migration Prerequisites and Setup
To ensure smooth migrations from ESXi to PVE, ensure that both servers (or server clusters) meet the following criteria:
- Unrestricted network access between servers – PVE server(s) must be able to access the ESXi host’s API.
- Accessibility of “root” user credentials for ESXi and PVE servers – To avoid permission issues for ESXi and PVE functionality, “root” user credentials on both servers during the migration process are recommended.
- Ample storage on PVE server(s) – It may sound like a no-brainer, but double-check that the target PVE server(s) you are using have enough storage to hold VM disks from the ESXi server.
- Unencrypted virtual machine disks – Ensure that migration-ready virtual machine disks have not been encrypted using VM Storage Policies on ESXi or OS-level encryption methods that store encryption keys in a virtual TPM module.
Once you have validated that the ESXi and PVE servers meet the above requirements, log in to the Proxmox VE server to which you intend to move virtual machines. Click on the “Datacenter” tab on the left side of the web interface, and navigate to the “Storage” view.
Click “Add” and select “ESXi” from the drop-down menu of storage options.
Fill in all fields in the “Add: ESXi” pop-up menu according to your ESXi server’s configuration. For clarity, we recommend putting the ESXi server’s hostname into the “ID” field and checking the “Skip Certificate Verification” checkbox. Before clicking “Add”, ensure that the “Nodes” field contains all the Proxmox VE servers in your cluster that will receive migrated virtual machines.
The ESXi server will appear as storage underneath all previously selected nodes on the left side of the web interface. Click on the cloud icon to view virtual machines that can be imported under the “Virtual Guests” tab.
Migrating a Virtual Machine
In the ESXi server’s web interface, use the “Console” feature to log into the virtual machine you plan to migrate and uninstall “VMware Tools” if it is installed on the guest. Specific uninstallation procedures may vary depending on the virtual machine’s operating system, so take the appropriate steps for your guest and restart it if necessary. For this demonstration, we will use a Windows Server 2025 virtual machine.
After verifying “VMware Tools” is not present on the virtual machine, shut down the guest and return to the Proxmox VE web interface. If necessary, navigate to and click on the recently added ESXi storage icon under the target PVE node, and select the “.vmx” file associated with the virtual machine being migrated. Next, click “Import” to begin configuring the migration and resulting virtual machine on your PVE server(s).
Hinweis: The virtual machine’s name sollte appear in the corresponding file name.
Configure the virtual machine in the “Import Guest” window’s “General” tab. For best performance, we recommend setting the “CPU Type” field to “host” unless you need to choose a different type for compatibility reasons.
Hinweis: This guide does not cover migrating virtual machines using the “Live Import” feature. That feature should only be used if the ESXi and PVE servers are connected to a high-bandwidth network of 10Gbps or more.
Once the basic settings are configured, click the “Advanced” tab. For best compatibility on operating systems without VirtIO drivers included by default (typically Windows VMs), uncheck the “Prepare for VirtIO-SCSI” checkbox. This should revert the “SCSI Controller” field to “VMware PVSCSI” and the VM’s disk type to SCSI. You may also customize the destination storage for the virtual machine using the “Storage” fields for each disk attached.
Hinweis: If the virtual machine you are migrating is an EFI-enabled guest, verify that the “efidisk” item is checked in the “Disks” list.
After viewing the “Resulting Config” tab, click “Import” to verify the resultant virtual machine’s settings.
The “Task viewer” window will appear after the guest’s disks have been copied, ending with “TASK OK”. That signals that the VM is ready to be started on your Proxmox VE server(s).
Close the “Task viewer” window and find the newly created virtual machine on the left side of the Proxmox VE web interface. Click on the virtual machine name, proceed to its “Console” tab, and click “Start Now” to power it on.
Congratulations! You have successfully migrated a virtual machine from ESXi using Proxmox VE’s built-in import tool. However, if your VM is running a version of Windows, we can take a few more steps to massively improve the VM’s accessibility and performance, as described below.
Optimizing Windows Virtual Machines for Proxmox VE
Virtual machines are most efficient when they have the right ‘tools’. One of the easiest ways to make your Windows virtual machines faster, more efficient, and better at communicating with the Proxmox VE hypervisor is to install the open-source VirtIO drivers, Qemu guest, and SPICE agents onto each guest.
You can download all three tools wrapped up into one ISO file hier. If your Windows guests have internet access, you can download the ISO on the guest, or upload the file to your Proxmox VE server(s) and attach it to their virtual CD/DVD drives.
To upload the ISO to a PVE server, navigate to the storage for the ISO files in the web interface and click “Upload”.
In the “Upload” menu that appears, use the “Select File” option to choose the VirtIO ISO file and click the blue “Upload” option to begin copying it to the server’s storage.
After the ISO file has been copied to the server, a “Task viewer” window will appear. Wait for the “TASK OK” before exiting and attaching the ISO to any VMs.
Next, click on a Windows virtual machine on the left side of the web interface, and select its “Hardware” tab. Select the “CD/DVD Drive” device, and click “Edit”.
In the pop-up window that appears, fill in the “Storage” and “ISO image” fields with the appropriate values to select the VirtIO ISO file you uploaded and select “OK” to confirm.
Log in to the guest using the “Console” tab, and open the ISO in File Explorer. Locate the “virtio-win-guest-tools.exe” file, right-click the file, and choose “Run as administrator” from the menu that appears.
If a User Account Control window pops up, confirm and proceed through the installation wizard, keeping all the pre-selected default options.
Once the installer has been completed successfully, close the menu and return to the virtual machine’s “Hardware” tab in the Proxmox VE web interface. Click “Add” in this menu and select “Hard Disk” from the drop-down menu.
Complete the details in the “Add: Hard Disk” menu, with “Bus/Device” as “VirtIO Block” and “Storage” as the VM’s preferred storage. Leave the “Disk size (GiB)” field as 32 or make it smaller, depending on how much storage space is available on your server(s). When finished, click “Add” to attach the newly created virtual disk.
After adding the disk, return to the VM’s “Console” tab and open the Disk Management menu. Right-click the new disk, and choose “Online” from the following menu. Similarly, once the disk has been made online, right-click it again and select “Initialize Disk”.
Pick an MBR or GPT partition style for the new disk and click “OK”.
Next, right-click anywhere on the new disk’s unallocated space and select “New Simple Volume”.
Proceed with the newly introduced simple volume wizard, picking a drive letter and generating a volume label you do nicht intend to use for virtual disks.
Next, close the Disk Management window and shut down the virtual machine. Once it is powered off, return to the virtual machine’s “Hardware” tab.
Next, follow the steps listed below very closely, taking care not to accidentally destroy the VM’s data or configuration. We will now change several virtualized device and VM options to take advantage of the VirtIO drivers and guest agents installed earlier:
- Navigate to the virtual machine’s Hardware tab and click on the VirtIO disk that was previously added. Click “Detach” to confirm it’s detached.
- Click on the “Unused Disk” option, then click “Remove”, and confirm the drive’s removal.
- For every one of the virtual machine’s remaining disks, use “Detach” to disconnect it from the virtual machine.
- For every one of the virtual machine’s “Unused Disks”, click “Edit”, change the “Bus/Device” field to “VirtIO Block”, and click “Add”.
- Select the “SCSI Controller” device, and change it to “VirtIO SCSI single” using “Edit” and then “OK” when finished.
- For every one of the virtual machine’s “Network Devices”, click “Edit”, change the “Model” field to “VirtIO (paravirtualized)”, and click “OK”.
- Do not change the MAC address, and understand that changing the network interface type means you may have to edit the network settings inside the guest if DHCP is not being used.
- (Recommended for UEFI-enabled Windows VMs only) Select the “Machine” option, click “Edit”, and check the “Advanced” box.
- (Recommended for UEFI-enabled Windows VMs only) Change the “Machine” field to “Q35”, change the “Version” field to the uppermost (newest) type, and change the “vIOMMU” field to “VirtIO”.
- Navigate to the virtual machine’s “Options” tab, click on the “QEMU Guest Agent” option, and click “Edit”.
- Check the “Use QEMU Guest Agent” field, ensure that “Default (VirtIO)” or “VirtIO” is selected, and click “OK”.
- Select the “Boot Order” option and click “Edit”.
- Drag, drop, and check the boot options to ensure that your desired boot options are selected for the virtual machine, then click “OK”.
- Take a minute and review the changes made to the virtual machine at this point. All “Hard Disk”, “Network Device”, and “SCSI Controller” virtual devices should be changed to their respective VirtIO-enabled options, and the VM’s “Machine” type should be set to “Q35” if the VM is UEFI compatible.
- Finally, navigate to the virtual machine’s “Console” tab and click “Start Now” to power it on.
Hinweis: If you experience issues booting into VMs with legacy BIOS configurations or an emulated LSI “SCSI Controller” type, navigate to the VM’s “Hardware” tab, use “Deatch” to disconnect all virtual disks. Use “Edit” to access a menu to change the “Bus/Device” types to “SATA”. Close the menu using the blue “Add” option once it is changed, and navigate to the virtual machine’s “Options” tab, selecting the “Boot Order” option and clicking “Edit”. Rearrange the boot order so the boot SATA disk is first, and check the “Enabled” box to finish.
Vorher:
Nach:
Fazit
Migrating from VMware ESXi to Proxmox VE can be a straightforward process thanks to Proxmox’s built-in import tool. You can shift workloads with minimal downtime and disruption by following the right preparation steps: verifying compatibility, cleaning up VMware Tools, and configuring import settings. Once your virtual machines are successfully running on Proxmox, validate their performance, install VirtIO drivers where applicable, and take new backups under your updated environment. After confirming that everything is running smoothly and reliably, it’s a best practice to decommission or archive the original ESXi VMs to free up resources and avoid configuration drift across platforms.
This process offers many users a relatively easy and painless transition, solving rising VMware licensing costs while maintaining a solid, enterprise-ready platform for core virtualization needs. On that note, if you want to share GPUs in Proxmox VE, check out our Proxmox vGPU -Guide.
Quellen
- https://pve.proxmox.com/wiki/Migrate_to_Proxmox_VE#Automatic_Import_of_Full_VM
- https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
Beteiligen Sie sich an StorageReview
Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | TikTok | RSS Feed