LINEで送る
Pocket

「昨日までvagrant upしていたのに急にできなくなった!!!!」

こんな経験がありませんか? ええありましたとも。

そう、Windows 10 Fall Creators Updateを終えたらね。

過去にいくつも事例がある

vagrant upができなくなったみたいな事例はググると無数に出てくる。

しかし、ピンポイントに解決に導いてくれる記事は正直ひとつもなかった。

Windows 10 Fall Creators Updateが新しすぎるというのもあるかもしれないが、まず今時VagrantでVM立ち上げる人間がどれくらいいるのこんなBoot遅いのに(怒)って感じでやってる人が居ないんだとも思う。

結論:VirtualBoxのバージョンによるバグ説

WindowsのVirtualBoxバージョンが5.1.14だった。

これを5.1.30に上げることでなんとかvagrant upに漕ぎ着けた。

VirtualBoxは現在(10/31/2017)の時点で最新は5.2らしいが、Vagrant側がサポートしていないらしい。

しかしこれがハマる一つの原因にもなった。

5.2がだめで、現行の5.1もだめじゃあ、「VirtualBoxのバージョン違いじゃないか」というWEB記事は「参考にならん」と切り捨てることになったからだ。

しかし、5.1には5.1.30があるわけで。

それに気づくにもvirtualboxを起動したときの「最新版があるぞい」というポップアップを注意深く読まないと気づけなかった。

起きたこと・試したこと

まずこの事象に気づいてから試していったことを記載していくので、もし同じ状況の人がいたら確認していってみてほしい。

VM起動失敗

vagrant upを叩いて、まず出てきたのは以下のエラー。

Bootingまで行って、突然見知らぬエラーが吐かれた。

とりあえずこういうときはアップデートだろ?という雑な見解でVirtualBoxとVagrantに最新版がないか確認した。

  • VirtualBoxとVagrantの現行バージョンと最新版の確認

で、実際やったのは

  1. Vagrantのバージョンアップ
  2. VirtualBoxのバージョンアップ(5.1.14 -> 5.2)

すると、プラグインもアップデート、リペアしてねと指示されたので従ってみた。

リペアする。

バージョン確認してみる。

改めてvagrant up

冒頭で述べた通り、バージョン5.2はサポートしていないよと返ってきた。

仕方ないのでバージョンを5.1.14に戻し、vagrant up

VBox-Win10-fix-14040.exeを試す

OSSを触りながらつぶやく日記をみるとVBox-Win10-fix-14040.exeをダウンロードして、起動したままvagrant upするとうまくいくという。

しかしながら、こちらの記事のエラー文はadapterに関するものであり、正直藁をも掴む思いでやってみただけだった。

もちろんうまく行かず、だった。

詳細のエラーログを見てみる

エラーログに詳細残すから読んどいてってことなので見てみる。

このエラー文でググってもいい感じのは出てこなかった。

他のPCでもvagrant upしてみる

幸い他の社員さんにvagrantを実行してもらうことができたので、やってもらった。

もしかしてvagrantfileが悪いのか、なんてことも、ないことはない(vagrantfileが問題ならすぐわかるけどね)

実際にやってもらったが、同様のエラーが再現された。

ちなみにVirtualBoxは5.1.14とかで、5.1.30ではないことは確認していた。

また、他の社員さんのMacbookと自分のMacbookでも試したが問題なくvagrant upができた。

これで一気に切り分けが出来たという感じ。

つまりwindows特有の何かであると仮説が立った。

Windows 10 Fall Creators Update

最もありえるのはこのアップデートによる不具合。Windowsお得意の不安定さである。

調べていく中で、この記事が偶然にもヒットしたことはかなり幸運と言えた。

そうして、ググるワードを少し変えてみると、出るわ出るわ。

vagrant upができなかった時に取った対処法などなど。

しかし、これらの記事で解決することはできなかった。

ただ、この仮説はあっていると思ったので、他にも眺めていると一つの記事に出会った。

Windows + VirtualBox (+ vagrant) で仮想マシンが起動できない

「最新バージョンのVirtualBoxだと動かない場合があるよ、ダウングレードしてね」という内容。

まさかまさかだったが、5.2の手前の5.1.30を再インストールしてみることにした。

VirtualBox5.1.30のインストール

インストール後、vagrant up

できたぞ!! ansible_localまでばっちり動作し、Playbookの確からしさも確認できた!

まとめ

今回の原因はおそらくWindows 10 Fall Creators UpdateしたことによってVirtualBoxがイカれたって感じだろうか。

確認すべきポイントは以下の通りかなと。

  • VirtualBoxのバージョン
  • Windows updateが直近で発生していたか
  • vagrantfileやPlaybook、Cookbookは間違っていないか
  • 他のPCでも同様のエラーは再現するか
  • エラー内容をピンポイントでググれていてるか
  • VirtualBoxなどはダウングレードも試してみたか

これでだめなら、MacTypeが悪さしているという話もあったので確認してみること。

参考

Vagrant up error. #8501

VBoxManageコマンド

OSSを触りながらつぶやく日記

Windows + VirtualBox (+ vagrant) で仮想マシンが起動できない

フルスタックエンジニアを目指して

Vagrant up: There was an error while executing VBoxManage, a CLI used by Vagrant #1809

11月15日以降のWindows 8.1アップデート後のWinVerifyTrustの失敗

Test, Develop, and Demonstrate Across Multiple Platforms on one Machine

vagrant upができなかった時に取った対処法

VirtualBoxで起動エラーが出たらMacTypeを疑う

Share on FacebookTweet about this on TwitterShare on Google+