Comment désactiver une machine virtuelle Hyper-V bloquée en mode démarrage/arrêt

Hyper-V est une plateforme de virtualisation matérielle bien connue, très populaire car il s’agit de l’hyperviseur natif de Windows. La virtualisation offre de nombreux avantages et l’exécution de Virtuelles Maschinen est pratique. Cependant, des erreurs peuvent survenir. Il peut arriver que vous obteniez l’erreur « Hyper-V n’a pas pu changer d’état » et que la Virtuelle Maschine soit bloquée lorsque vous essayez de la mettre sous tension ou hors tension. Dans ce cas, les boutons de démarrage, d’arrêt et de réinitialisation ne fonctionnent pas pour la Virtuelle Maschine.

Vous ne pouvez pas modifier les paramètres de la machine virtuelle ni utiliser celle-ci tant que vous n’avez pas résolu ce problème. Si vous cherchez déjà comment désactiver Hyper-V ou comment désinstaller Hyper-V, ne vous précipitez pas. Cet article de blog explique les raisons possibles de l’erreur « Hyper-V n’a pas pu changer d’état » et les méthodes pour résoudre ce problème.

NAKIVO for Hyper-V Backup

NAKIVO for Hyper-V Backup

Agentless, application-aware backups for Hyper-V. Anti-ransomware protection, instant VM boot from backup, other virtual/physical platform support and more.

Explication de l’erreur

Les boutons Démarrer, Arrêter et Réinitialiser ne sont généralement pas disponibles dans l’interface utilisateur graphique. Si vous essayez de cliquer sur ces boutons, le message d’erreur s’affiche. Le texte complet du message d’erreur Hyper-V VM stuck qui s’affiche lorsque vous essayez de démarrer ou d’arrêter une machine virtuelle dans Hyper-V est affiché ci-dessous :

L’application a rencontré une erreur lors de la tentative de modification de l’état de la machine virtuelle.

VM-Name Échec de la modification de l’état.

L’opération ne peut pas être effectuée tant que l’objet est dans son état actuel.

Le message « Hyper-V n’a pas réussi à modifier l’état » peut également contenir cette phrase :

Le statut ne peut pas être modifié.

Les raisons courantes de l’erreur de démarrage/arrêt de la machine virtuelle sont une défaillance du stockage, une configuration réseau incorrecte, une configuration de routage et d’accès à distance, les options d’alimentation de la machine virtuelle et des autorisations insuffisantes pour accéder aux fichiers de la machine virtuelle.

Arrêt du processus de la VM problématique

Lorsque vous rencontrez une erreur de démarrage/arrêt de la VM, vous ne pouvez pas simplement arrêter la VM de manière traditionnelle en arrêtant le processus de travail de la machine virtuelle (vmwp.exe), qui est l’un des services/processus Hyper-V importants. Vous devez connaître l’identifiant unique global (GUID) de la machine virtuelle problématique, car plusieurs instances du processus vmwp.exe sont en cours d’exécution dans Windows et chaque instance est liée à la machine virtuelle appropriée. Si vous essayez de deviner le vmwp.exe nécessaire et de tuer chaque instance vmwp.exe, vous risquez de tuer une machine virtuelle inconnue à chaque fois, et vous pourriez finir par tuer presque toutes les VMs avant de trouver la bonne.

Méthode 1 : Utilisation des outils GUI natifs

Vous pouvez utiliser l’interface graphique (GUI) de Windows et Hyper-V pour identifier le processus requis vmwp.exe et le terminer. Hyper-V Manager est un outil doté d’une interface graphique pour la gestion des machines virtuelles dans l’environnement Windows Hyper-V.

Obtenez le GUID de la machine virtuelle dans Hyper-V Manager. Cliquez avec le bouton droit sur le nom de votre hôte Hyper-V dans Hyper-V Manager et, dans le menu contextuel, sélectionnez Paramètres Hyper-V.

Opening Hyper-V settings for virtual machine management

Dans la fenêtre Paramètres Hyper-V fenêtre, cliquez sur Virtuelle Maschinen dans le volet gauche pour trouver le chemin d’accès où les fichiers VM sont situés par défaut sur l’hôte Hyper-V. Dans notre exemple, le chemin d’accès est E:VMs.

Checking the default folder to store Hyper-V virtual machines

Lorsque vous connaissez l’emplacement où sont stockés les fichiers VM, accédez à ce dossier dans l’Explorateur Windows. Recherchez le sous-dossier où se trouvent les fichiers de la VM gelée. Dans mon cas, le VM-Name est « Ubuntu Hyper-V ». Ouvrez le VM-Ordner, vous devriez voir un sous-dossier et des fichiers avec un nom long composé de chiffres et de lettres. Il s’agit du GUID de la VM nécessaire pour identifier le vmwp.exe processus et forcer l’arrêt de la VM. Dans mon exemple, le GUID de la VM est 3C555937-A999-4542-B77E-FD69488B8579.

Hyper-V failed to change state - checking the VM GUID to fix the error

Si vous ne parvenez pas à détecter le GUID de la VM dans l’interface utilisateur graphique de Windows et Hyper-V, vous pouvez utiliser Process Explorer ou PowerShell (voir les sections ci-dessous).

Une fois que vous avez trouvé l’ID, vous pouvez mettre fin à la vmwp exe tâche liée à la machine virtuelle Hyper-V problématique.

Ouvrez le Gestionnaire des tâches Windows dans le système d’exploitation hôte. Cliquez sur Démarrez > Exécutez ou appuyez sur Win+R, tapez taskmgr et appuyez sur Entrez.

Recherchez le processus vmwp.exe avec le GUID requis dans la colonne Nom d’utilisateur . Cliquez avec le bouton droit sur le processus approprié vmwp exe et, dans le menu contextuel, sélectionnez End task pour éteindre la VM et obtenir le VM-Stromstatus correct de la VM.

Turn off Hyper-V Windows services and restart them to fix the error

Remarque : Vous pouvez cliquer avec le bouton droit sur l’en-tête de colonne, par exemple Nom d’utilisateur, puis cliquer sur Sélectionner les colonnes. Sélectionnez les cases à cocher Ligne de commande et Description dans la fenêtre Sélectionner les colonnes , puis cliquez sur OK. Après cela, vous pouvez voir le GUID de la VM pour chaque vmwp exe processus dans Ligne de commande colonne du gestionnaire de tâches.

Ending the vmwp exe service in Windows Task Manager

Méthode 2 : Utilisation de Process Explorer

Vous pouvez identifier l’instance requise du vmwp exe processus lié à la VM problématique à l’aide de Process Explorer, un outil gratuit fourni par Microsoft. Téléchargez Process Explorer, qui contient des options avancées non incluses dans le gestionnaire de tâches standard, à partir du site Web de Microsoft. Décompressez les fichiers Process Explorer dans un dossier personnalisé.

Ouvrez Hyper-V Manager, ouvrez les paramètres de la machine virtuelle problématique et sélectionnez les options du disque dur virtuel. Copiez le chemin d’accès complet vers un fichier de disque dur virtuel. Dans notre cas, ce chemin est :

« E:VMsUbuntu Hyper-VVirtual Hard DisksUbuntu Hyper-V.vhdx »

Checking the location of VM files

Lancez Process Explorer en exécutant le fichier d’exécution approprié (procexp64.exe dans notre cas).

Cliquez sur l’icône en forme de jumelles et collez le chemin d’accès au fichier du disque virtuel de la machine virtuelle bloquée dans le champ Handle ou DLL substring , puis cliquez sur Search.

