そもそもWSL2とは
近年クラウド環境を利用する機会が増えていますが、Webサイト向けのLinuxディストリビューションは、OSの約6割を占めており、Linux環境の利用はITエンジニアにとって必須とも言えます。
WSL2は、Windowsの標準機能として提供されているLinux環境実現のための機能、WSL(Windows Subsystem for Linux)の最新バージョンです。
【参考】:11月Webサイト向けLinuxシェア、Ubuntuが微増|マイナビニュース
WSLとWSL2の違い
WSL2はWSL(1)に代わって、Windws11及びWindws10のバージョン1903、ビルド18362以降の標準機能です。WSL2では、WSLと比較して以下の機能が追加されています。
▪マネージドVM:専用の仮想マシン「VM」上でLinuxが動作します。 ▪完全なLinuxカーネル:WSL2向けに最適化された、優れたLinux エクスペリエンスがWindowsから提供されます。 ▪システム コールの完全な互換性:システムコールの完全な互換性により、Dockerなど、WSL内で実行可能な新しいアプリのセットができるという利点があります。
【参考】:WSL バージョンの比較 | Microsoft Learn
WSL2が使える環境
WSL2をインストールする上で、Windowsバージョンの要件がありますので、確認しておきましょう。以下に挙げるOSのバージョンであれば、WSL2のインストールが可能です。
▪Windows11すべて ▪Windows 10x64システムの場合:バージョン 1903 以降、ビルド 18362 以上、 もしくはARM64システムではバージョン 2004 以降のビルド 19041 以上で利用可能。 ProやEnterpriseエディション以外に、Homeエディションでも利用可能。 ※バージョンやビルド情報を確認したい場合には、検索窓から「winver」コマンドを使うと表示されます。 ▪Windows Server 2022:2022年6月アップデート以降のバージョンにて利用可能。
ただし、Windows10では、パソコンのハードウェアがHyper-V(仮想マシン機能)に対応していることが前提条件になります。そのため、WSL2がインストールできない場合は、ハードウェアのスペックに不足がある可能性がありますので注意が必要です。
【参考】:WSL のインストール | Microsoft Learn
WSL2をインストールする
ここでは、WSL2によってインストール可能なLinuxディストリビューション及び、Windows11環境でのWSL2のインストールの方法について解説します。
WSL2で利用できるLinuxディストリビューション
WSL2をインストールする前に、WSL2をインストールすることで利用できるLinuxディストリビューションについて確認しておきましょう。
WSL2で利用可能なLinuxディストリビューションには以下の種類がありますが、おすすめのディストリビューションはWSL2でデフォルトとなっているUbuntuです。Ubuntuは利便性が高く、軽快に動くと定評がありますので、選択に迷った方にはUbuntuの利用をおすすめします。
NAME FRIENDLY NAME ・Ubuntu Ubuntu(既定) ・Debian Debian GNU/Linux ・kali-linux Kali Linux Rolling ・SLES-12 SUSE Linux Enterprise Server v12 ・SLES-15 SUSE Linux Enterprise Server v15 ・Ubuntu-18.04 Ubuntu 18.04 LTS ・Ubuntu-20.04 Ubuntu 20.04 LTS ・Ubuntu-22.04 Ubuntu 22.04 LTS ・OracleLinux_8_5 Oracle Linux 8.5 ・OracleLinux_7_9 Oracle Linux 7.9
2023年2月現在でTerminalより 「wsl --list --online」コマンドで確認したものです。Ubuntu以外のディストリビューションをインストールしたい場合には、上記から選択します。
【参考】:Ubuntu
WSL2のインストール手順
WSL2をインストールする前に、「Windows の機能の有効化、または無効化」について確認します。「Windows の機能」はスタートボタンの右クリックメニューにある「検索」窓に’Windows の機能’と入力すると表示されます。
Windowsの機能が表示されたら「Linux 用 Windows サブシステム」と「仮想マシンプラットフォーム」を有効(ON)にします。
Windows 11の場合では、下図の手順に従って、スタートメニューの右クリックから「ターミナル(管理者)」を起動します。
ターミナルが起動したら、次のインストールコマンドを入力し、Enterキーを押すとWSL2のインストールが始まります。
PS C:\Users🔳△▶×◇> wsl --install
このコマンド入力によってLinuxカーネルがダウンロード、WSL2が既定値として設定され、Ubuntuディストリビューションのダウンロードとインストールまで実行してくれます。ここまで数分前後の時間を要しますが、次のようなメッセージが表示されると、Ubuntuのインストールは終了です。
Ubuntu 22.04 LTS がインストールされました。
Ubuntu 22.04 LTS を起動しています..
続いて、別のターミナル画面が開き、ユーザー名とパスワード「2回同じものを入力」が求められます。任意のものを入力しますが、忘れがちな方はWindowsと同じものでも構いません。
セットアップが終わると、プロンプト画面上で""ユーザー名@マシン名:~$""が表示されますので、exitと入力して画面を閉じます。
Linux環境の起動
WSL2のLinux環境の起動は、スタートメニューからインストールしたLinuxディストリビューションを選択すると、操作用のプロンプト画面が起動します。Ubuntuをインストールした場合には、下のように「Ubuntu」を選択すればOKです。
開始方法は通常のLinuxの操作と同様に、Windowsターミナルから「wsl」コマンドを入力する方法もあります。まず最初に「lsb_release -a」コマンドを用いてUbuntuのバージョンを確認してみましょう。Ubuntu 22.04.1 がインストールされていることが確認できました。
タイムゾーンのJSTへの変更
Ubuntuを起動し、コマンド「sudo dpkg-reconfigure tzdata」を入力します。次のパッケージの設定画面で地理的領域を尋ねてきますので、アジアを選びEnterキーを押します。
続いて都市の選択画面が表示されますので、デフォルト設定でよければEnterキーを押します。
Linux環境の終了
Linux環境の終了は、操作中のウィンドウで「×」を閉じるだけで終了します。Linuxのシャットダウンコマンドである(shutdown -h )などは使う必要はありません。
「wsl」コマンドを用いてLinux環境をスタートした場合には、「exit」コマンドに入力で元のプロンプトに戻ります。
WSL2のインストールに関わる疑問など
ここでは、WSL2のインストールに関して、よくある疑問やトラブルに関して取り上げています。
■Ubuntuなどディストリビューションのインストールが失敗する場合
ターミナル画面で「linux 用 windows サブシステムには、ディストリビューションがインストールされていません。」というメッセージが表示される場合は、「Windows の機能の有効化、または無効化」の設定で、チェックが外れている可能性があります。
「Linux 用 Windows サブシステム」と「仮想マシンプラットフォーム」の両方にチェックが入っていることを確認しましょう。チェックを入れたら「OK」をクリックし、パソコンを再起動します。
■WSL2ができないこと WSLと比較して、WSL2ができないことは特にありませんが、OSファイルシステム間のパフォーマンスという点ではWSLの方がおすすめです。この問題に関しては、プロジェクト作業で実行しているツールと同じOS上にプロジェクトファイルを格納することで対処ができます。
■Ubuntu以外のディストリビューションを利用したい ターミナル画面で、wsl --install -d <ディストリビューション名>とコマンドを入力することで、Ubuntu以外のディスリビューションをインストールすることができます。例えばDebianを選択したい場合には、コマンドは「wsl --install -d Debian」と入力します。
Linux環境を活用しよう
ここまで、Windowsパソコン上にWSL(Windows Subsystem for Linux)を利用したLinux仮想環境を構築し、LinuxディストリビューションのUbuntuをインストールする手順について紹介しました。
WSL1と異なり、WSL2ではハイパーバイザー「Hyper-V」上でLinuxカーネルを動作させます。WSL2を使うことにより、Windows上に「完全なLinux環境」を構築することが可能になりました。
Windows+WSL2であれば、1台のパソコン上で本格的なLinux環境を手軽に用意し、Linuxの使い方を学んだりアプリ開発を行ったり、あるいはアプリの検証などに利用することができます。Windowsパソコンを利用されている方は、ぜひWSL2を利用して、Linux環境を構築してみてください。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから