らくがきちょう

なんとなく

Windows 10 Insider Preview Program で WSL2 を利用する

現時点では Windows 10 上で WSL2 を利用するには以下の条件が必要だそうです。

  • Insider Preview Program を有効化し、Build 18971 以降へアップデートしてあること
  • Hypwer-V プラットフォーム機能が有効化されていること

MicrosoftWSL 2 のインストール手順ページによると管理者権限のある PowerShell から Enable-WindowsOptionalFeatureVirtualMachinePlatform を有効化してください、という手順になっています。 これを実際に実行すると以下の結果になりました。 繰り返しになりますが、PowerShell は管理者権限で実行しています。

PS > Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform


Path          :
Online        : True
RestartNeeded : False

Online: True になっています。 しかし通常、Hyper-V プラットフォームが有効化されると OS 再起動を要求されるはずですが、RestartNeeded: False と表示され、OS 再起動を要求されません… この状態で コントロールパネルプログラムWindows の機能の有効化または無効化 から確認すると、やはり Hyper-V プラットフォーム機能が無効化されたままです… ここは素直に GUI 上から Hyper-V プラットフォーム機能にチェックを入れます。 インストールが完了すると OS 再起動を要求されるので、そのまま再起動します。

f:id:sig9:20190721100658p:plain

OS 再起動が完了したら WSL1 → WSL2 への変換を進めます。 PowerShell またはコマンドプロンプトから以下を実行し、現在の WSL バージョンを確認します。

C:\>wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         1

WSL2 へ変換します。 画面上に表示されている通り、コマンドは実行した瞬間に終わるわけでは無く、完了まで多少かかりました (実行環境のスペックに依存すると思われますが、私の環境では数分… まではかからなかったように思います)。

C:\> wsl --set-version Ubuntu 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

再度、WSL のバージョンを表示させると「VERSION 2」になっていました。 STATE が Stopped になっているのは WSL を実行していない為です。

C:\> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2

WSL (ここでは Ubuntu) を実行すると、以下のように STATE 表示は Running に変わります。

C:\> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

私の場合は WSL / Ubuntu しか使っていないので気になりませんが、Distribution を追加すると初期状態では WSL1 として追加されるようです (未確認)。 WSL2 として追加されるようにするには以下のように実行します。

C:\> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください