Windows 10 / 11 上で本物の Linux カーネルを動作させる Microsoft 公式の互換レイヤー。Hyper-V の軽量仮想マシン上に Linux カーネルを載せる第 2 世代アーキテクチャで、システムコール変換を行う初代 WSL より高速・互換性が高い。
WSL1 と WSL2 の違い
| 観点 | WSL1 | WSL2 |
|---|---|---|
| アーキテクチャ | システムコール変換 | Hyper-V 軽量 VM |
| Linux カーネル | エミュレーション | 本物のカーネル |
| Docker | 動作不可 | 動作可(Docker Desktop 経由) |
| ファイル I/O(Windows ↔ Linux) | 高速 | やや遅い |
| 互換性 | 一部制限 | ほぼ完全 |
業務利用での主な用途
- Linux 環境を Windows 上で動かす(Ubuntu / Debian / Alpine など)
- Docker Desktop のバックエンドとして使う
- クロスプラットフォーム開発(Linux 用バイナリのテスト)
- WSL + Dev Container での Claude Code / VS Code 開発
制約とトレードオフ
| 制約 | 影響 |
|---|---|
| 二重仮想化のオーバーヘッド | Windows → Hyper-V → WSL2 → Docker で 30 GB+ のメモリを基本消費 |
| ファイル I/O の遅延 | Windows ファイルシステム(/mnt/c/)への書き込みが遅い |
| GPU 利用に制限 | NVIDIA CUDA は対応するが、設定が複雑 |
| systemd の挙動が一部限定的 | 一部サービスがネイティブ Linux と異なる挙動 |
これらの制約から、業務での本格運用には Linux ネイティブ化(Ubuntu デュアルブート等)への移行が選択肢になる。
関連記事
- 脱Microsoft 全体戦略・総論 — WSL2 から Linux ネイティブ環境への移行動機