Comment supprimer une machine virtuelle dans l’état d’erreur GURU_MEDITATION?

Comment supprimer un ordinateur VirtualBox dans l’état d’erreur GURU_MEDITATION? Est-ce suffisant de supprimer le répertoire pendant que VirtualBox ne fonctionne pas?

EDIT: Après avoir posté, j’ai supprimé tout le répertoire vers lequel “Show in File Manager” navigue.

Ça ressemble à:

Capture d'écran de Virtualbox Guru Meditation

Notez qu’il n’y a pas de mise hors tension, et même supprimer est grisé. Je crois que c’est exactement la même chose avant même de supprimer le répertoire.

EDIT 2: J’ai essayé la ligne de commande poweroff après avoir supprimé les fichiers. Il se bloque:

vboxmanage controlvm wmf-vagrant_1354733432 poweroff 0% … 10% … 20% …

EDIT 3: Il ne parvient pas non plus à annuler l’enregistrement de la ligne de commande:

VBoxManage unregistervm wmf-vagrant_1354733432 –delete VBoxManage: erreur: Impossible de désenregistrer la machine ‘wmf-vagrant_1354733432’ alors qu’elle est verrouillée VBoxManage: erreur: Détails: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), composant Machine, interface IMachine, fDelete? (CleanupMode_T) CleanupMode_DetachAllReturnHardDisksOnly: (CleanupMode_T) CleanupMode_DetachAllReturnNone, ComSafeArrayAsOutParam (aMedia)) “à la ligne 160 du fichier VBoxManageMisc.cpp

Tuez le processus VBoxHeadless et exécutez ” vagrant destroy ”

Détruire le vagrant et envoyer le signal de suppression avec la commande “killall” ressemble à ceci:

killall -9 VBoxHeadless && vagrant destroy

Je frappe ce problème. Tout ce que j’ai lu recommande de toujours gérer les boîtes via Virtual Box, et non directement accéder aux fichiers. Mais quand j’avais une case invalide, la commande unregistervm refusait de la supprimer et la destruction vaginale ne fonctionnait pas. Finalement, le processus suivant a fonctionné.

  1. Tuer tous les processus VBox en cours d’exécution
  2. Supprimez le dossier “boxname” du dossier “VirtualBox VMs”
  3. Editez le fichier “VirtualBox.xml” et supprimez la balise correspondant à la case non valide.

J’ai ensuite exécuté cette commande pour vérifier que la boîte avait disparu.

 VBoxManage list vms 

Après cela, j’ai pu créer une nouvelle vm avec le même nom.

Si vous ne pouvez pas mettre la machine hors tension à partir de l’interface graphique de VirtualBox, essayez à partir de la ligne de commande en utilisant la commande VBoxManage ( VBoxManage sous OS X), par exemple:

 vboxmanage controlvm NAMEOFVM poweroff 

Modifiez NAMEOFVM avec le nom de la commande vboxmanage list vms .

puis désinscrire et supprimer la VM:

 vboxmanage unregistervm NAMEOFVM --delete 

Ou supprimez-le manuellement:

 rm -fr ~/"VirtualBox VMs/NAMEOFVM" 

J’ai eu une VM qui a eu un état similaire

 $ vagrant up Bringing machine 'tempu' up with 'virtualbox' provider... ==> mms: Checking if box 'hashicorp/precise64' is up to date... ==> mms: Resuming suspended VM... ==> mms: Booting VM... There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["startvm", "9fcf2203-d4b3-47a1-a307-61bfa580bd28", "--type", "headless"] Stderr: VBoxManage: error: The machine 'temp-ubuntu' is already locked by a session (or being locked or unlocked) VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Machine, interface IMachine, callee nsISupports VBoxManage: error: Context: "LaunchVMProcess(a->session, sessionType.raw(), env.raw(), progress.asOutParam())" at line 592 of file VBoxManageMisc.cpp 

J’ai cherché un processus appelé VBoxHeadless , mais il ne fonctionnait pas.

J’ai ensuite lancé ps et trouvé ce processus avec le même identifiant de vm:

 $ ps aux | grep -i virtualbox user 63466 0.0 0.1 2523608 8396 ?? S 9:36am 0:02.67 /Applications/VirtualBox.app/Contents/MacOS/VBoxManage showvminfo 9fcf2203-d4b3-47a1-a307-61bfa580bd28 --machinereadable 

Tuer ce processus a corrigé le problème et VM a démarré correctement après avoir lancé

J’utilise Debian Wheezy sur un hôte multi-processeur 64 bits. J’ai pu résoudre le problème en supprimant toutes les données VirtualBox (bien que vous n’ayez pas besoin de supprimer la boîte de base Vagrant):

  1. Fermer Virtualbox en cours d’exécution
  2. sudo apt-get remove –purge virtualbox
  3. Déplacer ou supprimer ~ / .VirtualBox et ~ / VirtualBox \ VMs /. Si vous n’êtes pas sûr, sauvegardez-les dans un endroit sûr.
  4. Redémarrer.
  5. Réinstallez virtualbox.
  6. Utilisez virtualbox / vagrant comme d’habitude.

Il peut y avoir un moyen moins perturbateur (par exemple, ne supprimer que des parties de ces répertoires). Dans mon cas, heureusement, je n’utilisais qu’une seule machine virtuelle à la fois.

C’est un script que j’utilise quand je suis désespéré. Il efface autant de traces de VM que de machines:

 VBoxManage list runningvms | awk '{print $2}' | xargs --no-run-if-empty -t -n1 -IXXX VBoxManage controlvm XXX poweroff VBoxManage list vms | awk '{print $2}' | xargs --no-run-if-empty -t -n1 VBoxManage unregistervm killall -9 VBoxHeadless rm -rf ~/Virtualbox\ VMs/* 

Sur Windows 10, j’ai résolu ce problème en définissant les configurations de pare-feu par défaut.

J’espère que cela aide…

Vous pouvez utiliser la commande ci-dessous pour supprimer VM de la boîte de dialog virtuelle.

 vagrant destroy 

Et utilisez la commande ci-dessous pour créer une machine virtuelle et recommencer

 vagrant up