WSL2セットアップ完全ガイド — インストールから実用設定まで
WSL2(Windows Subsystem for Linux 2)は、Windows上でLinux環境をそのまま動かせる仕組みです。仮想マシンを別途用意しなくても、PowerShellから一つのコマンドを打つだけでUbuntuなどのディストリビューションが使えるようになります。ここではインストールから初期設定、実際に使う上で押さえておきたい操作までをまとめます。
前提条件
WSL2を使うには次のいずれかの環境が必要です。
- Windows 10 バージョン2004以降(ビルド19041以降)
- Windows 11
また、CPUがSLAT(Second Level Address Translation)に対応している必要があります。Intel Nehalem世代(Core第1世代)以降、AMD Opteron以降のCPUであれば問題ありません。古いCore 2 Duoなどでは、仮想化機能を有効にしてもWSL2は動作しない点に注意してください。
BIOS/UEFIで仮想化支援機能(Intel VT-x、AMD-V)が無効になっていると、後述のインストールでエラーになります。CPUメーカーやPCメーカーごとに設定項目の名称や場所が異なるため、事前に有効化しておくとスムーズです。
インストール手順
Windows 10/11では、PowerShellを管理者権限で開いて次の1行を実行するだけでインストールが完了します。
wsl --install
このコマンドはWSLの実行に必要な機能を有効化し、既定のディストリビューションであるUbuntuをインストールします。実行後は一度PCを再起動してください。
再起動後、初回起動時にUbuntuのコンソールが立ち上がり、ファイルの展開処理が走ります。この初回だけ少し時間がかかりますが、2回目以降の起動は1秒程度で完了します。
Ubuntu以外のディストリビューションを使いたい場合は、まず選択肢を確認します。
wsl --list --online
表示された名前を指定してインストールします。
wsl --install -d <ディストリビューション名>
すでにWSLが有効化された状態で”wsl —install”を実行するとヘルプが表示されるだけになることがあります。その場合は上記の”—list —online”と”-d”指定でのインストールを試してください。ダウンロードが0%のまま進まない場合は、“wsl —install —web-download -d <ディストリビューション名>“を試すと解決することがあります。
Ubuntuの初期設定
インストール完了後、初回起動時にLinux側のユーザー名とパスワードの設定を求められます。ここで作成するユーザーはUbuntu内のrootではない一般ユーザーで、“sudo”コマンドで管理者権限の操作を行います。
ユーザー作成が終わったら、まずパッケージ一覧とインストール済みパッケージを最新化しておきます。
sudo apt update && sudo apt upgrade -y
WindowsとLinuxのファイルシステムを行き来する
WSL2では、Windows側のドライブが”/mnt/“以下にマウントされます。例えばWindowsの”C:\Users\ユーザー名”は、WSL側からは次のパスでアクセスできます。
/mnt/c/Users/<ユーザー名>
一方で、Linux側のファイルをWindowsのエクスプローラーから見たい場合は、アドレスバーに次を入力します。
\\wsl$
パフォーマンス面では、Windows・Linuxどちらのコマンドラインで主に作業するかによって、ファイルの置き場所を使い分けるのがポイントです。Linuxコマンドライン中心の開発であれば、プロジェクトファイルはWindows側の”/mnt/c/…”ではなく、Linux側のホームディレクトリ(“/home/ユーザー名/…”)に置いた方が高速に動作します。逆にWindows側のツールで主に作業するなら、Windowsのファイルシステムに置く方が向いています。
WSL側から現在のディレクトリをそのままエクスプローラーで開きたいときは、次のコマンドが便利です。
explorer.exe .
末尾のピリオドを忘れると正しく開けないので注意してください。
WindowsとLinuxのコマンドは混在させて実行することもできます。例えばPowerShellから直接Linuxコマンドを呼び出す場合は次のようにします。
wsl ls -la
逆にLinux側からWindowsの実行ファイルを呼び出すこともできます。
notepad.exe foo.txt
WSL1との違い
“wsl —install”で新規にインストールした場合、既定でWSL2としてセットアップされます。WSL1は軽量な互換レイヤーとしてLinuxシステムコールをWindows側で解釈する方式であるのに対し、WSL2は実際のLinuxカーネルを軽量な仮想マシン上で動かす方式です。そのため、WSL2の方がLinuxとの互換性が高く、フルシステムコールに対応していますが、Windows側ファイルシステム(“/mnt/c/”以下)へのアクセス速度はWSL1より劣る場合があります。ディストリビューションごとにWSL1/WSL2を切り替えることも可能です。
wsl --set-version <ディストリビューション名> <1または2>
インストール状態・バージョンの確認
現在インストールされているディストリビューションとそのWSLバージョンを確認するには次を使います。
wsl --list --verbose
WSL全体のステータス(既定のディストリビューション、カーネルバージョンなど)を確認するには次を使います。
wsl --status
WSL自体やコンポーネントのバージョンを確認したい場合は次を使います。
wsl --version
よくあるつまずき:仮想化が無効
“wsl —install”の実行後やディストリビューション起動時に仮想化関連のエラーが出る場合、多くはBIOS/UEFIで仮想化支援機能が無効になっていることが原因です。以下を確認してください。
- BIOS/UEFIでIntel VT-x(またはAMD-V)を有効化する
- Windowsの「オプション機能」で「Virtual Machine Platform」が有効になっているか確認する
- 有効化後にPCを再起動する
管理者権限のPowerShellで、Hyperバイザーの起動設定が無効になっていないかも確認できます。
bcdedit /enum | findstr -i hypervisorlaunchtype
“hypervisorlaunchtype Off”と表示された場合は、次のコマンドで有効化します。
bcdedit /set hypervisorlaunchtype Auto
VMware・VirtualBoxなど他の仮想化ソフトを併用している場合は、Hyper-Vと共存できるバージョン(VMware 15.5.5以降、VirtualBox 6以降)を使うか、無効化しておく必要があります。
まとめ
WSL2は”wsl —install”の一行でほぼ環境構築が完了するところまで簡単になっています。つまずきやすいのは仮想化支援機能の有効化まわりだけで、それさえクリアすれば、あとはUbuntuのユーザー設定とパッケージ更新をすれば実用できる状態になります。WindowsとLinuxのファイルシステムを行き来する際は、パフォーマンスを意識してファイルの置き場所を選ぶとよいでしょう。