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で以前の環境が復元できれば成功です。