Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Hyper-VのGuestでWSL2でdockerを動かしてみる

スポンサードリンク

f:id:fa11enprince:20200819231041j:plain
こんなのすぐに終わるかなー。と思ったら、案の定、罠が仕掛けられてました。単なる備忘録です。
Windows 10 Enterprise 2004でお試ししてみました。

Windows 10 Enterpriseのゲストを作成してみる

ダウンロード編

評価版の仮想環境を作れるよーってことで、QuickからWindows 10 dev environmentを作ります。
期限付きとはいえ、太っ腹っすな、最近のMSさん。
が、しょっぱなから失敗する。
"Failed hash verification" in Hyper-V Quick Create with Windows 10 dev environment
とか出るよ。

ということで、直にDLする。
https://download.microsoft.com/download/7/c/e/7ce1271d-04bb-4f0f-b1f4-e031bccb9712/WinDev2007Eval.HyperVGen2.zip
んで、Explorerで管理者としてアクセス
C:\Users\Public\Documents\Hyper-V\
移動してダウンロードしたWinDev2007Eval.HyperVGen2.zipを展開した中にある、
WinDev2007Eval.vhdxファイルを
C:\Users\Public\Documents\Hyper-V\Virtual hard disks
に置く。別にここじゃなくてもよいのだけれど、ダウンロードフォルダに置きっぱなしもなんだかなぁというよくわからない心情でこうしました。
Zipファイルの解凍めちゃ遅い…。そこそこいいスペックのマシーンなんだけどな。M2.SSDでCore i7-9700KなのでそこそこおれTUEEEEができるスペックのはず。

Guestマシン作成編

Hyper-V Managerから
Local intallation sourceで、Change installation sourceで先ほどのvhdxを選ぶ
Name: Windows 10 dev environment
Network: Default Switch
Create Virtual Machineを押す
これでOK

Docker DesktopをWSL2でやってみる

Hyper-VのGeuest上で何も考えずにDocker Desktopをインストールすると、
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
とか出る。またか。。。

Install Windows Subsystem for Linux (WSL) on Windows 10 | Microsoft Docs
仮想マシン プラットフォーム" オプション機能を有効にしてみる
Powre Shellを管理者で起動して以下のコマンドを実行。
ついでにWSL2をデフォにする。

> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
> wsl --set-default-version 2

これでもダメ
はいはいVT-xが有効になってないのね。
GuestのVT-xが有効かどうか確認するためにTask ManagerをみるとVirtualization: Enabledのかわりに
Virtual Machine: Trueになってる
おーこれはどうするんだ?と調べたらすぐに出てきた。

HOST側のPowerShellで管理者権限で実行
kakkoyakakko2.hatenablog.com

Nested Virtualization を設定

Set-VMProcessor -VMName "<VMName>" -ExposeVirtualizationExtensions $true

これをやってGuestを立ち上げると…(なんか時間かかるけど…) f:id:fa11enprince:20200819231441p:plain
できたできた。
ああ、そうかHyper-VのGuest上のでWSL2だとやっぱり内部的にHyper-Vを使ってるから、
Hyper-VのHyper-VになるからNested virtualizationってことが必要なのか。

所感

Hyper-V使えるPro EditionだったけどWindowsのお試し環境をお手軽に作れるのはうれしい。
WSL2速くないすか?
あと、2004にしたらWSL2に乗り換えようかなと思いました。