2015年8月2日

Windows10とVirtualBox5.0とVagrantではまったの巻

 今まで、Windows7+VirtualBox5.0+Vagrantで問題なく仮想環境を作ってアプリケーション開発をしてきたのですが、せっかくWindows10が発売されたのでWindows10で開発環境をつくろうと思い、やってみたのですがハマりました。
 一応解決はしたのですが、これが正解とは思えないのでちょっと心配です。

うまくいかなかった流れ
  1. Windows10のインストール
  2. VirtualBox5.0のインストール
  3. Vagrantのインストール
  4. Windows7時代に使用していたVagrantのBOXを追加
  5. Vagrantファイルの作成と内容の編集
    メモリサイズだったり、共有フォルダの名前だったり。
  6. 仮想マシンの起動(vagrant up)する
    ここで問題が発生しました。
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set network interfaces...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["hostonlyif", "create"]

Stderr: 0%...
Progress state: E_FAIL
VBoxManage.exe: error: Failed to create the host-only adapter
VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error (extended info not available)
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleCreate(struct HandlerArg *)" at line 70 of file VBoxManageHostonly.cpp

こんなエラーが発生してしまいました。
(vagrant upコマンドを実行すると毎回、毎回、「Host-Only Ethernet Adapterを作りますか?」的な確認がされて、はいにするとたくさんできてしまいます…。)
「ホストオンリーアダプターの作成に失敗しました」的なエラーのようです。
Vagrantでは、ネットワークアダプターを2つ(natとhostonly)使うようで1つ目はできてるのですが2つ目がなんかうまくいかないらしいのです。

 グーグル先生に聞いても明確な答えにたどり着けず(検索キーワードが適切で無いのでしょう)。
で、ネットワークに関連しそうなとこを手当たりしだい見てみようということで。

VirtualBox マネージャーの[ファイル(F)]-[環境設定(P)]のネットワークのホストオンリーネットワーク(H)を確認です。

  1. ここには、VirtualBox Host-Only Ethernet Adapterの設定がありまして、ドライバーのアイコンをクリックする
  2. アダプターのIPアドレスの設定欄があるのでIPアドレスとネットマスクを今起動しようとした仮想マシンと同じ値を入れます(違っても良いのかも。もしかするとネットマスク255.255.0.0だったのがダメだっただけかも)。
    例えば、IPアドレス=>192.168.33.10 ネットマスク=>255.255.255.0
  3. 再度、vagrant upコマンドで仮想マシンを起動します。

これでちゃんと今まで通りに仮想マシンが起動するようになります。
同時に別の仮想マシン(当然IPアドレスは別のもの)を起動してもちゃんと起動します。


1 件のコメント: