web-dev-qa-db-fra.com

VM est devenu 'inaccessible' - Vagrant ne travaille plus

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?

30
Zabs

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:

  1. Ouvrez le fichier de configuration de votre ordinateur virtuel perdu. Le mien a été sauvegardé dans C:\cygwin\home\Philip\VirtualBox VMs\Rails-vm-v2\Rails-vm-v2.vbox
  2. Recherchez et copiez la valeur de l'attribut uuid du nœud Machine. Le mien était 9709d3d5-ce4d-42b9-ad5e-07726823fd02.
  3. 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]
    
  4. 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

11
Zabs

cela fonctionne pour moi:

Dans mon dossier "C:\Utilisateurs {utilisateur}\\ VM VirtualBox {vm-id}" se trouvent deux fichiers.

  • {vm-id} .vbox-prev
  • {vm-id} .vbox-tmp

Renommer de "{vm-id} .vbox-tmp" en "{vm-id} .vbox" a résolu mon problème et je peux appeler "vagabond"

97
Ultimate Fighter

Vous pouvez simplement supprimer le dossier .vagrant de votre dossier de projet et le relancer à nouveau. 

25
user5454185

Rien ici n'a fonctionné pour moi. 

  1. J'ai supprimé (ou renommé voir le premier commentaire) tous les fichiers de 

C:\Utilisateurs [YourNameHere] .VirtualBox

  1. Courez vagabond à nouveau: 

    vagrant up

Maintenant c'est fini.

7
osanger

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

4
kenorb

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

4
Danny Wheeler

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.

2
gbe

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
2
Krishna Gond

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.

0
Anderson