Hyper-V – Failed to Power on with Error 'General access denied error’

Print Friendly, PDF & Email

Ostatnimi czasy musiałem nieco poprawić konfigurację maszyn wirtualnych w Hyper-V. Problem związany z funkcją snapshot. Po wyłączeniu maszyny, tworzył się dodatkowy dysk .avhdx (dysk różnicowy), który przechowywał stan systemu od czasu uruchomienia. Wszystko działało, natomiast mocno zwiększał wykorzystanie miejsca na dysku. Pojawił się błąd: Failed to Power on with Error 'General access denied error’.

Postanowiłem przebudować maszynę, tak, aby taki dysk się nie tworzył. Wszystko przebiegło poprawnie, aż do próby uruchomienia maszyny. Tutaj pojawił się problem, ponieważ maszyna po odbudowie nie mogła się uruchomić, pokazał się błąd dostępu do dysku.

Synthetic SCSI Controller 'General access denied error’

Ciekawe, ponieważ plik się nie zmienił (pomijając scalanie), jednak nowa maszyna o takiej samej konfiguracji pokazała: Synthetic SCSI Controller (Instance ID GUID): Failed to Power on with Error 'General access denied error’.

Błąd uruchomienia maszyny wirtualnej w Hyper-V

Jest to błąd uprawnień wskazujący, że maszyna wirtualna nie ma dostępu do własnego wirtualnego dysku twardego. W ramach kopiowania plików, utracone zostały uprawnienia na poziomie maszyny wirtualnej. Na zrzucie ekranu poniżej możesz zobaczyć, że uprawnienia mają tylko System, Administratorzy i Użytkownicy. Zwykle powinny być również widoczne uprawnienia dla identyfikatora GUID reprezentującego maszynę wirtualną z pełną kontrolą.

Brak uprawnień dla dysku maszyny wirtualnej

Poprawne uprawnienia, które pozwolą na uruchomienie tak przeniesionej (odbudowanej) maszyny widoczne są poniżej (ostatnia pozycja na liście).

Dodane uprawnienia dla dysku maszyny wirtualnej

W jaki sposób dodać GUID, który pozwoli na dostęp do dysku?

Podstawowy proces to:

  • Uzyskaj identyfikator GUID maszyny wirtualnej.
  • Ustaw uprawnienia do pliku wirtualnego dysku twardego dla identyfikatora GUID.

Identyfikator GUID maszyny wirtualnej możemy uzyskać za pomocą cmdlet PowerShell (uruchomiony jako Administrator):

W odpowiedzi pojawi się ciąg znaków, który pozwoli na ponowne dodanie uprawnień dla dysku. Oczywiście ciąg GUID dla Twojej maszyny będzie inny.

GUID dla VM Hyper-V

Kolejnym krokiem, będzie przypisanie wygenerowanego GUID dla dysku wirtualnego. Pod VirtualDiskFile, należy podstawić nazwę dysku .vhdx dla problematycznej maszyny.Pod Guid, należy oczywiście podtsawić unigatowy numer, wygenerowany w poprzednim punkcie.

Dodanie uprawnień dla dysku .vhdx

Jeżeli proces przebigł poprawnie, uprawnienia ponownie powrócą do dysku.

Dodane uprawnienia dla dysku maszyny wirtualnej

Po taki zabiegu maszyna uruchomi się bez żadnych problemów.

Skrypt dodający GUID do dysku maszyny

Jeżeli problem dotyczy pojedynczej maszyny takie dwa polecenia wyglądają dobrze. Jednak, można je obudować w skrypt, który będzie łatwiejszy, gdy będzie trzeba dodać GUID do kilku maszyn.

Podsumowanie

Groźny problem z uruchomieniem wirtualnej maszyny, po prostej jak by się mogło wydawać operacji, jej odbudowany na podstawie dysku wirtualnego może podnieść ciśnienie. Rozwiązanie, które przedstawiłem, jest szybkie. Po wykonaniu dwóch poleceń lub skryptu, powrócą uprawnienia, które pozwolą na ponowne uruchomienie maszyny wirtualnej.

Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT