MOERUZE Blog

株式会社モエルゼのブログ

Windows10 64bitにVagrant/VirtualBoxを導入する方法(2016年8月版まとめ)

主題の通りです。
Windows環境でのVagrantは何かとエラーが頻発し、導入にけっこう苦労することがあると思います。
自分はSurfacePro3を使用しているのですが、普通に最新版をインストールするだけでは動作しませんでしたので、自分の行った導入方法を参考までに残します。

環境

  • SurfacePro3 (Intel i5 4300U)
  • Windows10 64bit Pro 10.0.14393 Build 14393
  • Locale US
  • Vagrant 1.8.4
  • VirtualBox 5.0.24

Virtualization Technology(VTx)の有効化

VirtualBoxを利用して仮想化を行うためには、Virtualization Technology(VTx)をBIOSで有効にする必要があります。
自分のSurfacePro3は初めから有効化されていましたが、有効化されていない人はけっこういると思いますので、あらかじめ有効化しておきましょう。
BIOSの設定はメーカーによって違うので、自分のメーカーで設定方法は検索してください。一応流れは下記のような手順です。

  1. PC起動時にDELETEやF2(メーカーによって違う)を押し続けてBIOS設定を起動
  2. Virtualization Technology(VTx)の設定項目を探す。(CPUやPOWERのあたりにあると思います)
  3. 有効に変更して保存してPCを起動

※有効化されていない状態でVagrantを起動すると、「VT-x is not available.」のエラーが発生するので、その後に設定するようにしても大丈夫です。

VirtualBoxのインストール

2016年8月現在、Version5.1.4が最新ですが、下記リンクからVersion5.0.xをインストールしましょう。
自分の環境では5.1.4でVMが起動できないエラーが出ました。
(自分は5.0.24をインストールしてます。5.0.26の動作は未確認です。)
https://www.virtualbox.org/wiki/Download_Old_Builds_5_0

Vagrantのインストール

2016年8月現在、Version1.8.5が最新ですが、下記リンクからVersion1.8.4をインストールしましょう。
自分の環境では1.8.5でエラーが出ました。
https://releases.hashicorp.com/vagrant/

Windows再起動と環境変数の確認

Vagrantインストール後は再起動が必要なので、再起動します。
あとインストール時に自動で環境変数が設定されていると思いますが、一応確認しておきましょう。

C:\HashiCorp\Vagrant\bin
環境変数に登録されていたらOKです。

VagrantBoxを追加

Vagrantで使用する仮想マシンを追加します。
http://www.vagrantbox.es/から自分の使いたいOSを選んでURLをコピーしてください。
とりあえずここではメジャーなCentOS6.6を選びます。 選んだOSをvarant box addで自分のVagrantに登録します。

Command Prompt

C:\Users\user> vagrant box add '任意の登録名' '登録するBoxのURL'
例
C:\Users\user> vagrant box add CentOS6.6 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box

作業フォルダの作成

Vagrantでは作成する仮想マシンごとに設定ファイルを保存するフォルダが必要です。
適当な名前で作成してcdしましょう。

Command Prompt

C:\Users\user> mkdir myvagrant
C:\Users\user> cd myvagrant

Vagrantでの仮想マシンを作成

先ほど登録したCentOS6.6で、新しく仮想マシンを作成します。
仮想マシンの作成はvagrant init '登録した自分のBox名'で行います。

Command Prompt

C:\Users\user\myvagrant> vagrant init '登録した自分のBox名'
例
C:\Users\user\myvagrant> vagrant init CentOS6.6

vagrant initを実行すると、同フォルダに引数の仮想マシンの名前が設定されたVagrantfileが作成されます。
Vagrantはここに書かれた設定を元に仮想マシンを実行します。
とりあえず今回は設定を変更せずデフォルトのまま使います。

仮想マシンを起動してみる

それでは、作成した仮想マシンを起動してみましょう。
Vagrantでの仮想マシンの起動はVagrantfileのある場所でvagrant upのコマンドで行います。
エラーが出ないことを祈りましょう。

Command Prompt

C:\Users\user\myvagrant> vagrant up

※もし上記通りに進んでここでエラーメッセージが出たら、環境依存の可能性が高いです。
原因を調べてなんとも分からなそうな場合はVagrant/VirtualBoxのバージョンの違うものを再インストールしてみた方がいいです。

無事起動できたか確認する

Command Prompt上にエラーメッセージが表示されることなくコマンド待機状態になれば無事起動できてます。
状態を確認してみましょう。

Command Prompt

C:\Users\user\myvagrant> vagrant status

こんな感じで表示されればOKです。

C:\Users\user\myvagrant> vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

仮想マシンの停止

仮想マシンvagrant haltコマンドで終了します。 再度起動する時はまたvagrant upしましょう。

Command Prompt

C:\Users\user\myvagrant> vagrant halt

まとめ

以上でVagrantの導入まで完了です。
Windows10 64bitはまだ安定していないようで、Vagrant/VirtualBoxのちょっとしたバージョン違いでもエラーが発生します。
エラーは根気強く原因究明するしかありませんので、めんどくさい人はLinuxマシンを買いましょう。
あと使用しているCPUやマザーボードでもエラーが発生する場合があるようなので、VTxの有効化、Vagrant/VirtualBoxの様々なバージョンを試してもダメな場合は諦めましょう。

あと、現状これだとまだファイル共有が遅くて、実際に開発などで使うには不便なので、次はrsyncを導入して快適な開発環境の構築を行います。
続きはまた後日書きます。