L’instance de vmwp.exe recherchée est trouvée. Cliquez sur vmwp.exe qui a été trouvée dans la fenêtre de recherche et l’instance appropriée du vmwp exe la sélection automatique se produit dans Process Explorer.

Search for the needed instance of the vmwp exe service in Process Explorer

Cliquez avec le bouton droit sur le processus sélectionné vmwp.exe et dans le menu contextuel, cliquez sur Kill Process.

Killing the vmwp exe process in Process Explorer

Méthode 3 : Utilisation de PowerShell pour arrêter le processus VM

Ouvrons PowerShell et corrigeons l’erreur. Si vous essayez d’exécuter la commande Stop-VM -Force , vous constaterez que cette commande ne permet pas d’arrêter la VM une fois qu’elle est bloquée. Utilisez cette commande pour identifier l’ID unique de la VM :

Get-VM "VM-name" | fl *

Checking the VMID (VM GUID) in PowerShell

Une alternative plus élégante consiste à utiliser ces commandes pour vérifier l’ID :

$VMGUID = (Get-VM "Ubuntu Hyper-V").ID

Get-VM | Select Name, Id

Dans notre cas, nous devons connaître le GUID de la « Ubuntu Hyper-V » VM. Le GUID de cette VM est enregistré en tant que variable $VMGUID dans la mémoire pour cette session PowerShell.

Checking the VM GUID in PowerShell

Exécutez ces commandes pour tuer le processus et arrêter la VM :

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

Stop-Process ($VMWMProc.ProcessId) -Force

Ending the vmwp exe process that makes the VM stuck

Le processus problématique de la VM est désormais tué et la VM est arrêtée. Vous pouvez essayer de modifier les paramètres de la VM et de la lancer.

Autres méthodes pour corriger l’erreur « Hyper-V n’a pas pu changer d’état »

Il peut arriver que vous ayez arrêté le processus VM bloqué dans Hyper-V, mais que la VM ne puisse pas démarrer. Dans ce cas, si vous essayez de démarrer la machine virtuelle, vous pourriez obtenir l’erreur Hyper-V suivante :

Connexion à la machine virtuelle :

Échec de la modification de l’état.

Ci-dessous, je fournis d’autres raisons possibles de l’erreur « Hyper-V n’a pas réussi à changer d’état » erreur, des méthodes qui peuvent aider à corriger l’erreur et comment désactiver complètement les VMs Hyper-V après avoir obtenu cette erreur.

Paramètres du lecteur DVD

Ouvrez les paramètres de la machine virtuelle et vérifiez les options DVD pour la machine virtuelle. Si la machine virtuelle ne peut pas accéder à l’image ISO, l’erreur peut se produire. Assurez-vous que le fichier ISO existe et que le chemin d’accès est défini correctement. Vous pouvez également désactiver un lecteur DVD virtuel si celui-ci n’est pas utilisé dans une machine virtuelle.

Erreurs de stockage

Vérifiez si l’espace disque disponible sur le stockage de la VM est suffisant. Si l’espace disque est insuffisant pour stocker les fichiers de la machine virtuelle, l’erreur de stockage peut bloquer la machine virtuelle et afficher une erreur « Hyper-V n’a pas pu changer d’état » . Si l’erreur de la machine virtuelle est due à un manque d’espace de stockage, vous devrez peut-être exécuter ces commandes pour corriger les erreurs de disque dans les VMs :

sfc /scannow
dism /online /cleanup-image /restorehealth

Si vous ne parvenez pas à amorcer une VM normalement ou si une VM est bloquée dans une boucle continue, insérez une image ISO d’installation Windows dans un lecteur DVD virtuel, amorcez une VM à partir de cette image ISO (ouvrez le BIOS/UEFI virtuel et sélectionnez DVD-ROM comme premier périphérique d’amorçage), sélectionnez Mode de réparation, amorcez CMD et exécutez la commande :

chkdsk /f /r /x c:

