Tags: Hyper-V, Troubleshooting, Rechteverwaltung
Das Einschalten oder das Zurückholen einer virtuellen Maschine aus dem gespeicherten Zustand kann mit dem Fehler scheitern, wonach das Konto nicht über die erforderlichen Berechtigungen zum Öffnen der virtuellen Festplatte verfüge. Die Änderung der Zugriffsrechte auf die VHD löst das Problem aber nicht immer.
Schilderungen in verschiedenen Foren und Blogs deuten darauf hin, dass die Fehlermeldung 0x80070005 in vielen Fällen auf tatsächlich fehlende Rechte verweist. Sie können etwa verlorengehen, wenn man virtuelle Laufwerke auf ein anderes Storage verschiebt. In meinem Fall befand sich die VM im gespeicherten Zustand, als der Host wegen eines Updates neu starten musste.
Nachdem gute Chancen bestehen, dass die Fehlermeldung die wirkliche Ursache benennt, liegt es nahe, die Berechtigungen auf die VHD anzupassen. Microsoft bietet dazu eine Anleitung, wie man dies mit Hilfe von icacls erreicht:
icacls <Pfad der .vhd oder .avhd file> /grant "NT VIRTUAL MACHINE\<ID der virtuellen Maschine> ":(F)
Anstatt, wie dort empfohlen, die ID der VM und den Pfad zum virtuellen Laufwerk aus der Fehlermeldung abzutippen, kann man PowerShell bemühen und das Ergebnis in den icacls-Befehl kopieren:
Get-VM -Name <Name der VM> | select name, VMId
Get-VM -Name <Name der VM> | Get-VMHardDiskDrive | select vmname, path | fl
Sind mehrere VMs oder virtuelle Laufwerke betroffen, dann kann man den Vorgang mit dem Script von Thomas Torggler abkürzen. Es ist in der Lage, die Rechte für alle VHDs mehrerer VMs in einem Durchgang anzupassen.
Laufwerk entfernen und wieder anhängen
Wenn das Setzen der Berechtigung nicht dazu führt, dass sich die VM starten lässt, dann bleibt noch die Möglichkeit, die betroffenen Laufwerke abzuhängen und neu mit der VM zu verbinden.
Befindet sich die VM in einem gespeicherten Zustand, dann muss man diesen erst löschen, um die VHD entfernen zu können.
Das Ab- und Anhängen des Laufwerks lässt sich über den Hyper-V Manager oder über PowerShell bewerkstelligen. Entscheidet man sich für Letztere, dann entfernt man ein virtuelles Laufwerk folgendermaßen:
Remove-VMHardDiskDrive -VMName <VM-Name> -ControllerType SCSI `
-ControllerNumber 0 -ControllerLocation 2
Die Werte für die Controller-Parameter entnimmt man der Ausgabe des zweiten der oben angeführten Befehle.
Anschließend hängt man die VHD wieder ein:
Add-VMHardDiskDrive -VMName <VM-Name> -ControllerType SCSI `
-ControllerNumber 0 -Path "<Pfad zur VHD>"
Für ControllerType und ControllerNumber wird man hier wieder die gleichen Werte verwenden wie beim Aufruf von Remove-VMHardDiskDrive.
Täglich Know-how für IT-Pros mit unserem Newsletter
Verwandte Beiträge
- Hyper-V VM startet nicht von ISO-Datei
- Die Berechtigungen dieser Zertifikatvorlage lassen nicht zu, dass der aktuelle Benutzer sich für diesen Zertifikattyp einschreibt
- Kein Netzwerk in Hyper-V-VMs nach Update auf Windows 11 22H2
- Exchange-Funktionspostfach: Der Zugriffssteuerungseintrag für das Objekt kann nicht entfernt werden, da er nicht vorhanden ist
- Exchange: Private Nachrichten im Freigabepostfach sichtbar machen
Weitere Links
2 Kommentare
Bekam den gleichen Fehler.
Wollte eine VM aufsetzen zu Übungszwecken.
Hab den Speicherort des SCI-Controllers (DVD-Laufwerk) geändert.
Unter Einstellungen -> DVD-Laufwerk; rechts den Speicherort geändert.
Evtl. auch eine mögliche Fehlerbehebung: Einstellungen -> Verwaltung -> Integrationsdienste -> Gastdienste aktivieren