環境
$ VBoxManage -v
6.0.16r135674
仮想マシンを起動しようとして、こんなエラーになってとても困ったという話。
$ VBoxManage startvm "仮想マシン名" --type headless
VBoxManage: error: Could not find a registered machine named '仮想マシン名'
VBoxManage: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBoxWrap, interface IVirtualBox, callee nsISupports
VBoxManage: error: Context: "FindMachine(Bstr(pszVM).raw(), machine.asOutParam())" at line 721 of file VBoxManageMisc.cpp
仮想マシンの一覧を見るとinaccessible
になっているし、GUIで見ても仮想マシンにアクセスできなくなってたりします。
$ VBoxManage list vms
...
"<inaccessible>" [仮想マシンのUUID]
どうやら、仮想マシンの電源を入れたままホスト側をシャットダウンすると、こういう状態になることがあるようで…。
GUIで見ると、ISOファイルにアクセスできないとか出てたので
仮想マシンが置いてあるディレクトリにある[仮想マシン名].vbox
、[仮想マシン名].vbox-prev
という2つのファイルを開き、以下の記述を探して
<DVDImages>
<Image uuid="[UUID]" location="/path/to/VBoxGuestAdditions.iso"/>
</DVDImages>
次にアタッチされている場所を探します。で、いくつか書かれているのですが、port="1"
となっている部分を削除。
<AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0">
<Image uuid="[UUID]"/>
</AttachedDevice>
これで、仮想マシンを認識できるようになります。
1度仮想マシンの一覧から削除して、.vbox
ファイルを選んで仮想マシンを開き直してください。