[Mac]modern.IEに公開されているWindows仮想マシンをVagrant経由で起動する
Microsoft公式の modern.IE というサイトでIE検証用のWindows仮想マシンが無償公開されていることを教えてもらいました。
せっかくなのでVagrant経由で仮想マシンを起動できるようにしてみました。
結論から書いておくと、vagrant upで起動はできるものの、vagrant haltで停止することができない等、色々あるのでわざわざvagrant経由にしなくてもいいと思いました。
普通にダウンロードしてきた.ovaファイルをVirtualBoxで開けばIE検証環境ができあがるのでそれでいいと思います。
「仮想マシンは全部vagrant経由に統一したいんだ」という人に向けて一応メモを残しておきます。
検証環境
- MacOSX 10.7.5
- vagrant 1.2.2
仮想マシンのダウンロードと解凍
IE8 - Win7 の場合
- 仮想マシンをダウンロード
mkdir -p ~/Vagrants/boxes/ie8win7
cd ~/Vagrants/boxes/ie8win7
curl -O "http://virtualization.modern.ie/vhd/IEKitV1_Final/VirtualBox/OSX/IE8_Win7/IE8.Win7.For.MacVirtualBox.part{1.sfx,2.rar,3.rar,4.rar,5.rar,6.rar}"
- 実行権限付与
chmod +x IE8.Win7.For.MacVirtualBox.part1.sfx
- 解凍
./IE8.Win7.For.MacVirtualBox.part1.sfx
IE8 - XP の場合
- 仮想マシンダウンロード
mkdir -p ~/Vagrants/boxes/ie8xp
cd ~/Vagrants/boxes/ie8xp
curl -O "http://virtualization.modern.ie/vhd/IEKitV1_Final/VirtualBox/OSX/IE8_XP/IE8.XP.For.MacVirtualBox.ova"
Vagrant用のboxとして再構築する
IE8.Win7の環境構築で行った手順を残しておきます。
手順は共通なので、IE8.XPでも同じ流れでできます。
- .ovaファイルを解凍
The Unarchiverを使って解凍しました
- 解凍ディレクトリに移動してovfファイルをbox.ovfにリネーム
cd IE8.Win7.For.MacVirtualBox
mv IE8\ -\ Win7.ovf box.ovf
vmdkのほうはリネームするとvagrant起動時にエラーになるので注意
- metadata.jsonの追加
vi metadata.json
{"provider":"virtualbox"}
- macadress生成
MAC Address Generatorというサイトでmacadressを生成してメモしておく
- Vagrantfile追加 (上記で生成したmacadressを記述)
vi Vagrantfile
Vagrant::Config.run do |config|
# This Vagrantfile is auto-generated by `vagrant package` to contain
# the MAC address of the box. Custom configuration should be placed in
# the actual `Vagrantfile` in this box.
config.vm.base_mac = "xxxxxxxxx"
end
# Load include vagrant file if it exists after the auto-generated
# so it can override any of the settings
include_vagrantfile = File.expand_path("../include/_Vagrantfile", __FILE__)
load include_vagrantfile if File.exist?(include_vagrantfile)
- 4つのファイルをtar形式で圧縮
tar cvf ie8win7.tar Vagrantfile IE8\ -\ Win7-disk1.vmdk box.ovf metadata.json
- vagrantにbox追加
vagrant box add ie8win7 ./ie8win7.tar
- box確認
vagrant box list
centos (virtualbox)
ie8xp (virtualbox)
ie8win7 (virtualbox)
- vagrant経由で起動してみる
mkdir -p ~/Vagrants/ie8win7
vagrant init
vi Vagrantfile
config.vm.box = "ie8win7"
# ssh接続できずにずっと再接続しようとするので試行回数を1回に
config.ssh.max_tries = 1
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
- 仮想マシン起動
vagrant up
# インポートに時間かかる
[default] Importing base box 'ie8win7'...
# ssh接続できないため下記エラーが出るが起動はできる
[default] Waiting for VM to boot. This can take a few minutes.
[default] Failed to connect to VM!
Failed to connect to VM via SSH. Please verify the VM successfully booted
by looking at the VirtualBox GUI.
残念ながらxpの場合は言語ファイルをインストールできないため、日本語が文字化けします。
win7は日本語も表示できます。
ssh接続できないため、vagrant haltで終了できません。
vagrant suspendは使えます。
- サスペンドする場合
vagrant suspend
とりあえずこれでIE検証環境を作ることができました。めでたしめでたし。
最初にも書きましたが、こんなことしなくても普通にダウンロードしてきた.ovaファイルをVirtualBoxで開けばIE検証環境ができあがりますのでご安心を。