Migrate KVM to Proxmox VE [3 Methods]
If you’re running virtual machines on KVM and want to move them to Proxmox Virtual Environment (Proxmox VE), you don’t necessarily need to rebuild everything from scratch.
Proxmox VE is a virtualization platform that uses KVM for virtual machines and LXC for containers. It provides a web-based interface for managing virtual machines, storage, networking, backups, and other virtualization tasks.
Moving from a KVM-based environment to Proxmox VE can make it easier to manage your virtual machines from a single interface. However, the migration process depends on how your existing KVM environment is configured.
For example, you might be using libvirt and virt-manager, running virtual machines through command-line tools, or managing your virtual machines on a remote KVM host.
In this guide, we’ll cover three practical methods to migrate KVM virtual machines to Proxmox VE.
Migrate KVM to Proxmox VE: 3 Methods

To migrate a KVM virtual machine to Proxmox VE, back up the existing VM, transfer its disk image to the Proxmox server, create a new VM, and import the disk using Proxmox’s import tools. Alternatively, use the Proxmox import wizard or convert the disk image before importing it.
Before starting, make sure you have access to your existing KVM host and a working Proxmox VE installation.
You should also have enough storage space on the Proxmox server to hold the virtual machine disks.
The following methods work for different migration scenarios. Choose the one that matches your existing KVM setup.
Method 1: Import an Existing KVM Virtual Machine Disk
This method is useful when you already have a virtual machine disk image, such as a QCOW2 or RAW file, and want to use it on Proxmox VE.
Step 1: Identify the Existing KVM Virtual Machine
First, you need to identify the virtual machine you want to migrate.
If you’re using virt-manager, open the application and select the virtual machine.
Open its hardware details and locate the storage section. Here, you can find the disk image path.
For example, your disk might be stored at:
/var/lib/libvirt/images/myvm.qcow2
If you’re using the command line, you can list your existing virtual machines with:
virsh list –all
To view the configuration of a particular virtual machine, run:
virsh dumpxml myvm
Replace myvm with the actual name of your virtual machine.
Look for the disk section in the XML output. It contains the location of the virtual machine’s disk image.
Step 2: Shut Down and Back Up the Virtual Machine
Before copying the disk image, shut down the virtual machine properly.
You can do this through virt-manager or by running:
virsh shutdown myvm
Wait until the virtual machine is completely stopped.
Next, create a backup of the disk image. This gives you a way to restore your original virtual machine if something goes wrong during migration.
Make sure you also save the VM’s configuration file, especially if it contains important information about CPU, memory, networking, or storage.
Step 3: Transfer the Disk Image to Proxmox VE
Now, copy the virtual machine disk image to your Proxmox server.
You can use SCP, SFTP, or an external storage device.
For example, from your existing KVM host, run:
scp /var/lib/libvirt/images/myvm.qcow2 root@PROXMOX_IP:/var/lib/vz/
Replace PROXMOX_IP with the IP address of your Proxmox server.
Make sure the transfer finishes successfully before continuing.
Step 4: Create a New Virtual Machine in Proxmox
Open the Proxmox web interface in your browser.
Select your Proxmox node and click Create VM.
Enter a name for your virtual machine and configure the operating system type.
You can assign CPU cores and memory according to the original VM’s configuration.
When you reach the disk configuration section, you can create a temporary disk or skip creating a disk if your Proxmox version allows it.
After creating the VM, note its VM ID.
Step 5: Import the Existing Disk
Open the Proxmox shell from the web interface or connect to the server through SSH.
Import the disk using the following command:
qm importdisk 100 /var/lib/vz/myvm.qcow2 local-lvm
Replace 100 with your VM ID and local-lvm with the name of your Proxmox storage.
The command imports the existing disk into Proxmox storage.
Step 6: Attach the Imported Disk and Boot the VM
Open your VM’s hardware settings in Proxmox.
Locate the imported disk under Unused Disk and attach it to the virtual machine.
For most modern Linux virtual machines, VirtIO SCSI is a good choice.
Set the imported disk as the boot disk, then start the VM.
Check whether the operating system loads correctly and whether the network connection is working.
Method 2: Migrate a Remote KVM Virtual Machine Using the Proxmox Import Wizard
If your KVM virtual machine is running on a remote server, you may be able to use Proxmox’s import wizard to access and import its disk directly.
This method is useful when you don’t want to manually copy the disk image to your local computer.
Step 1: Prepare the Remote KVM Host
Make sure the existing KVM virtual machine is shut down.
Check that the remote host is accessible over the network and that you have the required permissions.
You should also confirm that the remote disk image is accessible through the supported storage connection.
Step 2: Open the Proxmox Import Wizard
Log in to the Proxmox web interface.
Select the target node and open the virtual machine creation or import interface.
Depending on your Proxmox VE version, the import wizard may be available through the storage interface or the virtual machine creation workflow.
Choose the option to import a virtual machine from an existing source.
Step 3: Connect to the Remote KVM Storage
Select the appropriate source storage or connection.
Provide the required connection details, such as the remote server address and authentication information.
If your remote KVM environment uses shared storage, make sure Proxmox can access it.
The available import options depend on the storage type and Proxmox VE version.
Step 4: Select the Virtual Machine and Import Its Disk
Once the remote source is available, select the virtual machine or disk image you want to import.
Review the detected disk format, storage destination, and virtual machine settings.
Start the import process and wait for it to finish.
Step 5: Configure and Start the Imported VM
After the import completes, review the virtual machine’s hardware configuration.
Check its CPU, memory, network adapter, and boot order.
Start the VM and confirm that the operating system works correctly.
If the system fails to boot, check the disk controller and boot configuration.
Method 3: Convert the KVM Disk Image Before Importing It
Sometimes, your existing KVM disk image may not be in a format or configuration that works well with your Proxmox storage.
In that case, you can convert the disk image before importing it.
Step 1: Identify the Disk Image Format
Common virtual machine disk formats include QCOW2, RAW, and VMDK.
You can identify the format of your existing disk by running:
qemu-img info myvm.qcow2
The command displays the disk format, virtual size, and other useful details.
Step 2: Convert the Disk Image
If you need to convert the disk to RAW format, use:
qemu-img convert -p -f qcow2 -O raw myvm.qcow2 myvm.raw
Replace the filenames with your actual disk image names.
The -p option displays conversion progress.
Keep in mind that RAW images can use considerably more storage space than compressed QCOW2 images.
Step 3: Transfer the Converted Disk
Copy the converted disk image to your Proxmox server.
For example:
scp myvm.raw root@PROXMOX_IP:/var/lib/vz/
Make sure you have enough free storage space before transferring the file.
Step 4: Import the Converted Disk
Create a new virtual machine in Proxmox and note its VM ID.
Then import the disk using:
qm importdisk 100 /var/lib/vz/myvm.raw local-lvm
Attach the imported disk to the virtual machine and configure the boot order.
Step 5: Test the Migrated Virtual Machine
Start the virtual machine and check whether the operating system boots.
Test the network connection, storage, and applications.
If the VM uses Windows, you may need to install or update the VirtIO drivers.
FAQs
Can I migrate a KVM virtual machine without reinstalling the operating system?
Yes. You can usually migrate an existing virtual machine by importing its disk image into Proxmox VE. The operating system and installed applications remain on the disk.
Does Proxmox VE support QCOW2 disk images?
Yes. Proxmox VE supports QCOW2 disk images, although the available features depend on the selected storage backend.
Can I migrate a Windows KVM virtual machine to Proxmox?
Yes. However, Windows virtual machines may require additional driver configuration, especially if the disk controller or network adapter changes during migration.
Will my virtual machine’s network settings remain the same?
Not necessarily. Proxmox may use a different virtual network adapter or bridge configuration. You may need to adjust the network settings inside the guest operating system.
Can I migrate a running KVM virtual machine?
A live migration between KVM and Proxmox VE is not the same as importing a disk image. For a straightforward migration, shutting down the VM before transferring its disk is the safer approach.
Summary
Migrating KVM virtual machines to Proxmox VE is a practical way to move your existing workloads to a centralized virtualization platform.
You can import an existing disk image, use the Proxmox import wizard for supported remote sources, or convert your disk image before importing it.
For beginners, the first method is often the easiest to understand because it involves copying the existing disk, creating a new VM, and attaching the imported disk.
