現時点では Windows 10 上で WSL2 を利用するには以下の条件が必要だそうです。
- Insider Preview Program を有効化し、Build 18971 以降へアップデートしてあること
- Hypwer-V プラットフォーム機能が有効化されていること
Microsoft の WSL 2 のインストール手順ページによると管理者権限のある PowerShell から Enable-WindowsOptionalFeature
で VirtualMachinePlatform
を有効化してください、という手順になっています。 これを実際に実行すると以下の結果になりました。 繰り返しになりますが、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 再起動を要求されるので、そのまま再起動します。
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 を参照してください
コメント