71

GURU_MEDITATIONエラー状態のVirtualBoxマシンを削除するにはどうすればよいですか?VirtualBoxが実行されていないときにディレクトリを削除するだけで十分ですか?

編集:投稿後、「ファイルマネージャに表示」が移動するディレクトリ全体を削除しました。

次のようになります。

VirtualboxGuruMeditationのスクリーンショット

電源がオフになっておらず、削除もグレー表示されていることに注意してください。これは、ディレクトリを削除する前でも見た目とまったく同じだと思います。

編集2:ファイルを削除した後、コマンドラインの電源オフを試しました。ハングします:

vboxmanage controlvm wmf-vagrant_1354733432 poweroff 0%... 10%... 20%.. ..

編集3:コマンドラインからの登録解除にも失敗します:

VBoxManage unregistervm wmf-vagrant_1354733432 --delete VBoxManage:エラー:ロックされている間はマシン'wmf-vagrant_1354733432'の登録を解除できませんVBoxManage:エラー:詳細:コードVBOX_E_INVALID_OBJECT_STATE(0x80bb0007)、コンポーネントマシン、インターフェイスIMachine、呼び出し先nsISupportsコンテキスト:"登録解除fDelete?(CleanupMode_T)CleanupMode_DetachAllReturnHardDisksOnly:(CleanupMode_T)CleanupMode_DetachAllReturnNone、ComSafeArrayAsOutParam(aMedia))"ファイルVBoxManageMisc.cppの160行目

4

11 に答える 11

144

VBoxHeadless プロセスを強制終了し、「 vagrant destroy」を実行します

「killall」コマンドで vagrant を破棄して kill シグナルを送信すると、次のようになります。

killall -9 VBoxHeadless && vagrant destroy

于 2013-03-02T14:36:56.957 に答える
14

VirtualBox GUI からマシンの電源をオフにできない場合は、vboxmanageコマンド ( VBoxManageOS X の場合)を使用してコマンド ラインから試してください。

vboxmanage controlvm NAMEOFVM poweroff

NAMEOFVMコマンドからの名前で変更しvboxmanage list vmsます。

次に、VM を登録解除して削除します。

vboxmanage unregistervm NAMEOFVM --delete

または手動で削除します。

rm -fr ~/"VirtualBox VMs/NAMEOFVM"
于 2016-03-17T15:24:41.740 に答える
10

この問題にぶつかりました。私が読んだすべてでは、ファイルに直接アクセスするのではなく、常に Virtual Box を介してボックスを管理することをお勧めします。しかし、無効なボックスがあった場合、unregistervm コマンドはそのボックスの削除を拒否し、vagrant destroy は機能しませんでした。最終的に、次のプロセスが機能しました。

  1. 実行中のすべての VBox* プロセスを強制終了します
  2. 「VirtualBox VMs」フォルダーから「boxname」フォルダーを削除します。
  3. ファイル「VirtualBox.xml」を編集し、無効なボックスに対応するタグを削除します。

次に、このコマンドを実行して、ボックスがなくなったことを確認しました。

VBoxManage list vms

その後、同じ名前で新しい vm を作成できました。

于 2014-09-26T00:48:39.160 に答える
4

同様の状態になった VM がありました

$ vagrant up

Bringing machine 'tempu' up with 'virtualbox' provider...
==> mms: Checking if box 'hashicorp/precise64' is up to date...
==> mms: Resuming suspended VM...
==> mms: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "9fcf2203-d4b3-47a1-a307-61bfa580bd28", "--type", "headless"]

Stderr: VBoxManage: error: The machine 'temp-ubuntu' is already locked by a session (or being locked or unlocked)
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Machine, interface IMachine, callee nsISupports
VBoxManage: error: Context: "LaunchVMProcess(a->session, sessionType.raw(), env.raw(), progress.asOutParam())" at line 592 of file VBoxManageMisc.cpp

というプロセスを探しましたが、VBoxHeadless実行されていませんでした。

次に、ps実行して、同じ vm ID を持つこのプロセスを見つけました。

$ ps aux | grep -i virtualbox
user      63466   0.0  0.1  2523608   8396   ??  S     9:36am   0:02.67 /Applications/VirtualBox.app/Contents/MacOS/VBoxManage showvminfo 9fcf2203-d4b3-47a1-a307-61bfa580bd28 --machinereadable

そのプロセスを強制終了すると問題が修正され、VM は実行後に正しく起動しましたvagrant up

于 2015-03-16T16:38:30.280 に答える
3

これは、私が必死になったときに使用するスクリプトです。私が見つけることができる限り、マシンからすべての VM のトレースをワイプします。

VBoxManage list runningvms | awk '{print $2}'  | xargs --no-run-if-empty -t -n1 -IXXX VBoxManage controlvm XXX poweroff                                                           
VBoxManage list vms | awk '{print $2}'  | xargs --no-run-if-empty -t -n1 VBoxManage unregistervm                                                                                  
killall -9 VBoxHeadless                                                                                                                                                           
rm -rf ~/Virtualbox\ VMs/* 
于 2016-11-01T08:38:02.053 に答える
1

64 ビットのマルチプロセッサ ホストで Debian Wheezy を使用しています。すべての VirtualBox データを削除することで最終的に解決できました(ただし、Vagrant ベース ボックスを削除する必要はありませんでした)。

  1. 実行中の場合は Virtualbox を閉じます
  2. sudo apt-get remove --purge virtualbox
  3. ~/.VirtualBox および ~/VirtualBox\ VMs/ を移動または削除します。よくわからない場合は、安全な場所にバックアップしてください。
  4. 再起動。
  5. 仮想ボックスを再インストールします。
  6. virtualbox/vagrant を通常どおり使用します。

より混乱の少ない方法があるかもしれません (たとえば、これらのディレクトリの一部だけを削除するなど)。私の場合、幸いなことに、その時点で使用していた VM は 1 つだけでした。

于 2012-12-08T23:04:54.480 に答える
1

私の場合、現在システムにあるすべての Vagrant ボックスをコマンド ラインで削除したかったので、次のようにしました。

$ vagrant box list | cut -f 1 -d ' ' | xargs -L 1 vagrant box remove -f --all

もちろん、これ以上プロセスが追加されていないことを確認した後:

killall -9 VBoxHeadless && vagrant destroy
No matching processes belonging to you were found
于 2018-10-23T11:52:32.197 に答える
0

Windows 10では、デフォルトのファイアウォール構成を元に戻すこの問題を解決しました。

それが役に立てば幸い...

于 2016-02-16T23:45:52.357 に答える
0

Vagrant を使用して以前に作成された凍結された Virtual Box インスタンスに苦労しています。幸いなことに、同様のチケットに記載されている解決策が見つかりました

したがって、要約すると、タイムアウトエラーが発生したり、Vagrant がプロビジョニングできないと不平を言ったり、Virtual Box に関連するその他の問題が発生した場合は、次のことを試してください。

  1. 最初に仮想ボックス インスタンスを一覧表示します。VmboxManage list vms
  2. 前のコマンドの id|names を使用して、仮想ボックス インスタンスを停止します。VBoxManage startvm VMNAME/id --type emergencystop
  3. 浮浪者ボックスを一覧表示するvagrant box list
  4. 問題の原因となっている vagrant ボックスを 1 つ以上削除します。vagrant remove box ${box-name}
  5. その後、もう一度vagrant upやり直してください。うまくいけば、ビジネスに戻ることができます。

幸運を!

于 2020-10-13T09:34:47.690 に答える