現象
Mac上で起動しているVagrantのVM内で作業していたところ、バッテリー切れでMacが強制シャットダウンした。 その後、起動して、 Vagrant up でVagrant を起動したところ、作業していたVMではなく、新規VMが立ち上がるようになってしまった。
作業途中のファイルが失われてしまい、とても困った。
復旧する
この方法で以前のVMを起動することができた。
VirutalBoxのコマンドラインインターフェース VBoxManage を使って仮想マシンの情報を表示する。
$ VBoxManage list vms "aaa_1491870543558_52578" {945beac3-3920-4eec-947e-bfce8e017aaa} "bbb_1493466062889_97138" {462256fa-197f-477d-b1ff-7cc74e401bbb} "ccc_1505786401940_15041" {9c2a6b5c-7cce-46e3-b60a-76e3e1324ccc}
作成した日時の昇順に表示されるので、一番下が直近に作成したVM。 一番下は、新規作成されたVMなので、1つ前の、bbb_1493… のVMを起動するように設定し直す。
以下のファイルを開き、VMのUID()を置き換える。
$ vi .vagrant/machines/default/virtualbox/id
462256fa-197f-477d-b1ff-7cc74e401bbb
VMを再起動
$ vagrant reload
復旧できた。やったぜ。