vagrant destroyコマンドの実行時に発生する「Cannot unregister the machine~」の対処方法について解説します。
事象
Vagrant環境で、VirtualBoxプロバイダーを使用して「vagrant destroy」コマンドを実行した際、下記のエラーが出力されます。
また、VirtualBoxマネージャーがロックされて使用出来なくなりました。
PS C:\VM\Vagrant\Test01> vagrant destroy default: Are you sure you want to destroy the 'default' VM? [y/N] y ==> default: Destroying VM and associated drives... There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below. Command: ["unregistervm", "78bac5fd-2755-46d9-a0b8-20262604ea83", "--delete"] Stderr: VBoxManage.exe: error: Cannot unregister the machine 'Test01' while it is locked VBoxManage.exe: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component MachineWrap, interface IMachine, callee IUnknown VBoxManage.exe: error: Context: "Unregister(CleanupMode_DetachAllReturnHardDisksOnly, ComSafeArrayAsOutParam(aMedia))" at line 228 of file VBoxManageMisc.cpp
対処方法
今回の事象が発生した原因は不明ですが、VirtualBoxマネージャーが使用出来なくなり(仮想マシンの起動や停止が出来ない)、すごく困ったため、その対処方法(VirtualBoxマネージャーを使えるようにする方法)を説明します。
まずは、VirtualBoxマネージャーが起動している場合は、閉じます。
次に、タスクマネージャーなどで以下のプロセスをキルします。
コマンドプロンプトなどを使用しても構いません。
- VirtualBox Interface
- VirtualBox Global Interface(必須ではないけどキルした方がいいかも)
以下はタスクマネージャーでの表示です(赤枠が対象のプロセスです)
再度、VirtualBoxマネージャーを起動し、操作が出来るようになっていれば、作業は完了です。
リンク
コメント