This one is going to be word and code heavy.
Firstly shutdown the hyper-v gen2 VM.
Copy the VHDX to the proxmox server, remember you will need twice the space of the VHDX available temporarily to completed the move.
Create the VM on Proxmox, you will need to create it using a OVMF (UEFI) BIOS. You will also need to create a 1Gb virtio hard disk (again this is temporarily)
Make a note of the VM ID (i.e. 103), you’ll need this to import the hard disk.
Once the VHDX is copied across you need to import the disk
qm importdisk VMID SORCEDISK.vhdx DATASTORE --format qcow2
i.e. qm importdisk 103 /tmp/data.vhdx SATA –format qcow2
This will then import the disk to the VM.
Next you need to head over to the VM in proxmox and attach the disk in the gui, you will need to install it as SATA or IDE (not virtio yet)
Boot the machine up into windows, install the latest tools, the temporary 1Gb disk we installed earlier will mean the virtio drivers are installed.
Shut the VM down, remove and reattach your windows drive as virtio, remove and delete the temporary 1Gb drive and turn the machine back on. If your machine had a static IP you will need to readd it, you may get a warning about it being assigned to another NIC. You can ignore this, however, I would recommend removing it at some point!
You can now delete the VHDX file you copied to the proxmox server
Job done!