Windows 10と11、Microsoftストアでバージョンが異なるWSL
Windows Subsystem for Linux(以下、WSL)は、Windows 10 Ver.1709(RS3)で標準搭載されるようになり、現在に至る。今のWSLには、リリース版Windows 10/11に含まれるもの、Windows Insider Programのプレビュー版に含まれるもの、そしてMicrosoftストアで配布されているプレビュー版がある。

Microsoftストアの「Windows Subsystem for Linux Preview」のページ。System Requirementsには、Windows 10 Version 19041.0以降で利用できるように記載されているが、実際には、インストールができるだけで実行できない
さらに細かく見ていくと、WSLには大きく5つのバージョンがある。
1つは、Windows 10に同梱されているもので、21H2と22H2では同じもののようだ。というのも、「C:\Windows\System32」にあるwsl.exeのファイルバージョンとWSL2用のカーネルバージョンが同一だからだ。もしかすると細かな違いがあるのかもしれないが、はっきりと違いがわかる部分は見当たらなかった。
これに対してWindows 11は21H1と22H2で、wsl.exeのファイルバージョンが異なる。ただし、カーネルのバージョンは同じ。Windows 10とも同じだが、Windows 11のWSLには、Linux GUIアプリの対応(WSLg)などがあるため、WSL自体はWindows 10とは異なっている。
また、Windows Insider ProgramのWindows 11プレビュー版(以下、プレビュー版)だが、Relese Preview ChannelとBeta Channelで配布されているビルドでは、Windows 11の22H2リリース版と同じだった。これに対してDev Channelのものは、カーネルのバージョンは同じだが、wsl.exeのファイルバージョンが異なる。これで合計4つ。あと1つは、Microsoftストア版である。
Microsoftストア版は、Windows 11以降(プレビュー版を含む)にインストールが可能で、どれに入れても同じバージョンになるようだ。
WSLの更新はそもそもどうなっているのか?
Microsoftストアで配布されているWSLは、そもそもプレビューという位置づけである。つまり、WSLの正式版はWindowsに付属しているバージョンになる。Windowsのプレビュー版に関しては、Windows Insider Programのブログでリリースの概要が発表される。
ただ、このところのブログ記事にはWSLに関するものがほとんどない。Windows 11のプレビュー時期までは、ブログとは別にWSLのリリースノートがあり、これがプレビュービルドに連動して変更点を公開していた。しかし、Microsoftストア版プレビューの公開以来、この更新が止まっている。
これらのことから考えると、WSLのプレビューに関しては、Microsoftストア版に移行したと考えられる。Microsoftストア版に関しては、GitHub上に簡単だがリリースノートが用意されている。
このリリースノートを見ると、Microsoftストア版WSLのバージョンに応じてLinuxカーネルのバージョンも上がっており、WSL自体のバージョンとLinuxカーネルのバージョンとの間には一定の関係があると考えられる。つまり、同じカーネルバージョンを使うということは、WSL自体の主要な機能もほぼ同じと考えられる。Windows 10とWindows 11のWSLには、Linux GUIアプリへの対応(WSLg)の有無などの違いがあるが、「設定」→「アプリ」→「インストールされているアプリ」を見ると、WSLとWSLgはパッケージとしては別になっている。
そういう意味では、WSLには、Windows 10版、Windows 11版、Microsoftストア版プレビューの3つがあるとするのが正確そうだ。
Microsoftストア版WSLのバージョンを確認する
Windowsリリース版、プレビュー版に付属するWSLには、WSL自体のバージョンを表示する機能がない。これに対して、Microsoftストア版WSLでは、wsl.exeに「--version」オプションが追加されており、これでWSL自体のバージョンを表示できる。

Windowsに付属のWSLでは、wsl.exeが「--version」オプションに対応しておらず、ヘルプを表示する。ただし、「--status」オプションでは、カーネルのバージョンを表示する。Microsofストア版WSLをインストールすると「--version」(-vと省略可能)が有効になるが、逆に「--status」オプションが簡易表示になる
なお、似たような機能としてWindows付属版WSLには、「--status」がある。ここではLinuxカーネルのバージョンと「Linux用Windowsサブシステムの最終更新日」という表示が出る。ただし、この最終更新日は、最後にLinuxカーネルをアップデートした日付を表示するだけで、WSL自体のバージョンとは何の関係もない。
逆に言えば、Microsoftストア版がインストールされているかどうかは、wsl.exeが「--version」に対応しているかどうかで判定できる。もし、wsl.exeのヘルプ表示が出るようなら、それはMicrosoftストア版WSLではない。Microsoftストア版は、インストールされていれば必ず優先される。
というのも、Microsoftストア版のwsl.exeは、UWPアプリで、アプリ実行エイリアスになっているからである。同名のデスクトップアプリのexeファイルがあっても、デフォルトでは、アプリ実行エイリアスが優先される(「設定」→「アプリ」→「アプリの詳細設定」→「アプリ実行エイリアス」に設定がある)。
Microsoftストア版に関する情報は、GitHubの以下のページにある。
●Releases · microsoft/WSL
https://github.com/microsoft/WSL/releases
これによれば、原稿執筆時点でのプレビューは、Ver.0.70.5である(公開は日本時間の10月26日)。ただし、wsl.exeの「--version」オプションでは、「0.70.5.0」と表示されるようだ。ここから、msixパッケージを使ってのインストールも可能だが、基本的には、Microsoftストアの自動更新で十分である。

この連載の記事
-
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う -
第461回
PC
Copilot+ PCを買ってみたが、「今焦って買う必要はない」のかもしれない - この連載の一覧へ