Windows 11やWindows 10でLinuxバイナリを実行する機能「WSL2 (Windows Subsystem for Linux version 2)」は現在活発に開発が進められている段階にある。2021年10月からは、WSL2のプレビュー版を簡単に試用できるようにもなった。今はWSL2の新しい機能や、現在の取り組みを整理する良いタイミングだ。今回は、特にここ最近のWSL2の新機能や変更点をまとめておく。

プレビュー版がMicrosoft Storeに登場

WSLやWSL2は「Windowsの機能」で有効化して使う仕組みになっている。今のところ「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」を有効化し、システムを再起動することでWSL1やWSL2が使用できるようになる。

WSLは「Windowsの機能」で有効化する

しかし、Microsoftはもっと簡単にWSLを利用できるようにするつもりのようだ。Microsoftは2021年10月に入ってからWSLのプレビュー版をMicrosoft Storeで提供するようになった。このプレビュー版では、システムコンポーネントのWSL/WSL2と同居が可能だ。Microsoft StoreからWSLのプレビュー版をインストールすると、プレビュー版のほうが優先的に使われるようになる。

Windows Subsystem for Linux Preview - Microsoft Store

将来的には、ほかのアプリケーションと同じようにMicrosoft StoreやWingetから簡単にWSLを利用できるようにするつもりのようだ。今よりも導入が簡単になりそうで喜ばしい。もし現在Windows 11でWSL2を利用しており、さらに最新の機能を真っ先に使っていきたいなら、Microsoft Storeから「Windows Subsystem for Linux Preview」をインストールすればよい。

ただし、現在のところこの機能はWindows 11に対して提供されたものであり、Windows 10では利用できない。Windows 10でもMicrosoft Store経由で利用できるようになるかどうかは微妙なところだ。Microsoftはすでに積極的な開発をWindows 11へ移行させている。Windows 10は徐々に保守的な使いになっていく可能性が高い。Windows 10に対してMicrosoft Store経由でのWSLの提供が行われるかどうかは、今後のMicrosoftの動向に注目しておく必要がある。

WSLgをWSLアプリケーションの一部として同梱

2021年10月13日(米国時間)にリリースされた「Windows Subsystem for Linux Preview version 0.47.1.0」から、「WSLg」がWSLアプリケーションの一部として同梱されるようになった。このバージョンに同梱されているのはWSLg version 1.0.29だ。

WSLはこれまでターミナルアプリケーションやコンソールアプリケーションからCUIベースで使うものだった。WSLgはWSLでGUIアプリケーションを実行するための機能で、まだプレビュー版という扱いになっている。「Windows Subsystem for Linux Preview」にWSLgが同梱されるということは、WSLgを標準の機能として取り込む準備が進んだということになる。

WindowsはそもそもGUIアプリケーションが充実したプラットフォームだ。わざわざLinuxのGUIアプリケーションを実行する必要性は低いのだが、それでもLinuxでしか動作しないGUIアプリケーションなども存在するため、GUIアプリケーションを実行できる利便性は大きい。WSLgの活用事例は今後増えることになるだろうから、そのなかで便利な使い方も見えてくるのではないかと思う。

細かい機能の強化

「Windows Subsystem for Linux Preview」では上記以外にも細かい機能の追加や改善が行われている。執筆時点でわかっているほかの新機能や変更点などを以下に挙げておく。

  • ハードウェアパフォーマンスカウンターをサポート。逆にこの機能を無効化したい場合にはUSERPROFILE%.wslconfigの[wsl2]エントリに「hardwarePerformanceCounters=false」を追加する
  • C:\WINDOWS\System32ではなくユーザのホームディレクトリで起動するようにユーザータイルをアップデート
  • Windowsバイナリに静的CRTを使うように変更
  • ローカライズ文字列に対応(日本語にも対応)
  • Linuxカーネルを順次最新版へアップデート、および、カーネルアップデートによる各種機能の強化
  • マウント機能の強化(ファイルシステム検出機能の強化、5秒リトライ機能の導入、VHDファイルのマウントに対応、オプション指定の強化)
  • 仮想マシンアイドル処理ロジックのシンプル化
  • スワップ関連機能の改善
  • NATネットワークにおけるMTUの動的アップデート機能の実現
  • wsl.exeに—versionオプションを追加
  • wsl.exe —versionおよび—statusにWindowsバージョンを追加
  • wslg.exeへエラーメッセージダイアログを追加
  • ARM64における各種改善


今のところ「Windows Subsystem for Linux Preview」は1カ月ごとに新しいバージョンが公開される状況になっている。「Windows Subsystem for Linux Preview」はアンインストールすればすぐにデフォルトのWSL1/WSL2へ戻すことができるので、試してみるのは悪くない。

WSL2は今、最も面白い

WSL2のプレビュー版がWindows 11で簡単に利用できるようになったことは大きい。1カ月ごとに新しいWSL2を試すことができるのだ。WSL2は現状でもすでに実用的なのだが、さらにいろいろな機能が利用できるようになる。このままいくとWindows 11は最もLinuxを利用しやすいプラットフォームということになりそうだ。

WSL2はHyper-Vで動作しているので、いくつか制約がある。しかしそれも徐々に新しい機能の追加で利用できるようになっている。今後ますますWSL2でいろいろな操作ができるようになるだろう。今後も目が話せないプラットフォーム、それが今のWSL2なのだ。