Une fois la vérification du disque terminée et les erreurs corrigées, redémarrez la machine virtuelle, démarrez from un disque dur virtuel (la machine virtuelle devrait maintenant démarrer) et exécutez les commandes mentionnées précédemment dans le système d’exploitation invité :

sfc /scannow
dism /online /cleanup-image /restorehealth

Vous devrez peut-être également vérifier vos disques physiques utilisés pour le stockage Hyper-V sur un hôte Hyper-V.

Erreurs de configuration réseau

Vérifiez les paramètres de la carte réseau virtuelle de la machine virtuelle. Si le statut Carte réseau – Erreur de configuration s’affiche pour au moins une carte réseau, vous risquez de rencontrer des problèmes de démarrage/arrêt de la machine virtuelle dans Hyper-V. Les cartes réseau des machines virtuelles doivent être connectées à des commutateurs virtuels existants pour fonctionner normalement. Cette erreur peut s’afficher si la configuration réseau a été modifiée ou endommagée.

Network failure or storage failure can be a reason of errors for Hyper-V VMs

Détection des problèmes dans les journaux

Vérifiez les journaux d’événements Windows et les erreurs liées à Hyper-V. Exécutez compmgmt.msc, puis accédez à Observateur d’événements > Journaux des applications et des services > Microsoft > Windows > Hyper-V-Worker. Si vous voyez des messages d’erreur dans les journaux, l’explication de l’erreur peut vous indiquer la source du problème.

Blocage de l’accès par un logiciel antivirus

Vérifiez les paramètres de votre logiciel antivirus. L’antivirus ne doit pas bloquer l’accès aux fichiers VM Hyper-V. Si l’antivirus bloque l’accès aux fichiers VM, ajoutez les dossiers dans lesquels les fichiers VM sont stockés aux exclusions dans les paramètres de l’antivirus. Hyper-V doit avoir un accès complet aux VM-Ordners und Dateien.

Options d’alimentation de la machine virtuelle

Vérifiez les options d’alimentation dans les paramètres du système d’exploitation invité. Les modes veille et veille prolongée doivent être désactivés. Dans le système d’exploitation invité Windows, ouvrez le Panneau de configuration, puis accédez à Options d’alimentationet assurez-vous que l’option « Mettre l’ordinateur en veille » est réglé sur Jamais. Si Ubuntu Linux est installé comme système d’exploitation invité, utilisez la commande pour désactiver le mode veille :

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Vérification de VMMS

vmms.exe est un processus utilisé par Hyper-V. Assurez-vous que le service de gestion virtuelle Hyper-V (VMMS), qui est l’un des services Hyper-V importants, fonctionne correctement et que le VMMS ne se bloque pas et n’est pas en état de démarrage ou d’arrêt (Statut). Le statut du service doit être Running.

The Hyper-V Virtual Machine Management service is running

Le service VMMS est lié au processus vmms.exe .

The vmms.exe process is related to the Virtual Machine Management service in Hyper-V

Désactivez RRAS

Une mauvaise configuration du service de routage et d’accès à distance (RRAS) peut être la raison du blocage d’une machine virtuelle Hyper-V en raison d’une configuration réseau incorrecte. Essayez de désactiver RRAS dans Windows Server fonctionnant comme hôte Hyper-V.

Appuyez sur Win+R pour ouvrir la boîte de dialogue Exécutez .

Tapez services.msc et appuyez sur Entrez.

Recherchez le Service Routage et accès distant dans la fenêtre Services , cliquez avec le bouton droit sur le service et, dans le menu contextuel, cliquez sur Propriétés. Dans l’onglet Général de la fenêtre Routage et accès distant , cliquez sur Arrêter et modifiez le type de démarrage en Désactivé.

Redémarrage de la machine hôte Hyper-V

