Windows 10 には WSL1 と WSL2 が搭載されますか?

Windows 10 には WSL1 と WSL2 が搭載されますか?

Windows 10 (バージョン 21H1 19043.1415) を実行しています。

しばらく前に、必要な Windows WSL 機能を有効にしました。それ以来、Linux パッケージを使用して WSL1 と WSL2 を何度も切り替えてきました。

私はしばらくの間 Docker を使ってきました。Docker の最近のアップデートにより、Windows 上の Docker が WSL1 から WSL2 に移行したようです。

Ubuntu は PC からアンインストールされました。WSL のステータスを確認しました:

wsl --list --verbose

返されるステータスは次のとおりです。

名前 バージョン
docker デスクトップデータ 停止 2
docker デスクトップ 停止 2

質問: Linux の Windows サブシステム バージョンである Ubuntu 20.04 を WSL1 としてインストールできますか? つまり、PC では WSL1 と WSL2 の両方がアクティブになっているということですか?

答え1

はい。Windows 10 では WSL1 と WSL2 の両方をアクティブにできます。

Microsoft の WSL の基本コマンドを調べた後、Linux の Windows サブシステム バージョンは WSL1 から WSL2 へ、またはその逆に簡単に変換できることを知りました。

https://docs.microsoft.com/en-us/windows/wsl/basic-commands

以下は、Ubuntu (または他のディストリビューション) を WSL1 から WSL2 へ、またその逆に変換する方法を示しています。すべてのコマンドは、Windows ターミナル (新しい PowerShell) で指定されたコマンドです。変換する PowerShell コマンドは次のとおりです。

wsl --set-version ubuntu 1
wsl --set-version ubuntu 2

Ubuntu は Microsoft Store から (再度) 再インストールされました。ユーザー名とパスワードが作成されました。sudo 更新/アップグレードは (まだ) 行われていません。WSL ステータスが確認され、新しくインストールされた (実行中の) Ubuntu が WSL2 としてインストールされていることが示されました。

PS C:\Users\prior> wsl --list --verbose
名前 バージョン
docker デスクトップデータ 停止 2
docker デスクトップ 停止 2
ウブントゥ ランニング 2

その後、Ubuntu は WSL2 から WSL1 に変換されました。ステータスを再度確認すると、Ubuntu が WSL1 に変換されて停止したことが示されました。

  PS C:\Users\prior> wsl --set-version ubuntu 1

変換中です。数分かかる場合があります... 変換が完了しました。

  PS C:\Users\prior> wsl --list --verbose
名前 バージョン
docker デスクトップデータ 停止 2
docker デスクトップ 停止 2
ウブントゥ 停止 1

Ubuntu は Windows のスタート アプリ リストから再起動されました。WSL ステータスが再度チェックされました。Ubuntu が WSL1 として実行されていることを示すステータスが返されました。Docker アプリは引き続き WSL2 でした。

PS C:\Users\prior> wsl --list --verbose
名前 バージョン
docker デスクトップデータ 停止 2
docker デスクトップ 停止 2
ウブントゥ ランニング 1

Docker を起動し、WSL のステータスを確認しました。WSL1 ファイルと WSL2 ファイルの両方が Windows 10 でアクティブになり、実行できることが明らかになりました。

PS C:\Users\prior> wsl --list --verbose
名前 バージョン
docker デスクトップデータ ランニング 2
docker デスクトップ ランニング 2
ウブントゥ ランニング 1

次に、好奇心から、Ubuntu を WSL2 に戻して起動しました。ステータスをチェックしたところ、WSL2 への変換が成功したことが示されました。Ubuntu と Docker は WSL2 で実行されています。

PS C:\Users\prior> wsl --set-version ubuntu 2

変換中です。数分かかる場合があります。WSL 2との主な違いについては、こちらをご覧ください。https://aka.ms/wsl2 変換が完了しました。

PS C:\Users\prior> wsl --list --verbose
名前 バージョン
docker デスクトップデータ ランニング 2
docker デスクトップ ランニング 2
ウブントゥ ランニング 2

WSL1 または WSL2 のサブシステムを切り替えるたびに、Linux をアンインストールして再インストールする必要がなかったことは明らかです。

関連情報