One option would be to create VM with similar hardware and an empty virtual disk of matching size, then create an image file on block level with the tool of your choice (for example booting a clonezilla) and restore that image to the virtual disk. In case of Windows it might also be a good idea to install the virtio drivers and qemu guest agent first, so you can use virtio NICs and virtio SCSI.