Edited at

vagrant up時に以前作ったVMが読み込まれない時の対処法(Windows)

8月から新しい職場でweb開発を始めた駆け出しエンジニアです。

支給PC(Windows)で環境構築中、前日に作ったVMが読み込まれず新しく作成されてしまうという事が起こったので、その対処法について書きます。


0. 環境


1. 紐付けされているUUIDを調べる

.vagrant/machines/default/virtualbox/idに現在紐付けされている仮想マシンのUUIDが記入されています。

Vagrantfileのあるディレクトリで次のコマンドを実行します。

PS> cat .vagrant/machines/default/virtualbox/id

xxxxxxx-1111-xxxxx...

xxxxxx-1111....が現在紐付けされているUUIDです。


2. VBoxManage.exeで仮想マシン一覧を確認

まず、環境変数(PATH)にVBoxManage.exeのあるディレクトリを追加します。

デフォルトでは(C:\Program Files\Oracle\VirtualBox)になると思います。

仮想マシン一覧を表示します。

PS> VBoxManage list vms

"ubuntu-1804_default_12341234" {xxxxxx-1111-...}
"ubuntu-1804_default_22222222" {xxxxxx-2222-...}

{xxxxx-1111...}の部分がUUIDです。


ここで先ほど調べたUUIDと異なる、以前作成したものがあればUUIDを控えます。

しかし私の場合、現在紐付けされているものしか表示されませんでした。


(3. 仮想マシンを追加)

*.vboxファイルの置いてあるフォルダを確認します。

C:\vagrant_homeに昨日作成した、目的の仮想マシン(ubuntu-1804_*.vbox)が見つかりました。

VitualBoxのGUIを起動し、「仮想マシン」 >「追加」から該当する*.vboxファイルを追加します。

再度、仮想マシンの一覧を表示します。

PS> VBoxManage list vms

"ubuntu-1804_default_12341234" {xxxxxx-1111-...}
"ubuntu-1804_default_99999999" {xxxxxx-xxxx-...}

先ほど追加した仮想マシンが表示されているので、UUIDを控えます。


4. idファイルを書き換える

先ほどのファイル(.vagrant\machines\default\virtualbox\id)の中身を、控えておいたUUIDで書き換えます。

vagrant upで以前の環境が復元できれば成功です。


参考