Si vous utilisez le gestionnaire Hyper-V sur Windows pour faire tourner des machines virtuelles, il peut arriver qu’après une tentative d’arrêt ou de redémarrage, celle-ci plante et ne veut plus s’arrêter. Vous devrez alors trouver des solutions pour forcer l’arrêt de votre VM dans Hyper-V.

En général, il suffit d’arrêt la VM depuis le système d’exploitation en se connectant à la machine virtuelle. Mais il peut arriver que le système ne s’arrête pas pour x raisons. Dans la colonne état, vous obtenez notamment le message « en cours d’arrêt » et dans le statut « Mise hors tension » comme l’illustre la capture d’écran ci-dessous. Et ce depuis plusieurs dizaines de minutes et même plusieurs heures. Dans ce cas, je vous invite à appliquer une des solutions ci-dessous, dans l’ordre de lecture.

VM reste en cours d’arrêt sur Hyper-V

Éteindre votre VM

En cas de plantage d’une machine virtuelle, la première solution consiste à utiliser l’extinction de la VM par l’interface du gestionnaire Hyper-V. Vous l’avez sans doute déjà essayé mais je préfère commencer par la base car c’est la méthode la plus simple et la plus sécurisée. Cette action permet d’éteindre votre VM comme-ci vous utilisiez le bouton marche arrêt pour couper l’alimentation de votre matériel (enfin presque !).

Pour forcer l’arrêt d’une VM avec l’option Éteindre depuis le gestionnaire Hyper-V :

  • Rendez-vous dans le gestionnaire Hyper-V.
  • Faites un clic droit sur la VM que vous souhaitez arrêter.
  • Cliquez sur l’option Éteindre.

Depuis Windows Powershell

Une autre solution pour arrêter une VM qui a planté est d’utiliser la console Windows Powershell en mode administrateur. Depuis Powershell, vous pouvez gérer vos VMs en ligne de commande. Il en existe pour forcer l’arrêt d’une machine virtuelle :

 Stop-VM -Name NomDeVotreVM -TurnOff

Selon la documentation Microsoft et comme la précédente solution, cette commande est équivalente à couper l’alimentation de la VM. Si vous voulez en savoir plus, consultez-les détails de la commande Stop-VM de PowerShell.

Killer le processus Hyper-V de la VM

Il est possible de forcer l’arrêt d’une VM en tuant le processus utilisé par Hyper-V pour gérer votre VM. Pour cela, vous devrez localiser le processus de la VM en identifiant son UID.

Naviguez dans le répertoire où est stockée la VM en question jusqu’au répertoire Virtual Machines. Visualisez quel est le répertoire de stockage de ces fichiers si nécessaire dans les paramètres du gestionnaire Hyper-V. Les noms de fichiers et le dossier contiennent l’UID de la VM.

Vous pouvez utiliser PowerShell pour récupérer l’UID en tapant la commande suivante :

(Get-VM "Nom de la VM").ID

Ouvrez le gestionnaire de tâche Windows puis cliquez sur l’onglet Détails. Pour trouver le processus de votre VM, recherchez les processus vmwp.exe. Chaque machine virtuelle utilise une propre instance du processus vmwp.exe. Dans la colonne Nom d’utilisateur s’affiche l’UID de chaque VM. Sur l’UID précédemment défini, faites un clic droit puis Fin de tâche.

Si vous n’avez pas la colonne Nom d’utilisateur, il suffit de faire un clic droit sur une colonne puis d’aller sur Sélectionner des colonnes pour l’activer.

Redémarrer le serveur hôte

C’est la solution ultime si aucune des solutions ci-dessus n’a fonctionné. Redémarrer le serveur hôte vous oblige à arrêter toutes les VMs au préalable afin d’éviter une coupure brutale. Selon les services virtualisés, vous serez donc contraint d’arrêter tous vos services virtualisés, prévoyez de faire pendant des heures de faible activité.

  • Arrêtez toutes vos VMs
  • Redémarrez le serveur ou l’ordinateur hôte. Il est possible qu’il mette un certain temps à redémarrer ou même qu’il ne s’arrête pas par la méthode traditionnelle. Dans ce dernier cas, vous serez contraint de forcer l’arrêt par le bouton marche/arrêt.
  • Démarrez votre serveur ou votre ordinateur hôte.
  • Relancez toutes vos VMs.

Je viens de vous présenter quelles étaient les différentes solutions pour forcer l’arrêt d’une VM dans Hyper-V. Laissez-moi un commentaire pour me dire quelle méthode a fonctionné pour vous.

Partagez cet article

Avez-vous trouvé cet article utile ?
Article utile ?

Un commentaire

  1. Merci beaucoup, c’est la 3 ème methode qui a reussi chez moi, Killer le processus Hyper-V de la VM.
    Merci pour cette nouvelle astuce que je viens de connaitre.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *