WSL 2を使いたいのでWindows 10 May 2020 Updateを入れたのだった。
バージョン2004にしてからこういうニュースを見たんだけどw一週間早ければこっちを試してた。
それはさておき、まずあれこれやって状態がおかしくなっているWSLを削除する。残しておいても使わないし。
これで無くなったはず。なお、ストアから入れていないBash on Ubuntu on Windowsは残ってる。
次はWSL 2のインストール。
PowerShellを管理者モードで開き、
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
このあと再起動しろって上記Microsoftのリンク先に書いてあるので再起動。
次に『"仮想マシン プラットフォーム" のオプション コンポーネントを有効にする』を実行。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
次に『WSL 2 を既定のバージョンとして設定する』を実行。
wsl --set-default-version 2
なんかメッセージが出た。普段VMware Workstation Playerを使っているので仮想化が有効なのは間違いない。
とりあえず先に進む。ストアでUbuntuを検索。今回は18.04 LTSを選ぶ。
[インストール]をクリックする。
すぐにインストールは終わる。
書かれているように数分かかるがUbuntu 18.04 LTS動いた。
バージョンを調べてみる。
wsl --list --verbose
バージョン1になってる。もう一回
wsl --set-default-version 2
を実行する。さっきと同じメッセージが出てWSL 1のまま。
BIOS上で仮想化がONになっているのは間違いないのだが、これを思い出した。
Windows 10で長らくVMware(やVirtualBoxなど)で仮想環境を使っていた開発者が、WSL2(Windows Subsystem for Linux 2)が「Windows Insider Programで」出てきたときに困ったのは、Windows 10上で2つの仮想環境インフラ、つまりHyper-Vと(WSL2が動作している)Hyper-Vが共存できない、ということでした。
さて、WSL2もWindows 10 May 2020 Updateで正式機能としてリリースされましたが、上記の「仮想環境共存できない」問題にも解決の方法が用意されました。こちらのプレスリリースにもあるように、MicrosoftとVMwareがWindows Hypervisor Platform(WHP) APIを共同開発し、Windows 10 May 2020 Update + VMware Workstation 15.5.5 Proの組み合わせから、共存可能になった模様です。
そこでHyper-VをONにして、まずはVMwareが動くかを確認する。VMwareはVMwareで必要なんで。Windowsの機能を起動。Hyper-Vにチェックは入っていないのでチェックを入れる。
[OK]をクリックする。
もちろん[今すぐ再起動(N)]をクリック。
再起動後VMを1本起動してみる。Hyper-VとVMware Workstation Playerが併存している。
wsl --set-default version 2を実行。今度はエラーメッセージが変わった。
そこでディストリビューションにWSL 2を設定してみる。
wsl --set-version <distribution name> <versionNumber>
ダウンロードした。
実行するとあっという間に終了。
今度はWSL 2になった。
ところで違いはどうかというと、ちょっと使ってみただけでは分からない。
Dockerも使えるようになるはずなので次回はDocker環境の構築へ。