8月から新しい職場でweb開発を始めた駆け出しエンジニアです。
支給PC(Windows)で環境構築中、前日に作ったVMが読み込まれず新しく作成されてしまうという事が起こったので、その対処法について書きます。
0. 環境
- Windows 10 Home
- Vagrant 2.2.5
- VirtualBox 5.2.20
- 環境変数変更済み
- 日本語ユーザー名が原因で
Vagrant
コマンドが失敗するので、環境変数VAGRANT_HOME
をC:\vagrant_home
として設定しています。
- 日本語ユーザー名が原因で
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
で以前の環境が復元できれば成功です。