
Moving a virtual machine from VirtualBox to Proxmox comes down to converting the VirtualBox .vdi disk into a raw image with VBoxManage, copying it across to your Proxmox server, and attaching it to a new VM. This guide walks through the whole process, using the command line on the Proxmox side since that’s the reliable way to import a raw disk.
Before you start, you’ll want a VirtualBox VM with a .vdi disk, a Proxmox server with enough resources to run it, and command-line access to both machines.
Step 1: Convert the .vdi to a Raw Image
On the machine running VirtualBox, use VBoxManage to clone the .vdi into a raw image that Proxmox can work with. Make sure the VM is shut down first, so you’re not copying a disk that’s still being written to:
VBoxManage clonehd your_vm.vdi your_vm.img --format RAW
Step 2: Copy the Image to Proxmox
Transfer the raw image to your Proxmox server with scp, or any method you prefer. A temporary directory like /tmp is fine, since this is just a staging point before the import:
scp your_vm.img root@proxmox_server:/tmp/
Step 3: Create an Empty VM in Proxmox
In the Proxmox web interface, click “Create VM” and work through the wizard, giving the VM a name and ID, matching the OS type to your guest, and setting the memory, CPU, and network to suit. When it comes to the disk, add any small placeholder disk for now, since we’re going to replace it with the imported image in the next step. Note the VM ID it’s given, for example 100, as you’ll need it shortly.
Step 4: Import the Disk
This is the key step, and it’s why we use the command line rather than the GUI, since Proxmox’s web upload only handles ISOs and templates, not raw VM disks. SSH into the Proxmox host and import the image with qm importdisk, passing the VM ID, the path to your image, and the target storage (commonly local-lvm):
qm importdisk 100 /tmp/your_vm.img local-lvm
Proxmox imports the raw image and attaches it to the VM as an unused disk.
Step 5: Attach the Disk and Set the Boot Order
Back in the web interface, open the VM’s Hardware tab, where you’ll see the imported disk listed as “Unused Disk 0”. Double-click it and add it, usually as a SCSI or SATA disk. Then, so the placeholder disk from Step 3 doesn’t get in the way, remove it, and under the VM’s Options tab set the Boot Order so the imported disk boots first.
Step 6: Boot and Verify
Start the VM and open its console from the web interface. It should boot into your migrated system just as it did under VirtualBox. From here, check the network and hostname come up correctly, and if it’s a Windows guest it’s worth installing the VirtIO drivers, which are tuned for virtual hardware and noticeably improve disk and network performance on Proxmox.
Once it’s booting cleanly and behaving, you can delete the raw image from /tmp to free up the space, and your VM has fully moved from VirtualBox to Proxmox.


Leave a Reply