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’

4 thoughts on “How to fix VHDX mismatch identifiers / Property ‘MaxInternalSide’ does not exist in class on Hyper-V”
  1. Thanks – minor note, you can\’t copy the command from the article (Set-VHD “D:\\VM\\maindisk.avhdx” – PartentPath “D:\\VM\\maindisk.vhdx”) – Partent is misspelled and there is a space between the – and the parameter.

  2. Your commands have weird quotation signs ” instead of \”, and that causes issues in some command line environments

Leave a Reply