😊
[メモ] Windows10 Hyper-V Vagrant
概要
Windows 10 Proの Hyper-VとVagrantにて、仮想機械をさくっと動かそう。
環境
- Windows 10 Pro (21H2 19044.2006)
手順
Hyper-V インストール
- 管理者で PowerShell を開く
- 以下実行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- 再起動:
chocolatey インストール (導入していない場合)
- 管理者で PowerShell を開く
- 以下実行
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Vagrant, Packer インストール
- 管理者で PowerShell を開く
- 以下実行
cinst -y vagrant packer
- 再起動しろ、と出てきてるので、再起動
Vagrantで仮想機械を実行 (generic/alpine312)
Hyper-V Vagrantは、管理者にて実行しないといけない。
- 管理者で PowerShell を開く
- 以下実行
# 作業フォルダ作成、移動 mkdir C:\Vagrant\alpine312 cd C:\Vagrant\alpine312 # Vagrantfile作成 vagrant init -m generic/alpine312 # 仮想機械起動 vagrant up # 仮想機械にsshログイン vagrant ssh # 仮想機械から退出 exit # 仮想機械再起動 vagrant reload # 仮想機械終了 vagrant halt # 仮想機械削除 vagrant destroy -f # 導入済みboxファイル一覧 vagrant box list # boxファイル削除 vagrant box remove generic/alpine312 --box-version=4.1.12
- 実行例
boxを探す
- Vagrant Cloud: Hyper-V対応のboxを探して実行してみよう。
https://app.vagrantup.com/boxes/search?provider=hyperv
Vagrantfile の設定
-- To be updated --
box作成
Windows 10のbox作成
indows 10 英語(US)のISOを使用
-
git bashを管理者で開く
-
以下実行
git clone https://github.com/StefanScherer/packer-windows cd packer-windows sed -i -e 's/Enterprise\ Evaluation/Pro/g' ./answer_files/10/Autounattend.xml sed -i -e 's/<ProductKey>2F.*/<ProductKey><Key>VK7JG-NPHTM-C97JM-9MPGT-3V66T<\/Key>/g' ./answer_files/10/Autounattend.xml # ISO ファイル指定 export ISO_FILE=/c/19045.2075.220909-1450.22H2_RELEASE_SVC_PROD2_CLIENTMULTI_X64FRE_EN-US.ISO export ISO_SHA1SUM=$(sha1sum ${ISO_FILE} | sed -e 's/(space)(space)*/(space)/g' | cut -d ' ' -f 1) # time packer build -force -only=hyperv-iso -var "iso_url=${ISO_FILE}" -var "iso_checksum_type=sha1" -var "iso_checksum=${ISO_SHA1SUM}" ./windows_10.json
- エラーが出たら、Virtual Switch Managerで、
packer-hyperv-iso
を External networkにして、IPをとれるようにする.
- エラーが出たら、Virtual Switch Managerで、
-
indows_10_hyperv.box
が作成される -
実行
vagrant box add ./windows_10_hyperv.box --name win10 vagrant init -m win10 vagrant up
Discussion