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 をアンインストールして再インストールする必要がなかったことは明らかです。