vagrant virtualbox

Ubuntu上のVagrantの仮想マシンがVBOX_E_INVALID_VM_STATEで起動できない場合の対処方法

はじめに

Ubuntu18.04上でVagrantの仮想マシンを起動しようとしたところ、VBOX_E_INVALID_VM_STATE (0x80bb0002)というエラーが出て起動できなくなってしまいました。調べてみるとコマンド1つで簡単に解決できました。この記事でその時の症状と解決策についてメモします。なお、VBOX_E_INVALID_OBJECT_STATE (0x80bb0007)に対しても有効であった報告も見つけたので試してみる価値はあるかもしれません。

前提と環境

この記事では以下を前提としています。

  • ホストOS : Ubuntu18.04
  • Vagrant : ver 2.2.4
  • VirtualBox : ver 6.0.4

症状

Vagrant上の仮想マシンを起動した状態(vagrant upした状態)で、パソコンの電源が切れてしまいました。そこでパソコンを再起動後に改めてvagrant upを実行したところ、以下の様なエラーが表示されました。

$ vagrant up
Bringing machine 'vccw.test' up with 'virtualbox' provider...
==> vccw.test: Checking if box 'vccw-team/xenial64' version '20180107' is up to date...
==> vccw.test: Unpausing the VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["controlvm", "c345b9b6-we4h-243v-nj89-f1092wa5b8j9", "resume"]

Stderr: VBoxManage: error: VM is paused due to host power management
VBoxManage: error: Details: code VBOX_E_INVALID_VM_STATE (0x80bb0002), component ConsoleWrap, interface IConsole, callee nsISupports
VBoxManage: error: Context: "Resume()" at line 409 of file VBoxManageControlVM.cpp

上記の中でvccw.testというのは仮想マシンの名前です。
エラーを特定できそうな情報として、 VBOX_E_INVALID_VM_STATE (0x80bb0002)が表示されています。
このエラーの内容は、以下のVirtualBoxのページに記載されています。このページには、 VBOX_E_INVALID_VM_STATE (0x80bb0002)のようなコードがリストされており、簡単ではありますが説明もあるので解決の手がかりになるかもしれません。

解決策

解決策は、以下のコマンドを端末で実行します。

$ vboxmanage startvm c345b9b6-we4h-243v-nj89-f1092wa5b8j9 --type emergencystop

上記のstartvmの後に続くc345b9b6-we4h-243v-nj89-f1092wa5b8j9は、前節のエラーメッセージの内容に含まれていた仮想マシンのIDになります。
なお、上記コマンドを実行しても何も表示されませんが、上記コマンドを実行後にvagrant upを実行すると、無事に仮想マシンを起動できました。

$ vagrant up

なお、インターネットで検索してみたところ、VBOX_E_INVALID_OBJECT_STATE (0x80bb0007)の場合も上記のコマンドで解決できたとの報告がいくつかありましたので一応メモしておきます。VBOX_E_INVALID_OBJECT_STATE (0x80bb0007)の場合はalready locked for a sessionというメッセージも確認できるようです。

まとめ

Vagrantを使っていてあまりトラブルに遭遇することもなく少々解決するのに時間がかかってしまいましたのでメモしておきます。同様の症状が出ている方の助けとなれば幸いです。

SPONSORED LINK

コメントを残す

メールアドレスが公開されることはありません。