Comment arrêter une machine virtuelle Hyper-V bloquée.
Il est coincé dans le Arrêt ou En cours état et ne donne aucun arrêt, Fermer, Sauvegarder, Options de pause ou de réinitialisation.
Une façon de tuer cette machine virtuelle bloquée est d'ouvrir Gestionnaire de tâches et terminer la tâche responsable de cette machine. Malheureusement, ce n'est pas si simple parce que Processus de travail de machine virtuelle qui est responsable de l'exécution de la machine virtuelle apparaît plusieurs fois, une fois pour chaque machine invitée en cours d'exécution!
Méthode 1
Si vous disposez d'un petit nombre de VM:
- Ouvrir Gestionnaire des tâches et visualisez le Détails languette;
- Vous en verrez beaucoup vmwp.exe exécuter des processus avec l'identifiant colonne incluant la machineGUID;
- Accédez à l'emplacement où les machines virtuelles sont stockées et ouvrez le dossier de la machine virtuelle actuellement bloquée.. De là, nous pouvons trouver le fichier de configuration de la machine et noter lesGUID pour cette machine;
- Maintenant nous savons lequel GUID concerne la machine virtuelle que nous cherchons à arrêter. Revenez à Gestionnaire des tâches, faites un clic droit sur le bon processus, et Processus final.
NOTE: Ce processus ne doit être utilisé qu'en dernier recours car il pourrait entraîner une corruption de la machine virtuelle.!
Méthode 2
Si vous disposez de plusieurs machines virtuelles en cours d'exécution. Le moyen le plus rapide consiste à trouver le GUID de la VM nécessaire avec la commande PowerShell..
Get-VM <vmname> | fl *
Maintenant nous savons lequel GUID concerne la machine virtuelle que nous cherchons à arrêter. Revenez à Gestionnaire des tâches, faites un clic droit sur le bon processus, et Processus final.
Cette commande extrait une liste de noms de machines virtuelles et de GUID, puis la compare à une liste de GUID dans la ligne de commande des processus en cours d'exécution et renvoie les noms de machines virtuelles avec l'ID de processus associé. (pas GUID de la machine virtuelle).
Get-WmiObject Win32_Process -Filter "Name like '%vmwp%'" | %{$vm=get-vm -id $_.CommandLine.split(" ")[1];"$($_.processID)`t$($vm.name)"}
Méthode 3
Utiliser Explorateur de processus Sysinternals.