In this example I’m using a ZFS based datastore. To convert the VHD files to raw, I’m going to import and convert the VHD with the help of the following command. Before running the following command, a blank VM needs to be created first.

qm importdisk $VMID /path/to/vhd datastore

Alternatively you can use qemu-img directly on the Proxmox host, to convert the VHD to .raw or .qcow2. I’m not going to do it this way tho, but you can go this route.

qemu-img convert -f vhdx -O raw Disk1.vhdx Disk1.raw

Quite important, as the VM doesn’t contain the virtio drivers in my case, I can’t use SCSI or VirtIO for the imported and converted drive, before installing those drivers first.

  • Switch to Hardware in the new VM, double click the Unused Disk, add it as IDE drive and tick this drive in the Boot Order
  • Add the virtio-win driver through an IDE CD/DVD Drive
  • Attach a blank SCSI drive
  • Boot up the VM, install the virtio drivers
  • Reboot and check if the SCSI drive is being shown under Disk Management
  • Change the type from the actual drives to SCSI or VirtIO, tick these in the Boot Order

Hint: The size of the drive is not relevant; what matters is that this driver installs the necessary SCSI drivers. However, installation will fail if there are no SCSI drives attached to the VM. If you decided to go with the VirtIO (paravirtualized) model for the network device, the network adapter should now be visible under ncpa.cpl.