Hi All!
Today, I’ll be showing a brief overview of how I migrated some Azure VMs to an on-premise HyperV and VMware server. This is done in stages and for me, required HyperV as a middle man before moving to VMware.
First, log in to your Azure portal and find the VM that you want to migrate. Open the settings for the VM and go into the ‘Disks’

Click on the blue text that shows the VM disk name. This should open the settings for the VM disk. Head to the ‘Disk Export‘ tab and generate a new URL to download the disk. TIP: download this onto your HyperV server.

Once this has downloaded, we can head to the next step!
The download may leave a file without an extension or with a VHD extension. If needed, add the VHD extension.
We now need to use HyperV to convert the VHD file to a VHDX format. Open HyperV, use the ‘Edit Disk‘ wizard. Find the disk and use the convert option:

Once converted, create a new generation 2 VM with near-enough the same specs as the original Azure VM. Don’t create a disk with this VM. Once the VM has been created, add the new VHDX file to the SCSi controller. Make sure to untick the enable secure boot option in the VM firmware tab:

The VM should now boot as the original Azure VM ?
From here it’s easy to get the VM onto VMware. Just use the VMware converter tool on the HyperV box whilst the VM is shutdown or on the VM whilst it’s running (this method is slower).
Hope this helped someone out ?