Windows 10と11、Microsoftストアでバージョンが異なるWSL
Windows Subsystem for Linux(以下、WSL)は、Windows 10 Ver.1709(RS3)で標準搭載されるようになり、現在に至る。今のWSLには、リリース版Windows 10/11に含まれるもの、Windows Insider Programのプレビュー版に含まれるもの、そしてMicrosoftストアで配布されているプレビュー版がある。
さらに細かく見ていくと、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には、「--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ストアの自動更新で十分である。
この連載の記事
-
第460回
PC
Windowsでsftpを使う -
第459回
PC
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた -
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 - この連載の一覧へ