Comment supprimer une machine VirtualBox avec l'état d'erreur GURU_MEDITATION? Est-ce suffisant de supprimer le répertoire alors que VirtualBox n'est pas en cours d'exécution?
ÉDITER: Après la publication, j'ai supprimé le répertoire entier vers lequel "Afficher dans le Gestionnaire de fichiers" accède.
Ça ressemble à:
Notez qu’il n’ya pas de courant, et que même supprimer est grisé. Je crois que c’est exactement la même chose qu’avant la suppression du répertoire.
EDIT 2: J'ai essayé d'extraire la ligne de commande après la suppression des fichiers. Il se bloque:
vboxmanage controlvm wmf-vagrant_1354733432 poweroff 0% ... 10% ... 20% ...
EDIT 3: Il ne parvient pas non plus à le désenregistrer de la ligne de commande:
VBoxManage unregistervm wmf-vagrant_1354733432 --delete VBoxManage: erreur: impossible d'annuler l'enregistrement de la machine 'wmf-vagrant_1354733432' tant qu'elle est est verrouillé VBoxManage: erreur: Détails: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), composant Machine, interface IMachine, appelé Contexte nsISupports: "Annuler l'inscription (fDelete? (CleanupMode_T) CleanupMode_DetachAllReturnHardDisksOnly: (CleanupMode_T) CleanupMode_DetachAllReturnHardDisksOnly: (CleanupMode_T) VBoxManageMisc.cpp
Tuez le processus VBoxHeadless et exécutez " vagrant destroy "
Détruire vagabond et envoyer le signal de destruction 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 d'accéder directement aux fichiers. Mais quand j'ai eu une boîte invalide, la commande unregistervm a refusé de la supprimer et vagrant destroy n'a pas fonctionné. En fin de compte, le processus suivant a fonctionné.
J'ai ensuite exécuté cette commande pour vérifier que la boîte était partie.
VBoxManage list vms
Après cela, j'ai pu créer un nouveau vm avec le même nom.
Si vous ne pouvez pas éteindre la machine à partir de l'interface graphique de VirtualBox, essayez à partir de la ligne de commande en utilisant la commande vboxmanage
(VBoxManage
sur OS X), par exemple:
vboxmanage controlvm NAMEOFVM poweroff
Changez NAMEOFVM
avec le nom de la commande vboxmanage list vms
.
puis annulez l'enregistrement et supprimez la machine virtuelle:
vboxmanage unregistervm NAMEOFVM --delete
Ou supprimez-le manuellement:
rm -fr ~/"VirtualBox VMs/NAMEOFVM"
J'ai eu un VM qui s'est retrouvé dans 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 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 résolu le problème et VM a démarré correctement après l'exécution de vagrant up
C'est un script que j'utilise quand je suis désespéré. Il efface autant de traces de VM de la machine que je peux trouver:
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/*
J'utilise Debian Wheezy sur un hôte multi-processeurs 64 bits. J'ai finalement réussi à le résoudre en en supprimant toutes les données de VirtualBox} (bien que vous n'ayez pas eu besoin de supprimer la boîte de base Vagrant):
Il peut y avoir un moyen moins perturbant (par exemple, de ne supprimer que des parties de ces répertoires). Dans mon cas, heureusement, je n'utilisais qu'un seul VM à la fois.
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 ça aide...
Dans mon cas, je voulais supprimer TOUTES les boîtes Vagrant que j'ai actuellement sur mon système par une ligne de commande. Je l'ai fait en:
$ vagrant box list | cut -f 1 -d ' ' | xargs -L 1 vagrant box remove -f --all
Bien sûr, après s’être assuré qu’aucun processus supplémentaire n’est associé:
killall -9 VBoxHeadless && vagrant destroy
No matching processes belonging to you were found