webdevqa.jp.net

GURU_MEDITATIONエラー状態のvirtualboxマシンを削除するにはどうすればよいですか?

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

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

次のようになります。

Screenshot of Virtualbox Guru Meditation

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

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

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

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

VBoxManage unregistervm wmf-vagrant_1354733432 --delete VBoxManage:error:マシン「wmf-vagrant_1354733432」のロックを解除できないfDelete?(CleanupMode_T)CleanupMode_DetachAllReturnHardDisksOnly:(CleanupMode_T)CleanupMode_DetachAllReturnNone、ComSafeArrayAsOutParam(aMedia)) "ファイルVBoxManageMisc.cppの160行目

59

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

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

killall -9 VBoxHeadless && vagrant destroy

125
jonathan

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

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

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

VBoxManage list vms

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

10
Will Glass

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

vboxmanage controlvm NAMEOFVM poweroff

NAMEOFVMvboxmanage list vmsコマンドの名前に変更します。

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

vboxmanage unregistervm NAMEOFVM --delete

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

rm -fr ~/"VirtualBox VMs/NAMEOFVM"
9
kenorb

私は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

3
Gianfranco P.

これは、必死になったときに使用するスクリプトです。私が見つけることができる限り、マシンからのすべての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/* 
3
ianmiell

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

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

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

1

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

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

0
V1NNY

私の場合、現在システムにあるすべての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
0
HMagdy