Si aucune des méthodes ci-dessus ne fonctionne, essayez de redémarrer la machine hôte Hyper-V. Si vous disposez d’autres hôtes Hyper-V ou d’un cluster Hyper-V haute disponibilité, vous pouvez migrer les VMs en cours d’exécution vers d’autres hôtes, puis arrêter l’hôte Hyper-V contenant la VM problématique.

Réparation d’une VM Hyper-V bloquée dans l’état enregistré

Le blocage d’une machine virtuelle Hyper-V peut se produire non seulement dans l’état de démarrage/arrêt de la machine virtuelle, mais également dans l’état enregistré de la machine virtuelle. Les symptômes sont similaires et vous ne pouvez pas modifier l’état de la machine virtuelle problématique. Les boutons de démarrage/arrêt de la machine virtuelle ne fonctionnent pas. Si vous fermez Hyper-V pendant que vous sauvergardez une machine virtuelle, celle-ci peut se bloquer dans l’état enregistré. Cela peut se produire si le processus de sauvegarde est interrompu et qu’une VM est mise en état sauvegardé. Dans ce cas, la VM peut être corrompue ou endommagée. Explorons les raisons courantes de cette erreur et les méthodes pour la corriger.

Erreurs de disque

Si un disque contenant des fichiers VM est déconnecté pendant qu’une VM est en cours d’exécution, l’erreur peut se produire pour une VM et la VM est mise en état sauvegardé. Cette erreur est plus plausible pour les utilisateurs particuliers d’Hyper-V qui stockent des fichiers VM sur des disques USB. Cependant, les administrateurs des organisations doivent savoir que cette erreur peut être causée par des problèmes de stockage. En cas d’espace disque insuffisant, une VM se bloque et peut également être mise en état sauvegardé. Si vous avez configuré une VM pour utiliser du matériel virtuel qui n’est pas pris en charge par un système d’exploitation invité, la VM peut rester bloquée en état sauvegardé. Ce problème peut se produire si vous créez une nouvelle machine virtuelle et importez un disque virtuel existant avec le système d’exploitation invité installé. Modifiez les options de la machine virtuelle, sélectionnez le contrôleur de stockage approprié et d’autres options de disque. Pour plus d’informations, consultez les articles suivants : Machines virtuelles de génération 1 et machines virtuelles de génération 2

Ressources matérielles insuffisantes

Si vous exécutez plusieurs VMs gourmandes en ressources sur un hôte Hyper-V, en cas de mémoire et de performances du processeur insuffisantes, une VM peut planter et être mise en état sauvegardé. Vous devez alors vous efforcer de réparer la VM qui a planté. Pour éviter ce problème, mettez à niveau votre matériel ou n’exécutez pas plusieurs VMs lourdes sur l’hôte à faibles performances. Si possible, migrez la machine virtuelle vers un autre hôte Hyper-V.

Autorisations de dossier incorrectes

Si les autorisations pour les dossiers et les fichiers de la machine virtuelle sont insuffisantes, la machine virtuelle peut se bloquer dans l’état Enregistré . Ouvrez les propriétés du dossier dans lequel les fichiers de la machine virtuelle sont stockés. Vérifiez les onglets Sécurité et Partage (si une VM se trouve dans un dossier partagé sur le stockage partagé). Définissez les autorisations sur Autoriser tout pour l’utilisateur ou le groupe requis.

Suppression de la machine virtuelle

Il s’agit d’une autre méthode pour résoudre le problème de VM bloquée dans l’état Démarrage/Arrêt/Enregistré si les autres méthodes n’ont pas fonctionné. Vous ne voulez pas perdre de données et, pour cette raison, vous devez copier les fichiers du disque virtuel dans un emplacement sûr. Supprimez ensuite la machine virtuelle problématique, y compris les fichiers de configuration de la machine virtuelle, de leur emplacement d’origine (cliquez avec le bouton droit sur la machine virtuelle et sélectionnez « Supprimer » dans le menu contextuel Supprimer dans le Gestionnaire Hyper-V). Créez une nouvelle VM, copiez les disques virtuels d’une sauvegarde vers l’emplacement de la nouvelle VM et sélectionnez un disque virtuel existant lors de la création d’une nouvelle VM dans Hyper-V.

