28/06/2024

VMware

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".

Forcer arrêt VM avec Gestionnaire des tâches - VMware Workstation

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.

VMware Workstation - Configurer VM Ubuntu

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 !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “VMware Workstation – Comment forcer l’arrêt d’une machine virtuelle figée ?

  • 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.

    Répondre
    • 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.

      Répondre
      • 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.

        Répondre

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.