
Praca z maszynami wirtualnymi w Hyper-V niejednokrotnie wiąże się z zarządzaniem dyskami różnicowymi (AVHDX), które powstają m.in. podczas tworzenia punktów kontrolnych (checkpointów). W normalnym scenariuszu, po usunięciu checkpointa, Hyper-V automatycznie scala zawartość pliku AVHDX z dyskiem bazowym VHDX i usuwa plik różnicowy. Czasem jednak zdarza się, że proces scalenia kończy się nieprawidłowo – plik AVHDX znika z dysku, ale konfiguracja maszyny wirtualnej nadal wskazuje na nieistniejący plik. W efekcie przy próbie zmiany ustawień dysku pojawia się komunikat „Cannot change disk since a disk merging is pending”.
W tym artykule pokażę, jak zdiagnozować taki problem oraz jak ręcznie przywrócić maszynie poprawne przypięcie dysku, bez konieczności jej odtwarzania od zera.
Jeżeli scalanie zakończyło się poprawnie, to z katalogu z dyskami vhdx dla maszyny wirtualnej powinien „zniknąć” plik .avhdx. Jeżeli tak się stało, to za pomocą polecenia Get-VHD
w PowerShell można sprawdzić czy dysk vhdx ma przypisany (ParentPath
) różnicowy dysk avhdx. W moim przypadku plik znajduje się w ścieżce D:\DEB1\Virtual Hard Disks\DEB1.vhdx
.
Get-VHD -Path "D:\DEB1\Virtual Hard Disks\DEB1.vhdx"
Polecenie to powinno w polu ParentPath
zwrócić pustą wartość jak na zrzucie poniżej:

Gdy mamy taką wartość, to możemy przystąpić do usunięcia wadliwego dysku różnicowego z konfiguracji VM:
Remove-VMHardDiskDrive -VMName "DEB1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0
W zależności od konfiguracji Twojej maszyny wirtualnej zwróć uwagę, czy twój ControllerType
to SCSI
czy IDE
oraz na wartości ControllerNumber
i ControllerLocation
. Domyślnie, jeżeli maszyna wirtualna ma jeden dysk są to zera.

Polecenie zakończone sukcesem nie zwraca żadnego błędu. Można przystąpić do podłączenia dysku vhdx za pomocą polecenia:
Add-VMHardDiskDrive -VMName "DEB1" -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "D:\DEB1\Virtual Hard Disks\DEB1.vhdx"
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.