Vagrantの仮想マシンとの紐付けの直し方
何かの拍子でVagrantと既存の仮想マシンとの紐付けが削除されて、vagrant up実行時に新たな仮想マシンを作成してしまうことがあります。 たまによくあります。
【環境】
- Windows 7
- Vagrant version 1.2.7
- VirtualBox 4.2.16 r86992
ご利用のVagrantのバージョンによっては設定ファイルの構成が異なります。その場合は本記事末尾のリンク先が参考になるかもしれません。
作成済み仮想マシンを起動しようとして、
$ vagrant up
すると、通常は
[default] VM already created. Booting if it's not already running…
のように表示され、既存の仮想マシンが起動するが、
何かの拍子でVagrantと仮想マシンの紐づけが外れてしまったのか、Vagrantが新しい仮想マシンを作り直してしまうことがある。
それでは困るので、既存の仮想マシンとの紐づけをやり直させる方法。
Vagrantと仮想マシンの紐づけ情報
Vagrantfile
と同じ場所にある .vagrant/
ディレクトリ配下にある以下のファイルで、仮想マシンのUUIDと紐づけされている。
/path/to/.vagrant/machines/default/virtualbox/id
仮想マシンのUUIDを知る
以下のコマンドを叩く。*1
$ VBoxManage.exe list vms
"hoge_default_1380015208" {bf3b3845-6094-1111-b0d6-xxxx8be8272f} # 以前作った既存のVM。こっちを使いたい。
"hoge_default_1380096089" {af4836db-d36c-2222-a073-yyyydb886ce6} # 新規に作られてしまったVM。要らない。
bf3b3845-6094-1111-b0d6-xxxx8be8272f
の部分が仮想マシンのUUID。
Vagrantと仮想マシンの紐づけを修正する
.vagrant/machines/default/virtualbox/id
をエディタで開き、紐づけたい仮想マシンのUUID bf3b3845-6094-1111-b0d6-xxxx8be8272f
を貼り付ける。
※ファイルの中にはUUIDだけが書かれているようにする。
いざ
$ vagrant up
やったぜ。
その他の参考記事
本記事のVagrantより古いバージョン(<1.2.7)をお使いで、.vagrant
がディレクトリでなくファイルの場合
*1:VBoxManage.exeにパスが通ってない?。通常は C:\Program Files\Oracle\VirtualBox あたりにあるんじゃないかしら。