web-dev-qa-db-ja.com

VMは「アクセス不能」になりました-Vagrantは機能しなくなりました

なんらかの理由で、今朝「vagrant up」を実行すると、次のエラーが表示されます(これは1年以上にわたって正常に機能しています)

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.

既存の.vagrantフォルダを削除してvagrant upを試すこともできますが、非常に遅いインターネット速度では永遠に時間がかかります-誰でもこれをすばやく修正する方法を提案できますか?

37
Zabs

これは私のために働いた

デバッグ出力を掘り下げた後、実際のVMがそのまま(VirtualBox GUIアプリからロードして実行できます)でも、その内部でVirtualBoxがこの= VM as ""。Vagrantは、伝えられたことを正しく信じて、エラーメッセージを吐き出します。

VBoxManageのヘルプを見た後、そのコマンドであるvmsをリストすると、VirtualBoxに登録されているすべてのVMが驚くほどリストされないことがわかりました。

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

アクセス不能としてフラグが付けられたこれらのVMの1つは、失われたVMです! VMをアクセス不能として登録解除し、正しい名前で再登録することにより、VBoxManageのワゴンを修正する時が来ました。

  1. 紛失したVMの構成ファイルを開きます。鉱山はC:\cygwin\home\Philip\VirtualBox VMs\Rails-vm-v2\Rails-vm-v2.vboxに保存されました
  2. Machineノードのuuid属性の値を見つけてコピーします。私は9709d3d5-ce4d-42b9-ad5e-07726823fd02.でした
  3. Windowsコマンドプロンプト(またはCygwinターミナル)で、ステップ2の[uuid]値を使用して、unregistervmコマンドでVMの登録を解除します。

    $ C:\Program Files\Oracle\VirtualBox\VBoxManage.exe unregistervm [uuid]
    
  4. Registervmコマンドを使用して、VM構成ファイルへのパスでVMを登録します。

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

    これで、期待どおりVMを開始できるはずです。

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

12
Zabs

これは私のために働く:

「C:\ Users {user}\VirtualBox VMs {vm-id}」フォルダには2つのファイルがあります

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

「{vm-id} .vbox-tmp」から「{vm-id} .vbox」に名前を変更すると問題が解決し、「vagrant up」と呼ぶことができます

114

プロジェクトフォルダーから.vagrantフォルダーを削除して、vagrantを再度実行するだけです。

28
user5454185

ここでは何もうまくいきませんでした。

  1. からすべてのファイルを削除しました(または最初のコメントを参照して名前を変更しました)

C:\ Users [YourNameHere] .VirtualBox

  1. Vagrantを再度実行します。

    vagrant up

これで終了です。

7
osanger

次のコマンドのいずれかでアクセスできないものを見つけます。

$ vagrant global-status

または:

$ VBoxManage list vms

次に、GUIDをメモして、VirtualBox.xmlファイルから削除します(OS X:~/Library/VirtualBox/VirtualBox.xml、Windows:%HOME%/.VirtualBox)。

または、VM)であるフォルダーから.vagrantフォルダーを削除し、最初から開始します(vagrant up)。

関連項目: Virtualbox GUIから「アクセスできない」仮想マシンを削除できません VirtualBox

4
kenorb

VirtualBox Managerは、おそらくあなたにもう少し役立つ情報を提供します。たとえば、私の場合、.vboxファイルが存在しないと報告されました。

見てみると、問題は実際にファイルが存在しないことでした-何かがx.vbox-tmpに名前を変更しました(VMまだ実行中ですか?)

x.vbox-prevファイルをx.vboxにコピーし、VM)を再起動してみましたが、すべて正常に機能しました。

4
Danny Wheeler

誰かがあなたのvmをVirtualBox VMsフォルダーから手動で削除した場合、偶然にも、この場合、vmはアクセスできなくなります。ただし、マシンを元に戻すことはできませんが、vagrantは引き続きリストにvmを表示します。 vmリストから完全に削除するには、

\.vagrant.d\data\machine-index 

インデックスファイルを開きます。アクセスできないマシンの参照を削除します。次回、以下のコマンドを実行すると、アクセスできないマシンは表示されません。

vagrant global-status --Prune
3
Krishna Gond

私の問題は同じでしたが、修正はまったく異なっていました...私のVMはNFS共有によってアクセス可能なネットワークドライブに保存されています。リブート後にリモートドライブが起動しなかったため、VMにアクセスできませんでした。その理由を理解するためにしばらく時間がかかり、その間SO.

それから私は気づき、顔を出し、パスをマウントしましたが、すべてうまくいきました。

要するに、それはパスの問題でした。

同じ船に乗っている人を助ける場合に備えて、ここに含めるべきだと感じました。

2
gbe

[Virtual-ID] .vbox-tmp(VirtualBox VM)の名前を[vm-id] .vboxに変更する必要がありました。その後、.vagrantフォルダーを削除しなくても、vagrantを実行でき、非常にうまく機能しました。

1
Anderson