Windows 10 HomeのWSL2 + Dockerを検証するための環境を考えた時、Windows 10 ProのHyper-Vにいれるのが手っ取り早いのですが、CPU仮想化支援の有効化コマンドレットに気づかずWindows Server 2019上のWindows 10 Homeじゃないとダメだっけと思ってさまよった時のメモ。
結果は VMのCPU仮想化支援を有効にすればどちらも変わらず動作する。
前の記事の前段となる個人的なメモです。ローカル環境がWindows 10 Homeの人が環境を汚さずやるにはいいのでは。
概要
- Windows 10 HomeをNested Hyper-Vで動かす
- Windows 10 Home on Hyper-Vと変わらなずwsl2 + Docker Edgeは動作する (Hyper-VのWindows 10 Home VMののCPU仮想化支援を有効にしよう)
- Insiderビルドが長すぎるのでWindows 2004、あらためWindows 10 May 2020 Updateはよ、ふたたび
前提
- Dv3 or Ev3が必要
Azure Virtual Machines で入れ子になった仮想化を有効にする方法 | Microsoft Docs
VMの構成
久々にterraformを使わずAzure Portalを確認してみます。 いつの間にかスポットインスタンスができるようになってて感動した。
適当にResource Groupを作っておきます。
- Windows Server Gen2 PreviewのイメージでWindows Server 2019とする
- Spot Instance
- D4s_v3
- Standard SSD
全部できるとリソースこんな感じ。
Nested Hyper-V の準備
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
再起動後にVM Swtichの構成
New-VMSwitch -Name "InternalNAT" -SwitchType Internal $ifIndex = (Get-NetAdapter |where Name -match InternalNAT).ifIndex New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex $ifIndex
NAT Networkの構成
New-NetNat -Name "InternalNat" -InternalIPInterfaceAddressPrefix 192.168.0.0/24
Hyper-Vを開いてVMの構築。この時NetworkはInternal NATを向ける
Windows 10 Home ISO を用意
MediaCreationTool1909を入れる。IEがアレなのでcurlで落とす。
curl -L https://go.microsoft.com/fwlink/?LinkId=691209 -o MediaCreationTool1909.exe
ISOを設定
Boot Orderを修正してISO起動できるようにする
あとはWindows 10 Homeを入れる。
DHCP Server を Azure VM に用意
Azure VM上のNested Hyper-VということはDHCPないので、適当にWindows Server 2019からDHCPをInternal NATに配布します。
Install-WindowsFeature -Name DHCP -IncludeManagementTools
DHCPツールを起動して、IPv4に新規スコープを追加し、 192.168.0.100-200/24を設定
デフォルトゲートウェイにInternalNATの192.168,0.1を指定
これでHyper-VのVMを起動したり、ネットワークアダプターの無効/有効でIPが取得される。
残り
Windows 10 Home on Hyper-V (Windows 10 Pro) と同じ。
用が済んだらResource Groupごとぐっぱい。Terraform以外で作るの久々で相変わらずめんどくさかった。