it-swarm.com.de

VM "unzugänglich" geworden - Vagrant funktioniert nicht mehr

Aus irgendeinem Grund bekomme ich heute Morgen, wenn ich ' vagrant up ' renne, die folgende Fehlermeldung (dies hat seit über einem Jahr absolut funktioniert)

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.

Ich könnte versuchen, meinen vorhandenen .vagrant-Ordner zu entfernen und einen Vagabund aufzubauen, aber das wird für unsere sehr langsamen Internetgeschwindigkeiten ewig dauern.

30
Zabs

Das hat bei mir funktioniert

Nach einigem Graben durch die Debug-Ausgabe entdeckte ich, dass VirtualBox, obwohl die tatsächliche VM intakt ist (ich kann sie von der VirtualBox-GUI-App laden und ausführen kann), irgendwo in ihrem Innern diese Eigenschaft als VM kennzeichnet "". Vagrant, der richtig glaubt, was er gesagt hat, spuckt die Fehlermeldung aus.

Nachdem ich mir die Hilfe von VBoxManage angesehen hatte, stellte ich fest, dass einer der Befehle, list vms, alle mit VirtualBox registrierten VMs auflistet:

$ /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}

Eine dieser VMs, die als nicht erreichbar gekennzeichnet sind, ist meine verlorene VM! Zeit zum Reparieren des Wagens von VBoxManage, indem die Registrierung der VM als nicht erreichbar aufgehoben und der Name anschließend erneut mit dem richtigen Namen registriert wird:

  1. Öffnen Sie die Konfigurationsdatei für Ihre verlorene VM. Meine wurde in C:\cygwin\home\Philip\VirtualBox VMs\Rails-vm-v2\Rails-vm-v2.vbox gespeichert.
  2. Suchen und kopieren Sie den Wert des uuid-Attributs des Maschinenknotens. Mein war 9709d3d5-ce4d-42b9-ad5e-07726823fd02.
  3. Heben Sie in einer Windows-Eingabeaufforderung (oder einem Cygwin-Terminal) die Registrierung von VM mit dem Befehl unregistervm auf. Verwenden Sie dazu den Wert [uuid] aus Schritt 2:

    $ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe unregistervm [uuid]
    
  4. Registrieren Sie nun den VM mit dem Befehl registervm und den Pfad zur Konfigurationsdatei VM:

    $ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe registervm C:\cygwin\home\Philip\Virtual VMs\Rails-vm-v2\Rails-vm-v2.vbox
    

    Jetzt sollten Sie die VM wie erwartet starten können.

Quelle: http://www.psteiner.com/2013/04/vagrant-how-to-fix-vm-inaccessible-error.html

11
Zabs

das funktioniert für mich:

In meinem Ordner "C:\Users {Benutzer}\VirtualBox VMs {vm-id}" befinden sich zwei Dateien

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

Das Umbenennen von "{vm-id} .vbox-tmp" in "{vm-id} .vbox" löste mein Problem und ich kann "vagrant up" aufrufen

97

Sie können den .vagrant-Ordner einfach aus Ihrem Projektordner löschen und Vagrant erneut ausführen. 

25
user5454185

Nichts hat hier für mich gearbeitet. 

  1. Ich habe alle Dateien von gelöscht (oder umbenannt, siehe ersten Kommentar) 

C:\Users [YourNameHere] .VirtualBox

  1. Führen Sie Vagrant erneut aus: 

    vagrant up

Jetzt ist es soweit.

7
osanger

Suchen Sie denjenigen, auf den nicht zugegriffen werden kann, mit einem der folgenden Befehle:

$ vagrant global-status

oder:

$ VBoxManage list vms

Notieren Sie sich dann die GUID und entfernen Sie sie aus der VirtualBox.xml-Datei (OS X: ~/Library/VirtualBox/VirtualBox.xml, Windows: %HOME%/.VirtualBox).

Entfernen Sie alternativ den .vagrant-Ordner aus dem Ordner, in dem sich Ihre VM befindet, und beginnen Sie von vorne (vagrant up).

Siehe auch: "Unzugängliche" virtuelle Maschinen können nicht aus der Virtualbox-Benutzeroberfläche gelöscht werden at VirtualBox

4
kenorb

VirtualBox Manager gibt Ihnen wahrscheinlich ein paar nützliche Informationen. In meinem Fall wurde beispielsweise gemeldet, dass die Datei .vbox nicht vorhanden ist.

Nach einem Blick war das Problem in der Tat, dass die Datei nicht existierte - etwas hatte sie in x.vbox-tmp umbenannt (Herunterfahren des PCs mit der VM läuft immer noch?

Ich kopierte die x.vbox-prev-Datei nach x.vbox und versuchte erneut, die VM zu booten, und alles hat gut funktioniert.

4
Danny Wheeler

Mein Problem war dasselbe, aber die Lösung war ziemlich unterschiedlich. Meine VMs sind auf einem Netzlaufwerk gespeichert, auf das über die NFS-Freigabe zugegriffen werden kann. Das Remote-Laufwerk war nach einem Neustart nicht hochgefahren, sodass auf die VMs nicht zugegriffen werden konnte. Es dauerte eine Weile, bis ich den Grund erkannte, und jagte überall SO ohne eine Lösung.

Dann bemerkte ich, dass ich mit dem Gesicht auf die Pfade kam, und alles funktionierte.

Kurz gesagt, es war ein Pfadproblem.

Ich dachte, ich sollte es hier einschließen, falls es jemandem im selben Boot hilft.

2
gbe

Wenn jemand Ihre VM aus dem VirtualBox VMs-Ordner manuell löscht, kann auch auf Ihre VM nicht zugegriffen werden. Sie können Ihre Maschine jedoch nicht zurückbekommen, aber Vagrant zeigt Ihre VM trotzdem in der Liste an. Um es vollständig aus der VM-Liste zu entfernen, gehen Sie zu 

\.vagrant.d\data\machine-index 

und öffnen Sie die Indexdatei. Löschen Sie die Referenz eines nicht erreichbaren Computers. Wenn Sie das nächste Mal den folgenden Befehl ausführen, wird der Computer, auf den Sie nicht zugreifen können, nicht angezeigt.

vagrant global-status --Prune
2
Krishna Gond

Ich musste [vm-id] .vbox-tmp (auf VirtualBox-VMs) in [vm-id] .vbox umbenennen. Danach konnte ich, ohne den .vagrant-Ordner zu löschen, Vagabund ausführen und es funktionierte sehr gut.

0
Anderson