5.

WSL (Windows Subsystem for Linux)

編集

Windows Subsystem for Linuxとは?

Windows上でLinuxをアプリケーションとして起動させることが出来るサブシステム。

仮想環境ではなくサブシステム。Linuxバイナリを直接Windows上で動かす仕組みで、Windowsでの開発・サーバー管理・スクリプト実行に欠かせない機能になっています。

本ページの子ページ

WSL1 と WSL2 の違い

項目WSL1WSL2
方式Linuxシステムコールを Windows API に変換軽量仮想マシン上で本物のLinuxカーネル
ファイルシステムNTFS互換(速い)ext4(仮想ディスク)
Windows側ファイル操作速い遅い(\\wsl$ 経由)
Linux側ファイル操作遅め速い
Docker非対応対応(Docker Desktop推奨)
systemd非対応対応(要設定)
カーネル互換性限定的完全
起動速度瞬時初回数秒

現在はWSL2が標準。新規導入はWSL2で。

WSL の主要コマンド

# インストール(Win10 2004以降、Win11)
> wsl --install

# ディストリ一覧
> wsl -l -v

# ディストリの追加
> wsl --install -d Ubuntu-22.04
> wsl --install -d Debian

# WSLバージョン指定(既定)
> wsl --set-default-version 2

# 起動
> wsl
> wsl -d Ubuntu

# 終了
> wsl --shutdown

# ディストリ削除
> wsl --unregister Ubuntu

Windows ⇔ WSL のファイル操作

# Linux側からWindowsファイルへ
$ cd /mnt/c/Users/YourName/Documents

# Windows側からLinuxファイルへ
# エクスプローラで \\wsl$\Ubuntu\home\user

# Linux内のVSCodeを開く
$ code .

# WindowsのコマンドをWSLから呼ぶ
$ cmd.exe /c dir
$ explorer.exe .

主な利用シーン

  • 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(同梱)で対応

関連

編集
Post Share
子ページ
  1. WSL1 インストール方法
  2. WSL2 インストール
  3. バージョン確認
  4. エラー一覧
同階層のページ
  1. コマンド一覧
  2. コマンドプロンプトの開き方
  3. 環境変数の設定方法
  4. サービス一覧の確認方法
  5. WSL (Windows Subsystem for Linux)