So stoppen Sie eine nicht reagierende Hyper-V-Virtual Machine

Es passiert nicht oft, aber manchmal hängen Hyper-V-Virtualmaschinen (VM), wenn man versucht, sie herunterzufahren. Und am Ende hat man eine VM im Hyper-V-Manager mit dem Status „Wird heruntergefahren“, die nicht mehr reagiert und nicht mit den normalen Steuerelementen heruntergefahren werden kann. Selbst der PowerShell-Befehl Stop-VM -Force hilft nicht.

In dieser Situation müssen Sie kreativer vorgehen, um die VM herunterzufahren. Eine Möglichkeit besteht darin, Ihren Server herunterzufahren (oder Ihren PC, wenn Sie den Client-Hyper-V verwenden). Doch das ist eher eine grobe Lösung. Das Wichtigste, was Sie benötigen, um eine nicht reagierende VM zwangsweise herunterzufahren, ist die GUID der VM. Mit der GUID können Sie die CPU-Prozess-ID der VM finden und sie beenden.

Erzwingen Sie das Herunterfahren einer Hyper-V-Virtualmaschine, indem Sie ihren Prozess beenden

Die folgende Methode wird nur empfohlen, wenn die VM nicht auf einen Herunterfahrbefehl aus dem Hyper-V-Manager oder durch Verwendung des PowerShell-Befehls Stop-VM -Force reagiert. Die folgenden Befehle müssen in Windows PowerShell als lokaler Administrator ausgeführt werden. Die untenstehende Methode erfordert Windows PowerShell. Sie funktioniert nicht in PowerShell 6 oder späteren Versionen.

In einer angehobenen Windows PowerShell-Eingabeaufforderung beginnen Sie mit Get-VM, um die GUID der VM zu finden. Sie müssen den Namen der nicht reagierenden VM kennen, um dies zu tun. Wenn Sie den Namen der VM bestätigen müssen, führen Sie einfach Get-VM aus, um eine Liste aller auf dem Gerät ausgeführten VMs zu sehen.

Wenn AD ausfällt, zählt jede Minute

A recent survey revealed 94% of organizations can’t recover their Active Directory (AD) forest in minutes. Cayosoft offers the only instant AD forest recovery.

Learn More

Get-VM

Sobald Sie den VM-Namen haben, führen Sie den folgenden Befehl aus, ersetzen Sie dabei ‚Windows 11‘ durch den Namen der VM, die Sie stoppen möchten:

$VmGUID = (Get-VM 'Windows 11').id

Der nächste Schritt besteht darin, Get-WMIObject zu verwenden, um die Prozess-ID der VM zu finden. Hier verwenden wir den Win32_Process- Windows Management-Instrumentierungs (WMI)-Namespace, um einen laufenden CPU-Prozess zu finden, der zu vmwp.exe und der GUID ($VmGUID) unserer virtuellen Maschine passt.

$VMWMProc = (Get-WMIObject Win32_Process | ? {$_.Name -match 'VMWP' -and $_.CommandLine -match $VmGUID})

Sobald wir die Prozess-ID ($VMWMProc) haben, können wir das Stop-Process-Cmdlet verwenden, um es zu beenden:

Stop-Process ($VMWMProc.ProcessId) –Force
How to Stop an Unresponsive Hyper-V Virtual Machine (Image Credit: Russell Smith)

Alle VMs zum Herunterfahren zwingen

Ein anderer Weg, eine nicht reagierende VM zum Herunterfahren zu zwingen, besteht darin, den Hyper-V-Dienst zu beenden. Aber diese Methode wird alle laufenden VMs auf Ihrem Server zwangsweise herunterfahren. Wie bei der vorherigen Methode müssen Sie auch hier den folgenden Befehl in einem erhöhten PowerShell-Fenster ausführen, also einem, der über lokale Administratorrechte verfügt.

Get-Service vmms | Restart-Service

Das Neustarten des Hyper-V-Dienstes (vmms) kann eine Weile dauern. Also keine Sorge, wenn es mehrere Minuten dauert, um ihn zu stoppen und dann wieder zu starten.

Verwandte Artikel:

Source:
https://petri.com/how-to-stop-an-unresponsive-hyper-v-virtual-machine/