kledgeb UbuntuやLinuxの最新情報を紹介

WSL その171 - Windows Subsystem for Linuxの新アーキテクチャー、WSL 2登場

WSL 2

「Microsoft」から「WSL 2」がアナウンスされました。


  • Announcing WSL 2

「WSL 2」は「Windows Subsystem for Linux」の新しいアーキテクチャーです。
劇的なファイルシステムパフォーマンスの向上や、システムコールの完全な互換性が確保され、「Docker」などさらに多くのLinuxアプリケーションを「WSL 2」上で動作させることができます。

WSL 2とは

開発チームが「WSL」のコミュニティーからもっと多く寄せられた要望は、ファイルシステムパフォーマンスの向上と、「WSL」のシステムコールの互換性を改善し、より多くのLinuxアプリケーションを動かせるようにして欲しいという要望です。
「WSL 2」ではこの2つの要望を実現します。

「WSL 2」は「Windows Subsystem for Linux」の新アーキテクチャーであり、「Windows」上で「ELF64 Linuxバイナリー」を動かすための仕組みです。
この新アーキテクチャーでは、Linuxバイナリーが「Windows」及びPCのハードウェアと対話する方法が変更されています。
アーキテクチャーは新しくなりますが、ユーザーから見た使い勝手は「WSL」と同じです。
また「WSL 2」の登場により、従来の「WSL」は「WSL 1」と表現されます。

WSL 1もWSL 2も利用可能

ユーザーはインストールした「Linuxディストリビューション」を「WSL 1」上でも「WSL 2」上でも動作させることができます。
ユーザーはいつでも、「WSL 1」上で動作するLinuxディストリビューションを「WSL 2」上で動作するようにアップグレードしたり、逆に「WSL 2」上で動作するLinuxディストリビューションを「WSL 1」上で動作するようにダウングレードすることが可能です。

また「WSL 1」上で動作するLinuxディストリビューションと「WSL 2」上で動作するLinuxディストリビューションを共存して利用することも可能です。

WindowsにLinux kernelを同梱

「WSL 2」は本物の「Linux kernel」を使用する全く新しいアーキテクチャーです。
「Microsoft」は「Windows」に本物の「Linux kernel」を同梱します。
本物の「Linux kernel」により、システムコールに完全な互換性が確保されます。

Linux kernel 4.19ベースのLinux kernel

「Microsoft」は2018年にすでに「Azure Sphere」で「Linux kernel」の同梱を行っていますが、「Windows」と共に「Linux kernel」を提供するのは今回が初めてです。
「Microsoft」は最新の安定ブランチから「Linux kernel」を社内でビルドし、「Windows」と共に出荷します。
「Linux kernel」のソースコードは「kernel.org」から入手したソースコードがベースとなります。
初期ビルドでは、「Linux kernel 4.19」ベースの「Linux kernel」が提供される予定です。

WSL 2向けに最適化

「Windows」に同梱される「Linux kernel」は、「WSL 2」向けに最適化された「Linux kernel」になります。
「Windows」上で素晴らしいLinux体験を実現するため、サイズやパフォーマンスを意識した最適化が施されます。

Windows Updateの対象になる

「Linux kernel」のセキュリティーアップデートや改良は、「Windows Update」を通じて入手できます。
つまりユーザーは「Linux kernel」のアップデート管理を行うことなく、最新の「Linux kernel」を入手できるということです。

オープンソース 

「Windows」に同梱される「Linux kernel」は、オープンソースで公開されます。
「WSL 2」をリリースする際「Github」上でソースコードが公開され、ユーザーは変更された内容やユーザー自身による「Linux kernel」のビルドが可能になります。

WSL 2で行われたアーキテクチャーの変更

「WSL 2」は軽量な仮想マシン(VM)ユーティリティー内部で「Linux kernel」を動作させるため、最新の仮想化技術を使用しています。

従来の仮想マシンとは性質が異なる

しかし「WSL 2」は従来の仮想マシンが持つ性質とは異なります。
仮想マシンと聞くと、起動に時間がかかり、完全に隔離された環境が存在し、PCのリソースを多く割き、仮想マシンの管理に時間が割かれるという印象を持つでしょう。

「WSL 2」にこのような性質はありません。
「WSL 2」は「WSL 1」が持つ利点を引き続き提供します。
つまり「Windows」と「Linux」間の高度な統合、非常に高速な起動時間、小さなリソース使用量、仮想マシンの設定や管理からの解放です。

「WSL 2」は仮想マシンを使用しますが、その管理や実行はバックグラウンドで行われ、ユーザーは「WSL 1」の時と同じ使い方が可能です。
「WSL 2」の動作デモでは、「Bash」の起動が2秒未満で完了します。

ファイルシステムパフォーマンスの向上

「WSL 2」は「WSL 1」よりもファイルシステムのパフォーマンスが向上しています。
以下のような操作を含むファイル操作が頻繁に行われる処理では、劇的な高速化が行われています。

  • git clone
  • npm install
  • apt update
  • apt upgrade

実際に向上するパフォーマンスの程度は、実行しているアプリ及びファイルシステムへのアクセス方法に依存します。

WSL 2の初期テスト

「WSL 2」の初期テストで「WSL 1」との比較が行われました。
zip圧縮されたtarアーカイブの展開では、20倍高速化されました。
同様に様々なプロジェクトで「git clone」や「npm install」及び「cmake」を実行した結果では、約2倍から5倍高速化した結果が得られました。

システムコールの完全な互換性

Linuxバイナリーは、ファイルへのアクセスやメモリーの要求・確保、プロセスの生成など多くの機能を実行するためにシステムコールを使用します。

WSL 1のシステムコール

「WSL 1」ではこれらシステムコールの多くを解釈する変換レイヤーを作成し、Linuxバイナリーは「Windows NT kernel」上で動作できるようになっています。
しかしすべてのシステムコールを実装することは困難な作業であり、この結果Linuxバイナリーの中には「WSL 1」上で動作しないLinuxバイナリーもありました。

WSL 2のシステムコール

しかし今や「WSL 2」は本物の「Linux kernel」を内包しています。
これにより完全なシステムコールの互換性が提供されます。
例えばLinux版の「Docker」や「FUSE」が動作するようになります。

WSL 2のリリースについて

「WSL 2」の登場がアナウンスされましたが、リリースはこれからです。

初期ビルドのリリーススケジュール

「WSL 2」の初期ビルドは、2019年6月末に「Windows Insider Program」を通じて提供される予定です。
初期リリースが行われる際、別途アナウンスが行われます。

来月まで待ちましょう。

WSL
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション