カゴヤのサーバー研究室

カゴヤのサーバー研究室:IT用語の部屋

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

文●小泉 健太郎

  • この記事をはてなブックマークに追加
  • 本文印刷
※本記事はカゴヤ・ジャパンが提供する「カゴヤのサーバー研究室」に掲載された「WindowsでWSL2を使って「完全なLinux」環境を作ろう! 」を再編集したものです。

 WSL(Windows Subsystem for Linux)とは、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の初期設定画面が表示される

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

 この入力まで終えたら、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の使い方を学んだり検証したりできるのです。

(提供:カゴヤ・ジャパン)

この記事の編集者は以下の記事もオススメしています

過去記事アーカイブ

2023年
01月
02月
03月
04月
05月
2022年
02月
06月
07月
08月
09月
10月
11月
12月
2021年
06月
08月
10月
11月
12月
2020年
10月