Une VM est bloquée dans le statut « Sauvegarde »

Un autre problème similaire est celui de la machine virtuelle Hyper-V bloquée dans l’état Exécution avec l’état Sauvegarde . Vous ne pouvez pas démarrer ni arrêter de VMs dans cet état dans le Gestionnaire Hyper-V. Le redémarrage de l’hôte Hyper-V permet généralement de résoudre ce problème, mais le redémarrage n’est pas souhaitable car les autres VMs exécutées sur l’hôte doivent être arrêtées ou migrées.

How to turn off Hyper-V VMs hanging with the backing up status

Cette erreur peut être due à un problème avec le service Microsoft Hyper-V VSS Writer sur l’hôte Hyper-V.

Ouvrez la ligne de commande (CMD) en tant qu’administrateur et exécutez cette commande pour vérifier le statut des rédacteurs VSS :

vssadmin list writers

S’il n’y a pas d’erreurs, la sortie pour chaque rédacteur VSS est similaire à celle affichée sur la capture d’écran ci-dessous.

Checking VSS writers on a Hyper-V host

Le service Microsoft Hyper-V VSS Writer dépend du service parent Hyper-V Virtual Machine Management. Pour cette raison, vous devez redémarrer le service Hyper-V Virtual Machine Management afin de redémarrer le service VSS nécessaire et de résoudre le problème.

Le moyen le plus rapide de redémarrer le service Hyper-V Virtual Machine Management est d’ouvrir Services dans Gestion de l’ordinateur ou exécutez services.msc, cliquez avec le bouton droit sur le nom du service et sélectionnez Redémarrer.

Restarting the Hyper-V Virtual Machine Management service

Si Hyper-V VSS Writer est bloqué et ne répond pas, vous devez terminer manuellement le processus vmms.exe dans le Gestionnaire des tâches. Ouvrez le Gestionnaire des tâches, cliquez avec le bouton droit sur vmms.exe et sélectionnez Terminer l’arborescence des processus dans le menu contextuel.

Ending the vmms.exe process and restarting Virtual Machine Management service

Après avoir terminé le processus vmms.exe , les Virtuelles Maschinen devraient disparaître dans le Gestionnaire Hyper-V. Démarrez le service de gestion des machines virtuelles Hyper-V, et vous devriez voir à nouveau la liste de vos VMs. Le statut de sauvegarde de la machine virtuelle problématique devrait avoir disparu. Le redémarrage de ces services Hyper-V devrait résoudre le problème.

Conclusion

L’erreur « Hyper-V failed to change state » (Hyper-V n’a pas pu changer d’état) est une erreur désagréable pour les utilisateurs et les administrateurs qui utilisent des Virtuelles Maschinen. Heureusement, il est très probable que vous puissiez corriger l’erreur liée au blocage de la machine virtuelle Hyper-V lorsque vous ne pouvez pas arrêter les VMs problématiques. Cet article de blog a examiné les raisons courantes et les méthodes possibles pour corriger les erreurs « Hyper-V failed to change state » (Hyper-V n’a pas pu changer d’état) et « failed to restore virtual machine state » (échec de la restauration de l’état de la machine virtuelle).

Sachez que les données des machines virtuelles peuvent parfois être corrompues après cette erreur, d’autres erreurs et des pannes matérielles. C’est pourquoi il est recommandé d’effectuer régulièrement des sauvegardes des machines virtuelles Hyper-V afin d’éviter toute perte de données. Utilisez NAKIVO Backup & Replication pour sauvegarder vos machines virtuelles Hyper-V avec des performances optimales et des fonctionnalités d’économie d’espace. &

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Les gens qui ont consulté cet article ont également lu