タイトル: WSL (Windows Subsystem for Linux)
Windows Subsystem for Linuxとは?
Windows上でLinuxをアプリケーションとして起動させることが出来るサブシステム。
仮想環境ではなくサブシステム。Linuxバイナリを直接Windows上で動かす仕組みで、Windowsでの開発・サーバー管理・スクリプト実行に欠かせない機能になっています。
本ページの子ページ
- WSL1インストール方法 — 旧バージョンのインストール
- WSL2 インストール — 現在の主流
- バージョン確認 — WSL1かWSL2かの確認
- エラー一覧 — WSL関連のエラー
WSL1 と WSL2 の違い
| 項目 | WSL1 | WSL2 |
|---|---|---|
| 方式 | Linuxシステムコールを Windows API に変換 | 軽量仮想マシン上で本物のLinuxカーネル |
| ファイルシステム | NTFS互換(速い) | ext4(仮想ディスク) |
| Windows側ファイル操作 | 速い | 遅い(\\wsl$ 経由) |
| Linux側ファイル操作 | 遅め | 速い |
| Docker | 非対応 | 対応(Docker Desktop推奨) |
| systemd | 非対応 | 対応(要設定) |
| カーネル互換性 | 限定的 | 完全 |
| 起動速度 | 瞬時 | 初回数秒 |
現在はWSL2が標準。新規導入はWSL2で。
WSL の主要コマンド
|
# インストール(Win10 2004以降、Win11) |
Windows ⇔ WSL のファイル操作
|
# Linux側からWindowsファイルへ |
主な利用シーン
- Linux向けの開発を Windows マシンで行う
- Docker Desktopのバックエンドとして利用
- SSHクライアント・git・各種CLIツールを Linux 同等の感覚で使う
- Python / Node.js / Go の開発環境を Linux 側に集約
- Webサーバー(Apache / Nginx)を試す
パフォーマンスのコツ
- プロジェクトファイルは Linux 側(
~/)に置く。/mnt/c/経由は遅い - VSCode は WSL 拡張で Linux 側を直接編集(パフォーマンス向上)
- WSL2のメモリ上限は
%USERPROFILE%\.wslconfigで調整可
注意点
- 本番サーバーで起きる挙動とは細部で異なる場合がある
- WSL2は仮想化機能(Hyper-V)に依存。BIOSで仮想化を有効化する必要あり
- GPUアクセスやLinuxデスクトップアプリは WSLg(同梱)で対応