How to fix VHDX mismatch identifiers / Property ‘MaxInternalSide’ does not exist in class on Hyper-V
Sometimes you may come across an error starting your Hyper-V machine saying:
Failed to Power on with “The chain of virtual hard disks is corrupted. There is a mismatch in the identifiers of the parent virtual hard disk and differencing disk”.
If you inspect the VHDX in Hyper-V manager is says “”Property ‘MaxInternalSize’ does not exist in class ‘Msvm_VirtualHardDiskSettingData’.”
This is an issue with the checkpoint file and the main VHDX file. Sometimes this is caused by having checkpoints on other locations or in my case I mounted the VHDX file in the operating system and then the link between the VHDX and AVHDX file had been broken. Fortunately, there is an easy fix using the Set-VHD PowerShell command:
Set-VHD “D:\VM\maindisk.avhdx” – PartentPath “D:\VM\maindisk.vhdx”
You may get back an error “There exists ID mismatch between the differencing virtual hard disk and the parent disk.”
If you get that you can use -ignoreidmismatch flag
Set-VHD “D:\VM\maindisk.avhdx” – PartentPath “D:\VM\maindisk.vhdx” -ignoreidmismatch
That will fix the error and you should be able to start up the Virtual machine. I would make sure you have a backup of the files just in case something goes wrong but it has worked for a me a few times.
Here is my step-by-step video guide to VHDX mismatch identifiers / Property ‘MaxInternalSide’