tech.guitarrapc.cóm

Technical updates

Windows 10 Home を Windows 2019 Server on Azure で Nested Hyper-V にインストールする

Windows 10 Home の WSL2 + Docker を検証するための環境を考えた時、Windows 10 Pro の Hyper-V にいれるのが手っ取り早いのですが、CPU仮想化支援の有効化コマンドレットに気づかず Windows Server 2019 上の Windows 10 Home じゃないとダメだっけと思ってさまよった時のメモ。

結果は VMのCPU仮想化支援を有効にすればどちらも変わらず動作する。

前の記事の前段となる個人的なメモです。ローカル環境が Windows 10 Home の人が環境を汚さずやるにはいいのでは。

tech.guitarrapc.com

目次

[:contens]

TL;DR

  • 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 を作っておきます。

f:id:guitarrapc_tech:20200421040931p:plain

  • Windows Server Gen2 Preview のイメージで Windows Server 2019 とする。
  • Spot Instance
  • D4s_v3
  • Standard SSD

f:id:guitarrapc_tech:20200421040323p:plain f:id:guitarrapc_tech:20200421040415p:plain f:id:guitarrapc_tech:20200421040422p:plain f:id:guitarrapc_tech:20200421040430p:plain f:id:guitarrapc_tech:20200421040438p:plain

全部できるとリソースこんな感じ。

f:id:guitarrapc_tech:20200421041006p:plain

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 を向ける

f:id:guitarrapc_tech:20200421040527p:plain
Hyper-V はサクッと。NAT 指定だけ忘れずに

Windows 10 Home ISO を用意

MediaCreationTool1909 を入れる。IE がアレなので curl で落とす。

https://www.microsoft.com/ja-jp/software-download/windows10

curl -L  https://go.microsoft.com/fwlink/?LinkId=691209 -o MediaCreationTool1909.exe

f:id:guitarrapc_tech:20200421040554p:plain

f:id:guitarrapc_tech:20200421040602p:plain

ISO を設定

f:id:guitarrapc_tech:20200421040609p:plain

Boot Order を修正して ISO 起動できるようにする

f:id:guitarrapc_tech:20200421040616p:plain

あとは Windows 10 Home を入れる。

f:id:guitarrapc_tech:20200421040623p:plain

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 を設定

f:id:guitarrapc_tech:20200421040704p:plain

デフォルトゲートウェイに InternalNAT の 192.168,0.1 を指定

f:id:guitarrapc_tech:20200421040712p:plain

これで Hyper-V の VM を起動したり、ネットワークアダプターの無効/有効でIPが取得される。

f:id:guitarrapc_tech:20200421040719p:plain

残り

Windows 10 Home on Hyper-V (Windows 10 Pro) と同じ。

tech.guitarrapc.com

用が済んだら Resource Group ごとぐっぱい。Terraform 以外で作るの久々で相変わらずめんどくさかった。

f:id:guitarrapc_tech:20200421041044p:plain