
Ubuntu 22.04でWSL 2をインストールしました。
PowerShell で WSL カーネルをチェックしようとすると、次の結果が得られます。
PS C:\Users\user> wsl --status
Default Distribution: Ubuntu-22.04
Default Version: 2
Windows Subsystem for Linux was last updated on 6/7/2022
WSL automatic updates are on.
Kernel version: 5.10.102.1
上記のメッセージから、Linux カーネル 5.10.102.1 を使用していると推測されます。
しかし、Ubuntu を実行して を使用するとuname -a
、異なる Linux カーネルが取得されます。
user@DESKTOP-:/mnt/c/Users/user$ uname -a
Linux DESKTOP-VMP6T3Q 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 x86_64 x86_64 GNU/Linux
Linux カーネルは 4.4.0 であることがわかります。
私の質問:
- 使用している Linux カーネルのバージョンはどれですか?
- 4.4.0 の場合、どうすれば 5.x にアップグレードできますか?
- 5.10 の場合、そのバージョンであることを確認するにはどうすればよいでしょうか?
答え1
WSL2 はインストールする新しいディストリビューションのデフォルトですが、Ubuntu ディストリビューションは元々 WSL1 としてインストールされていたようです。
これを確認するには、次の手順に従ってください。
wsl.exe -l -v
WSL1 で実行している場合uname -a
、疑似カーネルは次のように報告します。
- 「リナックス」
- ホスト名
- 「4.4.0~」
- Windows ビルド番号 (この場合は 19041)
- 「-マイクロソフト」
- ...
WSL2 では、カーネルは次のように報告します。
- 「リナックス」
- ホスト名
- カーネルバージョン
- 「-microsoft-standard-WSL2」
ディストリビューションをインストールすることはよくあることです前にWSL2 がインストールされているか、デフォルトとして設定されています。デフォルトのバージョンを 2 に変更しても、既にインストールされているディストリビューションは実際には変更されません。
ディストリビューションを終了し、PowerShell から次の操作を行うことで、ディストリビューションを変換できます (変換する必要があります)。
wsl --set-version Ubuntu-22.04 2
必要に応じて、まず次のコマンドでバックアップできます。
wsl --export Ubuntu-22.04 Ubuntu2204_backup.tar
「はず」と言うのは、Ubuntu 22.04 には WSL1 で重大な問題がいくつかあり、具体的にはコマンドunzip
が機能しないからです。
答え2
デフォルトの WSL バージョンは 2 に設定されていますが、実行している WSL ディストリビューションは WSL 1 です。Linux カーネルはまったく使用されません。
WSL 1 (Windows 10):
$ uname -a
Linux db-d-18 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 GNU/Linux
WSL2: いいえ
# uname -a
Linux db-d-18 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 GNU/Linux
WSL 1 と 2 は異なるニーズに対応します。WSL 1 は、Windows ソフトウェアとファイルの高パフォーマンスな相互運用性を提供します。WSL 2 は、実際の Linux カーネルを提供し、コンテナーやより高速な Linux ファイルシステムなどを有効にしますが、Windows ホストのファイルシステムにアクセスする際のパフォーマンスは制限されます。
通常、カーネルのバージョンに基づいて選択しないでください。