VMware Workstation – Comment forcer l’arrêt d’une machine virtuelle figée ?
I. Présentation
Comment forcer l'arrêt d'une machine virtuelle VMware Workstation qui est figée et refuse de s'arrêter ? C'est la question à laquelle nous allons répondre dans ce tutoriel. Cette manipulation simple permet de se sortir d'une situation qui n'est pas agréable.
II. Le cas de figure
Pour cet exemple, une machine virtuelle Ubuntu complètement plantée sera utilisée. En effet, Ubuntu est particulièrement capricieux avec VMware Workstation et il n'est pas rare que la VM freeze... La VM en question s'appelle "Ubuntu-2404".
Comme nous pouvons le voir, elle affiche un écran noir et les commandes d'extinction habituelles ne sont pas accessibles. Elles sont grisées. Preuve qu'il y a un réel souci avec cette VM.
VMware Workstation indique que la machine virtuelle est occupée : "Virtual machine Ubuntu-2404 is busy".
Comment se sortir de cette situation ? C'est ce que nous allons voir dans la suite de cet article.
III. Tuer le processus VMX de VMware
Chaque machine virtuelle exécutée par l'intermédiaire de la plateforme VMware Workstation est associée à un processus "vmware-vmx" en charge de son exécution. Pour forcer l'arrêt de la VM, il convient de tuer le processus "vmware-vmx" correspondant à cette VM.
Ceci est possible via PowerShell, comme le montre l'exemple ci-dessous
Vous pouvez également utiliser le "Gestionnaire des tâches" de Windows. La logique est la même : rechercher le processus et l'arrêter. Ceci peut être fait l'onglet "Détails" de l'interface, ou via l'onglet "Processus".
Lorsqu'il y a plusieurs processus "vmware-vmx.exe", comment savoir à quelle VM correspond chaque processus ? Pour obtenir une réponse, nous allons utiliser PowerShell ! La commande ci-dessous s'appuie sur la propriété "CommandLine" du processus pour récupérer le chemin vers le VMX.
Get-WmiObject Win32_Process -Filter "Name = 'vmware-vmx.exe'" | Select ProcessId, Name, @{Name = 'VmxFile'; Expression = { ($_.CommandLine.Split(";").Replace("msgs=ui ",""))[-1] }}
Voici un exemple de résultat :
Ensuite, il suffit d'arrêter le processus en précisant son ID :
Get-Process -Id 39584 | Stop-Process
Après avoir effectué cette action , la VM est arrêtée et elle peut être démarrée de nouveau !
Si vous utilisez Ubuntu avec VMware Workstation et que la VM fige très régulièrement, je vous recommande de désactiver l'option "Accelerate 3D graphics" dans les paramètres de la machine virtuelle en question. Ce paramètre se situe dans la section "Display" des paramètres.
IV. Conclusion
Grâce à cette astuce, vous êtes en mesure de forcer l'arrêt de n'importe quelle machine virtuelle sur votre PC équipé de VMware Workstation !
Bonjour,
Merci pour l’astuce (même si personnellement j’utilise bien plus souvent Gnu Linux en système réel).
Personnellement, j’ai l’habitude d’ouvrir 4 machines virtuelles simultanément au minimum.
Comment puis-je savoir que est le processus exact correspondant à l’une des 4 machines qui a planté ?
D’avance merci 🙂
PS : Je n’ai pas lancé la commande PowerShell car je suis encore actuellement sous mon Linux réel.
Pour identifier le bon processus `vmware-vmx` lorsque vous avez plusieurs machines virtuelles ouvertes, vous pouvez utiliser le Gestionnaire des tâches de Windows pour voir la liste des processus en cours. Voici les étapes à suivre :
1. Ouvrez le **Gestionnaire des tâches** (Ctrl + Shift + Esc).
2. Allez dans l’onglet **Détails**.
3. Recherchez les processus nommés `vmware-vmx.exe`.
4. Faites un clic droit sur un processus `vmware-vmx.exe` et sélectionnez **Aller à l’emplacement du fichier**. Cela vous amènera au dossier contenant le fichier `.vmx` associé à ce processus¹.
Une autre méthode consiste à utiliser la commande `vmrun` avec l’option `list` dans l’invite de commande ou PowerShell pour afficher toutes les machines virtuelles en cours d’exécution et leurs chemins d’accès. La commande ressemblera à ceci :
« `shell
vmrun list
« `
Cette commande retournera une liste des machines virtuelles actives et leurs chemins d’accès aux fichiers `.vmx`, ce qui vous permettra d’identifier celle que vous souhaitez gérer².
Assurez-vous de ne pas terminer les processus `vmware-vmx.exe` à moins que cela ne soit absolument nécessaire, car cela pourrait interrompre brusquement les machines virtuelles en cours d’exécution et entraîner une perte de données non enregistrées.
Source : conversation avec Copilot, 24/06/2024
(1) Chemin d’accès au fichier VMX – VMware Docs. https://docs.vmware.com/fr/VMware-Fusion/13/com.vmware.fusion.using.doc/GUID-212F0E8A-5D1B-4DCD-A60C-B34116BDD2D3.html.
(2) Résoudre les problèmes connus de VMware Workstation 16 ou 15 : Take …. https://www.informatiweb-pro.net/virtualisation/vmware/vmware-workstation-15-resoudre-problemes-connus.html.
(3) Fichiers de machine virtuelle – VMware Docs. https://docs.vmware.com/fr/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-CEFF6D89-8C19-4143-8C26-4B6D6734D2CB.html.
Bonjour,
Merci d’avoir ajouté cette réponse de Copilot, mais la solution proposée avec l’option « Aller à l’emplacement du fichier » ne fonctionne pas. Cela renvoie vers l’exécutable dans le répertoire d’installation de VMware Workstation. J’ai trouvé une solution avec PowerShell, je vais mettre à jour l’article.
Le problème avec cette version d’Ubuntu est corrigé dans la dernière version de VMware Workstation, plus besoin de l’accélération 3D.