WSL2でWindowsからLinux開発環境を構築する方法

WSL2でWindowsからLinux開発環境を構築する方法

WSL2とは何か

普段の仕事ではWindowsを使っているエンジニアにとって、Linuxを学ぶ際の最初のハードルは「どこで試すか」という点です。VirtualBoxやVMwareで仮想環境を構築する方法もありますが、OSイメージのダウンロードや仮想マシンへのリソース割り当てなど、初期設定の手間が伴います。デュアルブートはさらに敷居が高く、パーティション操作のリスクも生じます。

そこで有力な選択肢となるのがWSL2(Windows Subsystem for Linux 2)です。Windows 10(バージョン2004以降)およびWindows 11に標準搭載されており、本物のLinuxカーネルをWindows上で直接実行します。WSL1が命令セットを変換するエミュレーション方式だったのに対し、WSL2はMicrosoftが開発した軽量VMを使って実際のLinuxカーネルを動かすため、ファイルシステムのI/Oパフォーマンスや互換性が大幅に改善されています。詳細はMicrosoft公式WSLドキュメントで確認できます。

WSL2のインストール手順

Windows 10/11環境であれば、管理者権限で開いたPowerShellまたはWindows Terminalから以下のコマンド1行を実行するだけでインストールが完了します。

wsl --install

このコマンドにより、WSL機能の有効化と推奨ディストリビューションであるUbuntuのインストールが自動で行われます。再起動後にスタートメニューに「Ubuntu」が追加され、クリックするとLinuxターミナルが起動します。

インストールが完了したら、wsl --list --verbose で稼働中のディストリビューションとWSLバージョンを確認できます。Ubuntu以外にもDebianやFedoraなど複数のディストリビューションをMicrosoft Storeから追加インストールすることができます。

VS CodeとWSL2の連携

WSL2の真価が発揮されるのは、Visual Studio Code(VS Code)との組み合わせです。VS Codeに「WSL」拡張機能(旧称:Remote - WSL)をインストールすると、Windows上で動作するVS Codeから直接WSLのLinux環境に接続できます。

エディタはWindowsのGUIで快適に操作しながら、ファイルの保存先・プログラムの実行・デバッグはすべてLinux上で行われます。Webアプリケーション開発では、Windows側でコードを書いて保存すると、WSL上のLinuxで動いている開発サーバーに変更が即座に反映されるという開発フローが実現できます。またWindowsのエクスプローラーから \\wsl$\Ubuntu のパスでWSLのファイルシステムにアクセスしたり、逆にWSL側からWindowsのCドライブに /mnt/c/ でアクセスしたりと、双方向のファイル共有も容易です。

Docker DesktopとWSL2の統合

Docker Desktop for Windowsは、WSL2バックエンドを選択することでWSL2のLinuxカーネル上でコンテナを実行します。これにより、Hyper-Vを使わなくてもコンテナのパフォーマンスが改善し、WSLターミナルからdockerコマンドを直接呼び出すことも可能になります。

LinuxサーバーでのApache・Nginx構築やGitによるバージョン管理、SSHによる接続といった操作を、クラウドサーバーを借りることなく手元のWSL2環境でリスクゼロで試すことができます。WSL2はWindowsユーザーがLinux技術を実践的に学ぶための最も低コストなアプローチの一つです。