no-image

「VagrantとVirtualBoxの仮想開発環境構築がうまくいかない」の解決事例

VagrantとVirtualBoxの開発環境構築で大変苦しみましたが解決できましたので、そのときの事例をかきたいと思います。

筆者のPC環境

  • Windows10
  • Vagrant -v 2.2.0
  • VirtualBox -v 5.2.0
  • AMD CPU

よくあるトラブル

ドットインストールで開発環境構築のレッスン動画がみられるのですが、それのとおりにやってもうまくいかないことがあります。筆者もその一人でした。

よくあるトラブル

  • ping ipアドレスがとおらない(VagrantFileにかかれているipアドレス)
  • vagrant upしても進まない

この2つのトラブルがおきたのですが、筆者の場合はCPUの仮想化支援機能を有効にしていなかったのが原因でした。

CPUの仮想化支援機能が有効になっているか確認する方法

仮想支援機能が有効になっているか確認する簡単な方法はVagrantFileに以下のコードを追加します。

config.vm.provider 'virtualbox' do |vb|
  vb.gui = true
end

このコードを追加すると、vagrant upコマンドを実行したときにvirtual boxがGUIで立ち上がるようになります。このときCPUの仮想化支援機能が有効になっていない場合、「Vt-x/AMD-vが有効になっていません」のようなメッセージがあらわれます。

このメッセージが現れたらCPUの仮想化支援機能が有効になっていないということになります。

この機能が有効になっていないとそもそも仮想マシンが立ち上がることもできず、ipアドレスが設定されることもないと思われます。

VirtualBoxやVagrantのバージョンがどうのこうのよりもまず「仮想化支援機能が有効になっているかどうか」を確認することをおすすめします。

CPUの仮想化支援機能を有効にする方法

仮想化支援機能の有効化はBIOSで行います。注意点としてIntelCpuとAMDCpuで設定する項目がことなります。

BIOSときくと難しいイメージをもってしまいがちですが、BIOSに入って項目を選択するだけなので簡単です。

CPU別仮想化支援機能を有効にするための設定項目

Intel
  • Advanced > CPU Configuration > Execute Disable Bit > [Enabled]
  • Advanced > CPU Configuration > Intel(R) VirtualizationTechnology > [Enabled]
AMD Advanced > CPU Configuration > SVM > [Enabled]

こちらの設定項目はBIOS画面でうまくみつけられないことがあるかもしれませんが、なかなかみつけられないときは、BIOSに検索機能があればそれを使ってみましょう。

後作業

無事に仮想化支援機能を有効化できたら、vagrant upコマンドを再度実行します。

VagrantFileにコードを追加しているので、VrtualBoxがGUIで立ち上がります。問題なく立ち上がったら成功しているので、VagrantFileに追加したコードは削除しましょう。(GUIでは操作しないため)

VagrantFileを変更したら、vagrant reloadコマンドを実行します。

vagrant upで仮想マシンを立ち上げて、なにもエラーがでなかったらvagrant statusでrunningを確認。

pingコマンドでipアドレスがちゃんとつながっているか確認します。これで作業は完了です。