No.294
【Vagrant】仮想環境がロックされて起動しないとき
upもhaltもできないときの最終手段
Vagrantを使っているとき、ホストマシンを閉じるときに毎回ゲストマシンを終了させればいいんだけど、ノートパソコンなどで外で開発している場合はつい忘れる。
ゲストマシンを起動させたままでもたいていは問題ないけど、たまにゲストマシンがウンともスンとも言わなくなってしまうことがある。
下記のようなメッセージが表示されるケースではゲストマシンがお化けとなって起動したままになってしまっている。
こうなるとvagrant up
もvagrant halt
もできなくなってしまおう。
There was an error while executing VBoxManage, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["modifyvm", "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "--natpf1", "delete", "ssh"]
Stderr: VBoxManage.exe: error: The machine 'xxxxxx_default_xxxxxxxxxxxxx_xxxxx' is already locked for a session (or being unlocked)
そんなときはとりあえずゲストマシンを強制的に止めてしまおう。
コマンドラインから止める
VBoxManage.exe
コマンドを使用する。
VBoxManage.exe controlvm ゲストマシン名 poweroff
パスは通すなりプログラムのディレクトリに移動するなりで。
GUI(Oracle VM VirtualBox マネージャー)から止める
- 止めたいゲストマシンを右クリックする。
- 「閉じる」メニューを選択。
- 「電源OFF」を選択。