2020年5月28日より配信が開始されたWindows 10の大型アップデート、Windows 10 May 2020 Updateが正式リリースされました。それと同時に配信を開始したWSL2(Windows Subsystem for Linux 2)について、従来のWSLとの違いとインストール方法をご紹介します。

ソリューション最終更新日: 20200908

WSL 2(Windows Subsystem for Linux 2)の違いとインストール方法

  • このエントリーをはてなブックマークに追加

5月28日より配信が開始されたWindows 10の大型アップデート、Windows 10 May 2020 Updateが正式リリースされました。それと同時に配信を開始したWSL 2(Windows Subsystem for Linux 2)について、従来のWSLとの違いとインストール方法をご紹介します。

今回の記事の検証はWindows 10 Pro 64bit (バージョン:2004 ビルド:19041.264)にて行いました。

※WSL 2を使用する場合にはWindows 10のバージョン2004への更新が必要です。リリース直後のWindows 10では思わぬ不具合に遭遇する場合がございます。バックアップ等を万全に行った上でお試し下さい。

WSL 2とは

WSL 2とはWindows Subsystem for Linux 2の略で、Windows 10上でLinuxを動作させるための仕組みであるWSLのバージョン2といった位置付けになります。
Windows上でLinuxを動作させられるため、システム開発等でテスト用に使われたりします。
WSLとは動作する仕組み自体は異なっているのですが、見た目上は従来同様に動作し、更にWSL 2を導入した場合、動作させるLinux毎にWSLかWSL 2、どちらで動作させるかを選択する事が可能です。

WSL2とWSL1との違い

軽量かつ高速起動

従来のWSLのメリットとして動作に必要なメモリが少なく、軽量に動作し、起動も早いというメリットがありました。
WSL 2ではそのメリットが更に強化され、従来のWSLだけではなく、その他の仮想PCソフトウェアからLinuxを立ち上げて動作させるよりメモリ消費量が少なく、高速で起動が可能になっています。
メモリ搭載量が少なくなりがちなノートPCでの利用や、ちょっとしたテストなどの際に都度仮想マシンを立ち上げるより素早く動作させる事が可能です。

完全な互換性

従来のWSLでは完全にLinuxが動作出来ている訳ではありませんでした。Linuxカーネルではなく、LxCore.sys/Lxss.sysというNTカーネルドライバがLinuxシステムコールを受け取り、それをWindowsシステムコールへと変換して実行していました。その命令の変換自体が完全ではなかったため、不具合の発生するソフトウェアがありました。有名な所だとDocker等のLinuxを使用する上で便利なソフトウェアも動作しませんでした。
一方でWSL 2ではHyper-Vを利用しての完全なエミュレーションとなっており、Linuxカーネルそのものが動作します。そのためWSLでは動作しなかったDockerも動作するようになり、更に専用のオプションまで用意されています。

ファイルアクセス速度の向上

WSLでは問題とされていたファイルへのアクセス速度が遅い点ですが、こちらもWSL 2では改善され、ファイルフォーマットもWSL独自のVolFSから変わり、仮想HDDを利用してext4を使用するため、直接やり取り出来る事からアクセス速度が向上しています。

仮想マシン化

WSL 2では軽量化の一因でもある軽量ユーティリティVM を動作させるためにHyper-Vを用います。
従来であればHyper-VはWindows 10 Homeでは利用出来ませんでしたが、WSL 2に関連するHyper-V機能はWindows 10 Homeでも利用可能です。Hyper-Vをサポートしたシステム構成は必要ですが、OSの縛りなく導入する事が可能です。
他にも従来のWSLではWindows上で動作していたため、IPアドレスがWindowsと共通でしたが、仮想化する事により仮想ネットワークアダプタが作成される事で別のIPアドレスを割り当てる事が可能です。

WSL 2の弱点

かなりの高性能化を果たしたWSL 2ですが、弱点が無い訳ではありません。
Hyper-Vを利用するため、その他のHyper-Vを利用したソフトウェアとは同時に利用出来ません。ですが、こちらの弱点に関しては他の仮想マシンソフトウェアのアップデートで解消されつつあります。
他にはWindowsとのデータのやり取りに手間がかかります。これはWSL 2がVHDを用いておりファイルフォーマットがext4なためです。WSLの時には直接エクスプローラ等でファイルを触りに行けましたが、WSL 2ではコマンドを用いたり、ネットワーク経由、共有ファイルの設置等の手段を経る必要があります。

WSL 2のインストール方法

WSL 2のインストールですが、従来のWSLに追加する形でのインストールとなりますので、WSL 2のみのインストールは出来ません。ただし利用するシステムの変更はすぐに可能ですので、一度設定してしまえば特に意識する事なくどちらかをメインとして扱うことが可能です。

必要要件

WSL 2を導入するには幾つかの要件があります。
まずWindows 10の64bit版が実行されている事。32bit版ではWSLの実行に必要なWindowsの機能が配信されていません。
次にWindows 10のバージョンが2004、ビルドが19041以上に更新されている事。
最後にパソコンのハードウェア自体がHyper-Vに対応している事です。Core i世代以降のCPUであればほぼ対応していますが、BIOS側での対応や設定も必要ですのでご確認ください。
要件を満たしていない場合、以下のインストール手順のうち、Windowsの機能の有効化の部分で項目が選べない場合があります。

Windowsの機能の有効化

まずはWindowsの機能の有効化を行います。コマンドでも可能ですが、今回はコントロールパネルから機能を有効にしていきます。
コントロールパネル>プログラムと機能>Windowsの機能の有効化または無効化、を選択し、Windowsの機能ウィンドウを開きます。

Windowsの機能ウィンドウWindowsの機能ウィンドウ

その中から、『Linux用Windowsサブシステム』と『仮想マシン プラットフォーム』にチェックを入れOKをクリックします。
システムを有効にするために再起動を要求されますので再起動します。

規定のバージョンをWSL 2に変更する

各Linuxディストリビューションをインストールした際に、どのバージョンのWSLで動作させるかの既定値を変更する事が可能です。
デフォルトではWSLになっていますので、WSL 2を規定値にする場合はPowershellを開き、以下のコマンドを実行してください。

PS >wsl –set-default-version 2

これでインストールしたディストリビューションはWSL 2で動作するようになります。
この際Powershell上からカーネルコンポーネントの更新を要求される場合があります。その際には表示されるURL(https://aka.ms/WSL 2kernel)にアクセスし、更新パッケージをダウンロードして実行して下さい。
インストールが完了したら再度上記のコマンドを入力する事で既定値が変更されます。

Microsoft StoreからLinuxをインストール

続いて実行するLinuxディストリビューションをダウンロードします。
この際各ディストリビューションのホームページからではなく、Microsoftストアからダウンロードする形になりますのでご注意ください。
スタートメニューからMicrosoftストアを開き、右上の検索マークから「Linux」と検索すると、各Linuxディストリビューションが表示されますので、使用したいディストリビューションを選択し、「入手」をクリックしてください。ディストリビューション名のみの場合は常に最新が、名前の後ろにバージョンが記載してあるものはそのバージョンがダウンロードされます。ダウンロードが終わると「起動」ボタンが表示されますので、直接クリックして実行して頂いて構いません。

初回設定

初めて起動した際にはまずインストール作業があります。パソコンのスペックにもよりますが、2~3分以内には終わります。
続いてユーザー名、パスワード、パスワードの再確認と入力を求められますので、自由に入力して頂ければ大丈夫です。
この際パスワードは表示されませんが、入力自体は正常にされていますので、間違わないように入力して下さい。

初回起動時の画面初回起動時の画面

動作確認

最後にディストリビューションが正常にWSL 2で動作しているかの確認を行います。
Powershellを開いて以下のコマンドを入力します。

PS >wsl –l -v

入力に問題がなければ以下のように表示されます。

PS C:\Users\username> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2

この際Versionが1になっていれば、ディストリビューションはWSLで動作している事になるので、WSL 2で動作するように変更する必要がありますので、以下のコマンドを入力して下さい。

PS >wsl –set-version <Distribution> 2

<Distribution>の部分は先程のコマンドでNAMEに表示されていたディストリビューション名を入力して下さい。
変換に数分かかりますが、終わったら再度バージョンの確認コマンドを入力して確認して下さい。
末尾の数値を1に変更することで、WSL 2で動作しているディストリビューションをWSL動作に変更する事も可能です。
これでインストールは完了しました。

選択の幅が広がったWSL

WSL 2の従来との違いとインストール方法をご紹介させて頂きました。
導入して試される場合には当記事を参考にして頂けると幸いです。

ライタープロフィール 職人11号

ロボットアニメ大好きな店頭サポート出身のビジネス、Linux系担当ECスタッフ。空きスロットは意味なく埋めたいタイプ。お客様に寄り添ったパソコン作りをモットーに今日も頑張ります!

記事を
シェア