wsl は Windows Subsystem for Linux(WSL)のインストール・起動・停止・エクスポート/インポート・ディスクのマウントなどを行うコマンドです。PowerShell/CMD から実行し、WSL 1/2 の切替やディストリビューション管理もできます。(Microsoft Learn)
実務では、「開発環境のセットアップ(wsl --install)」「配布用に環境をエクスポート」「トラブル対応での --shutdown・--status 確認」などに使います。(Microsoft Learn)
構文(Syntax)
# 基本
wsl [OPTIONS] [--] [COMMAND [ARG...]]
# 代表例
wsl --install
wsl --list --verbose
wsl --set-version <DISTRO> <1|2>
wsl --set-default-version <1|2>
wsl --distribution <DISTRO> [--user <USER>] [--] COMMAND [ARG...]
wsl --export <DISTRO> <FILE>
wsl --import <DISTRO> <INSTALL_DIR> <FILE> [--version <1|2>]
wsl --mount <DISKPATH> [--partition N] [--type FS] [--options OPTS]
wsl --shutdown | --terminate <DISTRO> | --unregister <DISTRO>
- Bash など WSL 内から呼ぶ場合は
wsl.exeを使います。(Microsoft Learn)
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
--install [--distribution <NAME>] [--no-launch] [--web-download] | WSL とディストリを一括インストール。--list --online で名前確認。 | wsl --install -d Ubuntu (Microsoft Learn) |
--list, -l [--online|-o] [--verbose|-v] [--all | インストールされている Linux ディストリビューションを一覧表示する | wsl --list --online |
--set-version <1|2> | 指定ディストリを WSL1/2 に変換。大規模環境では時間がかかる場合あり。 | wsl --set-version 2 |
--set-default-version <1|2> | 以後インストールするディストリの既定WSLバージョンを設定。 | wsl --set-default-version 2 |
--set-default <DISTRO> | 既定のディストリを設定。 | wsl --set-default Debian (Microsoft Learn) |
--distribution, -d <DISTRO> | 実行対象ディストリを明示してコマンドを実行。 | wsl -d Ubuntu -- uname -a (Microsoft Learn) |
--user, -u <USER> | 実行ユーザーを指定。 | wsl -d Ubuntu -u root -- id (Microsoft Learn) |
--exec, -e <COMMAND> | 既定シェルを介さずコマンドを直接実行。 | wsl -e ls -la (Microsoft Learn) |
--cd <DIR> | 実行時のカレントディレクトリを指定(Windows/WSL パスどちらも可)。 | wsl --cd C:\Users\Alice -e pwd (Microsoft Learn) |
--update [--web-download|--rollback] | WSL を更新/ロールバック。 | wsl --update |
--status / --version | 構成やバージョン情報を表示。 | wsl --status / wsl --version (Microsoft Learn) |
--shutdown | すべてのディストリと WSL2 の軽量VM を即時終了。 | wsl --shutdown (Microsoft Learn) |
--terminate <DISTRO> | 指定ディストリを終了。 | wsl --terminate Ubuntu (Microsoft Learn) |
--export <DISTRO> <FILE> [--vhd] | ディストリを tar または .vhdx としてエクスポート。 | wsl --export Ubuntu ubuntu.tar (Microsoft Learn) |
--import [--version <1|2>] [--vhd] | tar/.vhdx を新規ディストリとしてインポート。 | wsl --import |
--import-in-place <DISTRO> <VHDX> | 既存 .vhdx をその場で取り込み(ext4 必須)。 | wsl --import-in-place MyDistro D:\img.vhdx (Microsoft Learn) |
--unregister <DISTRO> | ディストリを登録解除(データ消去)。 | wsl --unregister Ubuntu (Microsoft Learn) |
--mount [--partition N] [--type FS] [--options "OPTS"] [--name NAME] [--vhd|--bare] | 物理/仮想ディスクを WSL2 にアタッチ/マウント。 | wsl --mount \.\PHYSICALDRIVE2 |
--unmount [<DISK>] | 指定またはすべてのディスクをアンマウントしてデタッチ。 | wsl --unmount \\.\PHYSICALDRIVE2 (Microsoft Learn) |
--help | ヘルプを表示。 | wsl --help (Microsoft Learn) |
実行例
1) まずは状況確認(ディストリと WSL バージョン)
説明:インストール済みディストリと WSL1/2 の別、起動状態を一覧します。
コマンド
wsl --list --verbose
出力例(例)
NAME STATE VERSION
* Ubuntu Stopped 2
Debian Running 2
2) 既定を WSL2 に設定してから Ubuntu を導入
説明:新規インストール時の既定を WSL2 にし、Ubuntu を追加します。
コマンド
wsl --set-default-version 2
wsl --install -d Ubuntu
(古い Windows では -d の明示が必要な場合あり)(Microsoft Learn)
3) ディストリをエクスポート/インポート(配布・バックアップ)
説明:作った環境を tar に書き出し、別ディレクトリへ復元します。
コマンド
wsl --export Ubuntu D:\backup\ubuntu.tar
wsl --import Ubuntu2 D:\WSL\Ubuntu2 D:\backup\ubuntu.tar --version 2
4) 物理ディスクを WSL2 にマウントして参照
説明:\\.\PHYSICALDRIVE* を WSL2 にマウントし、中身を操作します。
コマンド
# 例: 第1パーティションを ext4 としてマウント
wsl --mount \\.\PHYSICALDRIVE2 --partition 1 --type ext4
# 使い終わったらデタッチ
wsl --unmount \\.\PHYSICALDRIVE2
5) エラー例:存在しないディストリ名を指定
説明:名前を誤ると「その名前のディストリは存在しない」とエラー。
コマンド
wsl --set-version NoSuchDistro 2
echo %ERRORLEVEL%
出力例(例)
There is no distribution with the supplied name.
1
関連コマンド
wsl.exe:WSL 内から呼ぶ際の実行ファイル名(Windows 側の実体)。(Microsoft Learn)wslpath:Windows/WSL 間のパス変換(WSL 内のコマンド)。wslconfig.exe/bash.exe/lxrun:旧来のコマンド(非推奨)。wslに置き換え。(Microsoft Learn)
備考
- 実行環境:PowerShell/CMD から利用。WSL 内からは
wsl.exeを使います。WSL 2 機能(--mountなど)は Windows 10 1903 以降/Windows 11 が前提です。(Microsoft Learn) - Store 版 WSL:Microsoft Store 版の WSL では更新が速く、一部オプション(
--nameなど)も利用可能です。(Microsoft Learn) --execと--cd:--execはシェルを介さず実行(PowerShell のリダイレクト/パイプがそのまま適用)。--cdは作業ディレクトリ指定。いずれも比較的新しめの WSL で追加されました。(Microsoft Learn)- 設定ファイル:グローバルは Windows 側の
~/.wslconfig、ディストリごとは Linux 側の/etc/wsl.confで制御(自動マウント・ネットワーク・interop・既定ユーザー、[boot]セクション等)。変更後はwsl --shutdownで再読み込み。(Microsoft Learn)
参考
- Microsoft Learn: Basic commands for WSL (Microsoft Learn)
- Microsoft Learn: Install WSL (Microsoft Learn)
- Microsoft Learn: Get started mounting a Linux disk in WSL 2 (Microsoft Learn)
- Microsoft Learn: Advanced settings (
wsl.conf/.wslconfig) (Microsoft Learn) - Microsoft Learn: WSL Release Notes(
--exec/--cd追加) (Microsoft Learn) - wsl.dev: WSL open-source docs (wsl.dev)

コメント