2015-06-05 13 views
25

Per qualche motivo questa mattina quando ho eseguito 'vagabondo fino' ho il seguente errore (questo ha funzionato assolutamente bene per più di un anno)VM è diventato 'inaccessibile' - Vagrant non funziona più

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. 

Potrei provare a rimuovere la mia cartella .vagrant esistente e fare un vagabondo, ma ci vorrà per sempre con le nostre lente velocità di connessione a Internet - qualcuno può suggerire come risolvere questo problema rapidamente?

+0

Eventuali duplicati di [box virtuale Oracle inaccessibile] (http://stackoverflow.com/questions/22217193/oracle-virtual-box-inaccessible) – shilovk

risposta

8

Questo ha funzionato per me

Dopo un po 'scavare attraverso l'output di debug, ho scoperto che, anche se l'attuale VM è intatto (posso caricare ed eseguire da App VirtualBox GUI), da qualche parte nelle sue viscere, VirtualBox contrassegnato questo VM come "". Vagrant, credendo giustamente che cosa è detto, sputa fuori il messaggio di errore.

Dopo aver esaminato l'aiuto di VBoxManage, ho scoperto che uno dei suoi comandi, lista vms, elenca sorprende che tutte le macchine virtuali registrate con 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} 

Una di quelle macchine virtuali contrassegnati come inaccessibile è il mio perso VM! Tempo per risolvere il carro di VBoxManage, annullando la registrazione del VM come inaccessibile, poi ri-registrazione con il nome corretto:

  1. Aprire il file di configurazione per il vostro perso VM. Il mio è stato salvato in C:\cygwin\home\Philip\VirtualBox VMs\rails-vm-v2\rails-vm-v2.vbox
  2. Trova e copia il valore dell'attributo uuid del nodo Macchina. La mia era 9709d3d5-ce4d-42b9-ad5e-07726823fd02.
  3. In un comando Windows (o terminale Cygwin), annullare la registrazione del VM con il comando unregistervm, utilizzando il valore [uuid] di passaggio 2:

    $ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe unregistervm [uuid] 
    
  4. Ora registrare la VM utilizzando il comando registervm , con il percorso del file di configurazione della VM:

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

    Ora dovrebbe essere possibile avviare la VM come previsto.

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

+1

Salvato il mio giorno (su un host Win7)! Grazie! – macghriogair

74

questo funziona per me:

nel mio "C: \ Users {utente} \ VirtualBox VMs {vm-id}" cartella sono due file

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

Rinominare da "{vm-id} .vbox-tmp" a "{vm-id} .vbox" Ha risolto il problema e che posso chiamare "Vagrant up"

+0

Funziona come un fascino :) http://doodlebobbers.com/vagrant-error-your-vm-has-become-inaccessible/ –

+0

Prova prima questo, questa risposta è migliore di quella accettata in quanto è molto più semplice (SE funziona per te). Ha funzionato come un fascino anche per me :) – Larzan

+0

Ottimo lavoro. Apprezzalo :) – Ashutosh

22

è sufficiente cancellare la cartella .vagrant da la cartella del tuo progetto ed esegui di nuovo il vagabondo.

+0

L'eliminazione della cartella .vagrant potrebbe causare la necessità di ricreare la VM da capo. Se è necessario riparare la VM che è rotta, questa probabilmente non è la strada giusta da percorrere. Se la VM è totalmente usa e getta e ri-creabile, allora questo è un modo semplice per risolvere il problema. – MrException

4

trovare quello che è inaccessibile con uno dei seguenti comandi:

$ vagrant global-status 

o:

$ VBoxManage list vms 

prendere nota del GUID, e rimuoverla dalla VirtualBox.xml immagine (OS X: ~/Library/VirtualBox/VirtualBox.xml, Windows: %HOME%/.VirtualBox).

In alternativa, rimuovere la cartella .vagrant dalla cartella in cui si trova la macchina virtuale e iniziare da zero (vagrant up).

Consulta anche: Cannot Delete "Inaccessible" virtual machines from Virtualbox GUI a VirtualBox

6

Niente qui ha funzionato per me.

  1. ho eliminato (o rinominato vedi primo commento) tutti i file dal

C: \ Users [YourNameHere] .VirtualBox

  1. Run vagabondo di nuovo:

    vagrant up

Ora è finita.

+1

Questo ha funzionato per me, ribattezzato il mio .VirtualBox, basta incassare ed eseguire homestead up/vagrant up. –

+0

aggiungerò questo alla mia soluzione ty – osanger

2

Il mio problema era lo stesso, ma la correzione era abbastanza diversa ... le mie macchine virtuali sono memorizzate su un'unità di rete, accessibile dalla condivisione NFS. L'unità remota non era riuscita a venire dopo un riavvio, quindi le VM non erano accessibili. Mi ci è voluto un po 'per capire la ragione, e nel frattempo ho dato la caccia a tutto SO senza una soluzione.

Poi ho capito, facepalmed, montato i percorsi, e tutto ha funzionato.

Quindi, in breve, è stato un problema di percorso.

Ho sentito che dovrei includerlo qui nel caso in cui aiuti qualcuno nella stessa barca.

4

VirtualBox Manager probabilmente ti darà un po 'più di informazioni utili, ad esempio nel mio caso ha segnalato che il file .vbox non esisteva.

Dopo aver dato un'occhiata il problema era, infatti, che il file non esiste - qualcosa era cambiato titolo al x.vbox-tmp (? Chiudendo la PC verso il basso con la VM ancora in esecuzione forse)

Ho copiato il file x.vbox-prev a x.vbox e provato a riavviare la VM e tutto ha funzionato bene.

+0

Ho scelto l'altro file, il homestead-7.vbox-tmp e lo ho rinominato in homestead-7.vbox e di nuovo ha funzionato. – liamvictor

+1

Ho anche scelto '.vbox-prev' su' x.vbox-tmp', con il pensiero che il temp possa avere incongruenze dalla chiusura inaspettata. (Grazie aggiornamento di Windows.) –

0

Ho dovuto rinominare [vm-id] .vbox-tmp (su VirtualBox VM) su [vm-id] .vbox. Dopodiché, senza eliminare la cartella .vagrant, ho potuto girare vagabondo e ha funzionato molto bene.

+0

Questa sembra la stessa soluzione descritta nella risposta di @Danny Wheeler e i suggerimenti nei suoi commenti. –

2

Per caso se qualcuno cancella manualmente il tuo VM dalla cartella VirtualBox VM, anche in questo caso il tuo VM diventerebbe inaccessibile.Tuttavia, non sarai in grado di riavere la tua macchina ma vagabondo mostrerà ancora il tuo VM nella lista. Per rimuoverlo completamente dalla lista vm, andare a

\.vagrant.d\data\machine-index 

e aprire il file di indice. Elimina il riferimento della macchina inaccessibile. La prossima volta che eseguirai il comando di sotto, non mostrerà la tua macchina inaccessibile.

vagrant global-status --prune 
+0

quella bandiera della prugna è un buon consiglio! – Zabs

+0

Grazie! Viene utilizzato per eliminare la cache creata in precedenza, quindi genera lo stato più recente. –