1. toruuetani

    Posted

    toruuetani
Changes in title
+Vagrant で Windows もゲストOSに
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,77 @@
+基本的に [Vagrant で作ったり壊したりできる Windows 環境を手に入れるまでの手順 - てっく煮ブログ](http://tech.nitoyon.com/ja/blog/2014/02/20/vagrant-win-guest/) の情報通りにやれば構築できます。
+
+試してみた環境は以下の通り。
+
+* ホストOS:Windows 8.1 Pro(x64)
+* ゲストOS:Windows 7 Professional with SP1(x86)
+* ゲストOS:Windows 8.1 Pro(x86)
+
+構築したときの作業ログは [こちら](https://github.com/toruuetani/my-vagrant-windows-log)
+
+# 環境構築
+せっかくなので必要なソフトは [Chocolatey](http://chocolatey.org/) でインストールしてみましょう。
+
+Chocolatey のインストールは管理者権限でコマンドプロンプトを起動して以下のコマンドを実行するだけ。インストール完了後続けて `cinst` するとエラーになることがあるので、コマンドプロンプトは一旦終了させておきましょう。
+
+```bat
+@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
+```
+
+chocolatery を使うと VirtualBox, Vagrant のインストールはこれだけ。
+
+```bat
+cinst VIrtualBox
+cinst Vagrant
+```
+
+chocolatey が `PATH` 環境変数をセットしてくれるんですが、 VirtualBox は正しくありません。なので `C:\Program Files\Oracle\VirtualBox` をセットしなおしましょう。
+
+次に Vagrant で Windows を扱えるようにするプラグイン Vagrant-Windows をインストールします。なお、プロキシ環境下の場合は `HTTP_PROXY` をセットしておく必要があります。
+
+```
+vagrant plugin install vagrant-windows
+```
+
+# 仮想イメージの作成
+これは参考URLの手順に従いましょう。
+
+# Base Box 作成
+`Vagrantfile.txt` 作成時はリモートデスクトップと WinRM をポートフォーワードしておきましょう。
+
+```rb:Vagrantfile.txt
+Vagrant.configure("2") do |config|
+ config.vm.guest = :windows
+ config.vm.network :forwarded_port, guest: 3389, host: 13389
+ config.vm.network :forwarded_port, guest: 5985, host: 15985, id: "winrm", auto_correct: true
+end
+```
+
+次に `vagrant package` で Base Box を作成するんですが、 VirtualBox に不具合があるため失敗します。
+
+```bat
+There was an error while executing `VBoxManage`, a CLI used by Vagrant
+for controlling VirtualBox. The command and stderr is shown below.
+
+Command: ["showvminfo", "Win7SP1x86"]
+
+Stderr: VBoxManage.exe: error: Failed to create the VirtualBox object!
+VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extended info not available)
+VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.
+```
+
+* [vagrant up fails with VirtualBox 4.2.12 · Issue #1622 · mitchellh/vagrant](https://github.com/mitchellh/vagrant/issues/1622)
+* [Vagrant upエラー【0x80070005】win7編|Webのこと](http://yyfor.blog.fc2.com/blog-entry-4.html)
+
+参考URLの通りに構成を変更して VirtualBox を再起動しましょう。
+
+1. Win+R > `DCOMCNFG` > [コンピューター] > [マイ コンピューター] > [DCOM の構成] > [VirtualBox Application]右クリック > [プロパティ]
+1. [ID] > [対話ユーザー]に変更
+
+これで `vagrant package` が成功するようになります。
+Box ができたら `vagrant box add Win7SP1x86 package.box` で登録します。
+
+# Box 起動
+`vagrant init` したら `vagrant up` します。
+この時 `HTTP_PROXY` をセットしているならクリアしておきましょう。そうしないと WinRM でプロキシが使われてしまい、正常に `vagrant up` が完了しません。
+
+これで好き放題作ったり壊したりできる Windows 環境ができるようになります。