Pour une raison quelconque, ce matin, quand je cours « vagrant up 'j'obtiens l'erreur suivante (cela fonctionne parfaitement depuis plus d'un an)
Your VM has become "inaccessible". Unfortunately, this is a critical error with VirtualBox that Vagrant can not cleanly recover from. Please open VirtualBox and clear out your inaccessible virtual machines or find a way to fix them.
Je pourrais essayer de supprimer mon dossier .vagrant existant et de faire un vagabond, mais cela prendra une éternité sur notre vitesse très lente d'Internet - quelqu'un peut-il suggérer comment résoudre ce problème rapidement?
Cela a fonctionné pour moi
Après avoir fouillé dans la sortie de débogage, j'ai découvert que, même si l'actuel VM est intact (je peux le charger et l'exécuter à partir de l'application d'interface graphique de VirtualBox), quelque part dans ses tripes, VirtualBox a signalé ceci VM comme "". Vagrant, croyant à juste titre ce qui est dit, crache le message d'erreur.
Après avoir consulté l’aide de VBoxManage, j’ai trouvé que l’une de ses commandes, list vms, énumère sans surprise toutes les machines virtuelles enregistrées avec VirtualBox:
$ /cygdrive/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe list vms
"precise64" {3613de48-6295-4a91-81fd-36e936beda4b}
"<inaccessible>" {2568227e-e73d-4056-978e-9ae8596493d9}
"<inaccessible>" {0fb42965-61cb-4388-89c4-de572d4ea7fc}
"<inaccessible>" {c65b1456-5771-4617-a6fb-869dffebeddd}
"<inaccessible>" {9709d3d5-ce4d-42b9-ad5e-07726823fd02}
L'un de ces ordinateurs virtuels marqués comme inaccessibles est mon ordinateur virtuel perdu! Il est temps de réparer le wagon de VBoxManage, en annulant l'enregistrement de VM comme inaccessible, puis en le ré-enregistrant avec le nom correct:
C:\cygwin\home\Philip\VirtualBox VMs\Rails-vm-v2\Rails-vm-v2.vbox
9709d3d5-ce4d-42b9-ad5e-07726823fd02.
Dans une invite de commande Windows (ou un terminal Cygwin), annulez l'enregistrement de VM avec la commande unregistervm
, à l'aide de la valeur [uuid]
à l'étape 2:
$ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe unregistervm [uuid]
Enregistrez maintenant le VM en utilisant la commande registervm, avec le chemin d'accès au fichier de configuration VM:
$ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe registervm C:\cygwin\home\Philip\Virtual VMs\Rails-vm-v2\Rails-vm-v2.vbox
Vous devriez maintenant pouvoir démarrer le VM comme prévu.
Source: http://www.psteiner.com/2013/04/vagrant-how-to-fix-vm-inaccessible-error.html
cela fonctionne pour moi:
Dans mon dossier "C:\Utilisateurs {utilisateur}\\ VM VirtualBox {vm-id}" se trouvent deux fichiers.
Renommer de "{vm-id} .vbox-tmp" en "{vm-id} .vbox" a résolu mon problème et je peux appeler "vagabond"
Vous pouvez simplement supprimer le dossier .vagrant de votre dossier de projet et le relancer à nouveau.
Rien ici n'a fonctionné pour moi.
C:\Utilisateurs [YourNameHere] .VirtualBox
Courez vagabond à nouveau:
vagrant up
Maintenant c'est fini.
Recherchez celle qui est inaccessible avec l'une des commandes suivantes:
$ vagrant global-status
ou:
$ VBoxManage list vms
Notez ensuite le GUID et supprimez-le du fichier VirtualBox.xml
(OS X: ~/Library/VirtualBox/VirtualBox.xml
, Windows: %HOME%/.VirtualBox
).
Vous pouvez également supprimer le dossier .vagrant
du dossier où se trouve votre VM et recommencer à zéro (vagrant up
).
Voir aussi: Impossible de supprimer des machines virtuelles "inaccessibles" de l'interface graphique de Virtualbox at VirtualBox
VirtualBox Manager vous fournira probablement des informations un peu plus utiles, par exemple, dans mon cas, il a signalé que le fichier .vbox
n'existait pas.
Après avoir jeté un coup d’œil au problème, c’est que le fichier n’existait pas - quelque chose l’avait renommé x.vbox-tmp
(éteindre le PC avec la VM toujours en cours d’exécution?)
J'ai copié le fichier x.vbox-prev
dans x.vbox
et j'ai essayé de redémarrer le VM à nouveau et tout a bien fonctionné.
Mon problème était le même, mais le correctif était assez différent ... mes machines virtuelles sont stockées sur un lecteur réseau, accessible par le partage NFS. Le lecteur distant ne s'étant pas présenté après un redémarrage, les ordinateurs virtuels n'étaient pas accessibles… .. Il m'a fallu un certain temps pour comprendre la raison, et entre-temps, nous avons recherché SO sans solution.
Puis j'ai réalisé, facepalmed, monté les chemins, et tout a fonctionné.
Donc, en un mot, c'était un problème de chemin.
Je sentais que je devrais l'inclure ici au cas où cela aiderait quelqu'un dans le même bateau.
Par chance, si quelqu'un supprime manuellement votre machine virtuelle du dossier des machines virtuelles VirtualBox, dans ce cas également, votre machine virtuelle deviendrait inaccessible. Cependant, vous ne pourrez pas récupérer votre machine, mais vagrant affichera toujours votre machine virtuelle dans la liste. Pour le supprimer complètement de la liste de vm, allez à
\.vagrant.d\data\machine-index
et ouvrir le fichier index. Supprimer la référence de la machine inaccessible. La prochaine fois que vous exécuterez une commande ci-dessous, votre machine inaccessible ne s'affichera pas.
vagrant global-status --Prune
J'ai dû renommer [vm-id] .vbox-tmp (sur les machines virtuelles VirtualBox) en [vm-id] .vbox. Après cela, sans supprimer le dossier .vagrant, je pouvais courir vagabonder et cela fonctionnait très bien.