Hyper-V Cannot change disk since a disk merging is pending.

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 Postaw mi kawę na buycoffee.to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *