お問い合わせはこちら

WindowsでWSL2を使って「完全なLinux」環境を作ろう!

公開
更新

WSLとは、Windows上でLinuxを動作させるための実行環境です。新しいバージョンである「WSL2」ではWindows上で「完全なLinux」が動かせるようになり、できることが大幅に増えました。この記事ではWSL(WSL2)とは何かや、WSL1・WSL2の違い、WSL2を使ってLinux環境を構築する方法について解説します。

Windows上でLinuxを動かせる「WSL」とは?

「WSL(Windows Subsystem for Linux)」とは、Windows上で動作するLinuxの実行環境です。マイクロソフト社は、開発者のためのツールとしてWSLを提供しています。WSL1のベータ版が2016年8月に、正式版が2017年10月に公開されたあと、2019年2月にはWSL2が公開されました。

WSLを利用することで手元のWindows OSをこれまで同様に使いながら、同じWindows上でLinuxを動作させることもできます。WSLでLinuxを使うにあたり、いちいちOSを再起動する必要はありません。あたかもWindowsにインストールされているソフトウェアの1つのように、Linux環境を利用できるのです。

2019年に登場したWSL2とWSL1の違い

2016年に公開したWSL1に比べ、2019年に登場したWSL2は大きな進化を遂げ、Linux環境として実行できる内容が大幅に増えています。それでは、WSL2・WSL1にはどのような違いがあるのでしょうか。以下、最も特徴的な差異について解説します。

WSL2では「完全なLinux」が動かせるようになった

WSL1と比較したWLS2の最も大きな違いは、仮想マシンによって「完全なLinux」を動作させられるようになった点にあります。WSL1でもLinuxを動作させることはできますが完全ではなかったのです。

WSL1ではLinuxカーネルでなく、LXCoreというサブシステムがLinuxの実行環境を作っています。この仕組みがLinuxとしては不完全であり、できることに制限が生じていました。

WSL2では、Hyper-Vと呼ばれるハイパーバイザー上でLinuxカーネルが動作します。その結果、WSL2を使うことによりWindows上で完全なLinuxが使えるようになったのです。

WSL2はWSL1より軽快に動作するようになった

WSL1もWindows上で比較的軽快に動作しますが、WSL2ではさらに高速に動作するようになっています。まずWSL2では、WS1より少ないメモリでLinuxを起動できるようになりました。WSL2であれば、搭載するメモリが少ないノートPCでも、より快適にLinux仮想マシンが使えます。

さらにファイルアクセスの面でも、WSL1に比べWSL2は改善が図られました。WSL1ではWindows標準のファイルシステムであるNTFSを使うことから、Linuxファイルへのファイルアクセスが遅くなります。一方のWSL2ではLinux標準のファイルシステム「EXT4」が採用され、Linuxファイルへのアクセスが格段に高速化したのです。

※ Windowsファイルへのアクセスは、EXT4を使うWSL2の方がWSL1より遅くなります。WSL1と比べ全ての面でWSL2の方が優れているわけではないので注意して下さい。(WSL2はWSL1に上書きされるのでなく、共存するかたちで使い分けられます。)

WSL2では「仮想マシン」を使う仕組みに変更された

WSL1は仮想マシンでなく、サブシステムであるLXCoreがLinuxの実行環境を作っています。そのためIPアドレスはWindowsと共有するかたちでした。一方のWSL2では、専用の仮想マシン「Lightweight utility VM」上でLinuxが動作します。仮想ネットワークアダプタも作成されることから、WSL2ではWindowsとは別のIPアドレスを割り当てられるようになりました。

WSL2を使うための要件

WSL2は、全てのWindows OSで使えるわけではありません。WSL2が使えるバージョンはWindows10(64bit版)以降です。残念ながら32bit版では、WSL2を利用できません。

またWindows10は、以下より新しいバージョン・ビルドに更新されている必要があります。

  • x64システムの場合:バージョン 1903 以降、ビルド 18362 以上
  • ARM64システムの場合:バージョン 2004 以降、ビルド 19041 以上。

Windowsのバージョン・ビルドは、Windows画面左下の「スタートボタン」から「設定」→「システム」と移動した先にある「詳細情報」にて確認できます。もし上記より古い場合は、OSを更新して下さい。

次にWSL2を使うためには、PCのハードウェアがHyper-Vに対応している必要があります。比較的新しいPCであればほぼ対応していますが、仮に対応していない場合はWSL2が使えないので注意して下さい。

Windows10でWSL2を使えるようにする手順

WSL2の概要についてみてきました。それでは、Windows10でWSL2を使えるようにするためには、どのような設定をすればよいでしょうか。以下、1つずつ手順をみていきましょう。

1.Linuxインストール前の準備を行う

まず「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」を有効化して、Linuxをインストールする準備を整えます。操作手順は以下の通りです。

【1】Windowsの「スタートボタン」→「Windowsシステムツール」→「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」と進む

【2】「Windowsの機能の有効化または無効化」(以下)が表示される。「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」にチェックを入れ「OK」をクリックする。

【3】画面の指示に従って再起動する

2.WSL2用Linuxカーネルをインストールする

WSL2用Linuxカーネルをインストールします。以下手順に従い作業を行ってください。

【1】ブラウザで「https://aka.ms/wsl2kernel」にアクセスする

【2】「x64マシン用WSL2 Linuxカーネル更新プログラムパッケージ」をクリックして、インストーラをダウンロードする

【3】ダウンロードしたインストーラをダブルクリックして起動させる

【4】インストーラが起動したら「Next」をクリックしてインストールをすすめる

3.WSL2を既定のバージョンで利用できるようにする

初期設定では、Linuxディストリビューションを動作させる既定のバージョンとしてWSL1が選択されています。WSL2を既定のバージョンとするため、以下の操作を実行して下さい。

【1】「Windows」+「R」キーを押す。

【2】「ファイル名を指定して実行」メニューが表示されたら、検索欄に「cmd」と入力し、「OK」をクリックする

【3】コマンドプロンプト(黒い画面)が表示されたら、以下コマンドを入力し「Enter」キーをクリックする

wsl --set-default-version 2

4. Linuxディストリビューションをインストールする

「Microsoft Store」にアクセスしてLinuxディストリビューションをインストールします。手順は以下の通りです。
※今回はLinuxディストリビューションのなかでも「Ubuntu」をインストールする手順を紹介します。

【1】Windowsの「スタートボタン」→「Microsoft Store」と進む

【2】検索欄に「ubuntu」と入力して検索を実行する

【3】検索結果の中から「ubuntu」を選択して、次の画面で「入手」をクリックする

【4】表示された画面で「開く」をクリックする※インストールが開始されます。

【5】以下のように、ubuntuの初期設定画面が表示される

画面に従い、以下の順番で入力を進める

1「Enter new UNIX username」新しく作成するユーザー名を入力します
2「New password」パスワードを入力します
3「Retype new password」同じパスワードをもう一度入力します

この入力まで終えたら、ubuntuのインストール作業は完了です。お手元のWindowsにて、ubuntuが使えるようになっています。

Windows Terminalでより簡単にLinuxを使えるようにする

このままでは、WSL2を使う際にいちいちコマンドプロンプトやPowerShellから起動しなくてはなりません。「Windows Terminal」を使うと、WSL2を1つのタブとして切り替えて利用できるようになります。

以下の手順に従い、Windows Terminalをインストールして下さい。

【1】Windowsの「スタートボタン」→「Microsoft Store」と進む

【2】検索欄に「Windows Terminal」と入力して検索を実行する

【3】「Windows Terminal」が見つかったら「入手」をクリックする※インストールが始まります

【4】インストールが完了したら「開く」をクリックする

Windows Terminalでは以下のように下三角ボタンからUbuntu(WSL2)を選択して、1つのタブとして利用が可能です。

Windows11でWSL2を使えるようにする手順

Windows11ではコマンドプロンプトにて以下コマンドを実行するだけで、ubuntuがインストールされたWSL2環境が使えるようになります。

wsl --install

このコマンドだけで、以下4つの操作が実行されています。

  • 「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」を有効化する
  • WSL2用Linuxカーネルをダウンロード・インストールする
  • WSL2を既定のバージョンとする
  • Ubuntuディストリビューションをダウンロード・インストールする

またWindows11は最初からWindows Terminalがインストールされています。Windows10のように、改めてインストールする必要もありません。

まとめ

WSL1と違いWSL2ではハイパーバイザー「Hyper-V」上で、Linuxカーネルが動作します。そのためWSL2を使うことで、Windows上で「完全なLinux」が動作するようになりました。 またWSL2では専用の仮想マシン「Lightweight utility VM」上でLinuxを動かすことができる上に、IPアドレスも割り当てられます。Windows+WSL2であれば、本物と変わらないLinux環境を手軽に用意して、Linuxの使い方を学んだり検証したりできるのです。