WSL2入門 - WindowsでLinuxを使う方法
WSL2とは何か?
WSL2(Windows Subsystem for Linux 2)は、Windows上でLinuxを仮想マシンなしで動かすための仕組みで、Windows 10(バージョン2004以降)と Windows 11 に標準搭載されている。
WSL1と比べてWSL2は完全なLinuxカーネルを搭載しており、Dockerやsystemdも動作する。開発環境として日常的に使える水準に達しているため、Windows PCでLinuxを学びたい場合の最有力な選択肢となっている。
WSL2でできること
- Ubuntu / Debian / Fedora 等のLinuxコマンドをWindowsで実行
- Dockerコンテナの実行
- PythonやNode.jsなどの開発環境構築
- シェルスクリプトの作成・実行
- VS CodeでLinuxファイルを直接編集
WSL2のシステム要件は?
WSL2を使うにはWindows 10 バージョン2004(ビルド19041)以降、またはWindows 11が必要で、かつBIOSで仮想化(VT-x / AMD-V)が有効になっていること。
| 項目 | 最低要件 |
|---|---|
| OS | Windows 10 バージョン2004(ビルド 19041)以降 / Windows 11 |
| アーキテクチャ | x64 または ARM64 |
| 仮想化 | BIOS/UEFI で有効化済み |
Windowsのバージョンは winver コマンドで確認できる。
winver
仮想化が有効かどうかはタスクマネージャー(Ctrl+Shift+Esc)→「パフォーマンス」→「CPU」の「仮想化」欄で確認できる。
WSL2のインストール方法
Windows 11 と Windows 10(2021年10月アップデート以降)では、コマンド1行でWSL2とUbuntuをまとめてインストールできる。
1. 管理者権限でPowerShell(またはコマンドプロンプト)を開く
スタートメニューで「PowerShell」を右クリック →「管理者として実行」を選択する。
2. インストールコマンドを実行する
wsl --install
インストール中: 仮想マシン プラットフォーム 仮想マシン プラットフォーム はインストールされました。 インストール中: Linux 用 Windows サブシステム Linux 用 Windows サブシステム はインストールされました。 インストール中: Ubuntu Ubuntu はインストールされました。 操作を正常に完了しました。
3. PCを再起動する
再起動後、自動的にUbuntuのセットアップが始まる。ユーザー名とパスワードを設定するとLinux環境が使えるようになる。
設定するパスワードはLinuxのsudoコマンドで必要になる。忘れずに記録しておくこと。
特定のディストリビューションをインストールしたい場合
利用可能なディストリビューション一覧を表示し、任意のものを指定してインストールできる。
wsl --list --online
NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS Ubuntu-24.04 Ubuntu 24.04 LTS ...
wsl --install -d Ubuntu-24.04
インストール済みのディストリビューションを確認する
wsl -l -v
NAME STATE VERSION * Ubuntu Running 2 Ubuntu-24.04 Stopped 2
「VERSION」が「2」ならWSL2として動作している。
Linuxディストリビューションを選ぶには?
初めてWSL2を使う場合はUbuntuが最も適している。公式ドキュメントが豊富で、aptパッケージマネージャーでほとんどのツールをすぐに導入できるためだ。
| ディストリビューション | 特徴 | 推奨対象 |
|---|---|---|
| Ubuntu | ドキュメント豊富・apt管理 | 初心者・一般開発者 |
| Debian | 軽量・安定重視 | サーバー運用経験者 |
| Kali Linux | セキュリティツール特化 | セキュリティ学習者 |
| openSUSE | エンタープライズ向け | 企業環境での学習者 |
迷ったらUbuntu(LTS版)を選ぶのが無難。サポート期間が5年と長く、情報量も最多。
基本的なLinux操作を始めるには?
WSL2を起動するには、スタートメニューから「Ubuntu」(またはインストールしたディストリビューション名)を検索して開くか、PowerShellでwslと入力する。
wsl
起動するとLinuxのシェルが使えるようになる。基本的なコマンドを確認しよう。
# 現在のディレクトリを表示 pwd
/home/username
# ファイル一覧を表示 ls -la
# パッケージリストを更新する(初回セットアップ後に必ず実行) sudo apt update && sudo apt upgrade -y
WSL2のシャットダウン
# 特定のディストリビューションを終了 wsl --terminate Ubuntu # すべてのWSLインスタンスを終了 wsl --shutdown
WindowsとLinuxのファイルを共有するには?
WSL2からWindowsのファイルには /mnt/c/ 以下でアクセスでき、WindowsからLinuxのファイルはエクスプローラーの「\wsl$\Ubuntu」でアクセスできる。
WSL2からWindowsファイルへアクセスする
# Cドライブのホームディレクトリを見る ls /mnt/c/Users/ # WindowsのDocumentsにファイルをコピーする cp myfile.txt /mnt/c/Users/username/Documents/
LinuxファイルをWindowsのエクスプローラーで開く
LinuxのカレントディレクトリをWindowsエクスプローラーで開きたい場合は次のコマンドを実行する。
explorer.exe .
エクスプローラーのアドレスバーに \\wsl$\Ubuntu\home\username と入力してもLinuxファイルシステムにアクセスできる。
パフォーマンスの観点から、Linux上で作業するファイルはWindowsの /mnt/c/ ではなくLinuxのホームディレクトリ(/home/username/)に置くことを推奨する。クロスOS境界のI/Oは速度が遅くなるため。
VS CodeでLinuxのファイルを編集する
VS Codeに「Remote - WSL」拡張をインストールすると、LinuxファイルをWindows側から直接編集できる。
# WSL2のシェルからVS Codeを開く(Remote WSL拡張が必要) code .
よくあるエラーと対処法
「仮想化が有効になっていない」エラー
原因:BIOSで仮想化(VT-x / AMD-V)が無効になっている。
対処:PCを再起動してBIOS/UEFI設定画面を開き(通常はF2またはDELキー)、仮想化オプションを有効化する。
wsl --install が失敗する(古いWindowsの場合)
Windows 10 バージョン1903〜2004の場合は手動で有効化が必要な場合がある。
# PowerShell(管理者)で実行 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
再起動後、WSL2 Linuxカーネル更新プログラムのパッケージをMicrosoftの公式サイトからインストールする。
# WSL2をデフォルトバージョンに設定 wsl --set-default-version 2
「WslRegisterDistribution failed with error: 0x80370102」
原因:Hyper-Vまたは仮想マシンプラットフォームが有効になっていない。
対処:
# PowerShell(管理者)で実行 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
再起動後に再試行する。
パスワードを忘れた場合
# PowerShell(管理者)で rootユーザーとして起動 ubuntu config --default-user root # WSL2内でパスワードを変更 passwd username # デフォルトユーザーを元に戻す ubuntu config --default-user username
上記コマンドの ubuntu 部分は使用しているディストリビューション名(例:ubuntu2404)に合わせること。