1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Microsoftストア版でプレビューが進められているWSL(Windows Subsystem for Linux)

ASCII.jp / 2022年10月30日 10時0分

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ストアの自動更新で十分である。

wsl.exeの「--updateオプション」

 wsl.exeの“--update”コマンドは、Windows 10版、Windows 11版、Microsoftストア版で違いがある。

 Windows 11版の場合、このオプションを単独指定すると、Microsoftストア版のインストールがされることに注意したい。Windows 10版では、このオプションはカーネルのアップデートの有無をチェックし、アップデートがあればカーネルを更新するものだった。

 Windows 11付属のWSLを使い続けたい場合で、カーネルのアップデートだけをしたい場合には、

wsl.exe --update --inbox

としなければならない。一応表示が出るのだが、Microsoftストア版WSLをインストールしたつもりがないのにインストールされてしまう結果になるので注意が必要だ。

 Microsoftストア版WSLをアンインストールして、Windows付属のWSLに戻したい場合、「設定」→「アプリ」→「インストールされているアプリ」で、「Linux用Windows サブシステムプレビュー」(日本語版Windowsの場合)を探してアンインストールする。

 「Windows Subsystem for Linux Update」や「Windows Subsystem for Linux WSLg Preview」は、Windows 11付属のWSLなので、これをアンインストールしてはならない。同様にMicrosoftストア版WSLをアンインストールしたあと、「--update」オプションを単独で使うwsl.exeを実行してしまうと、再度Microsoftストア版のWSLがインストールされてしまうことにも注意が必要だ。

 これまで、Windowsのプレビューとともに提供されてきたWSLだが、現状、WSLのプレビューは完全にMicrosoftストア版WSLに切り替わったと思ってよさそうだ。前述のGitHubを見ると、短いときには、1週間程度で更新がある。Microsoftストア版は基本的には、プレビューなのだから、安定感を求めるなら、Windowsに付属しているWSLを使うほうがいいだろう。

この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください