1.

WSL1 のインストール方法と WSL2 への移行完全ガイド

編集
この記事の要点
  • WSL1 は Windows 上で Linux バイナリを動かす互換レイヤ、WSL2 は軽量 VM ベースで本物の Linux カーネルが動く
  • インストール: 「Windows の機能の有効化」→ Linux 用 Windows サブシステムにチェック → 再起動 → Microsoft Store からディストリ取得
  • 現在のおすすめは wsl --install -d Ubuntu 一発 (デフォルトで WSL2 が入る)
  • WSL1 → WSL2 への移行: wsl --set-version Ubuntu 2、デフォルト: wsl --set-default-version 2
  • Windows のファイルアクセス: /mnt/c/Users/...、systemd は WSL2 でのみサポート (/etc/wsl.conf)

WSL (Windows Subsystem for Linux) とは

WSL は Windows 上で Linux 環境を動かすための公式機能で、現在は WSL1WSL2 の 2 系統があります。Windows 10 1903+ / Windows 11 で利用可能。

項目WSL1WSL2
仕組みLinux 互換レイヤ (システムコール変換)軽量 VM + 本物の Linux カーネル
起動速度瞬時1〜2 秒
ファイル IO (Windows ファイル)速い遅い (9P プロトコル経由)
ファイル IO (Linux 側)遅い速い (ネイティブ ext4)
systemd非対応対応 (WSL 0.67.6+)
Docker動かないDocker Desktop と統合
GUI アプリ非対応WSLg 対応
カーネル互換一部 syscall 非対応100% 互換

事前確認

# Windows のバージョン確認
winver
# Windows 10 1903 (build 18362) 以降 / Windows 11

# 既存の WSL を確認
wsl --version
wsl --status
wsl --list --verbose

WSL1 のインストール (手動方式)

歴史的な方法。Windows 10 1903 〜 Windows 10 2004 RTM 以前を使っている場合や、明示的に WSL1 を入れたい場合の手順:

手順 1: Windows の機能を有効化

# 管理者 PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 再起動
Restart-Computer

GUI から行う場合: Win + Roptionalfeatures → 「Linux 用 Windows サブシステム」にチェック → OK → 再起動。

手順 2: Microsoft Store からディストロを取得

  1. Microsoft Store を開く
  2. 「Ubuntu」「Debian」「Kali Linux」等で検索
  3. 「入手」または「インストール」
  4. インストール完了後、スタートメニューから起動 (例: Ubuntu)
  5. 初回起動でユーザ名 / パスワードを設定

手順 3: WSL バージョン確認

wsl --list --verbose
# 旧表示:
#   NAME      STATE           VERSION
# * Ubuntu    Running         1

現在の推奨: wsl --install 一発

Windows 10 21H2+ / Windows 11 では 1 行で完結します。デフォルトは WSL2:

# 管理者 PowerShell
wsl --install

# 特定ディストリを指定
wsl --install -d Ubuntu
wsl --install -d Ubuntu-24.04
wsl --install -d Debian

# 利用可能なディストリ一覧
wsl --list --online
#   NAME             FRIENDLY NAME
#   Ubuntu           Ubuntu
#   Debian           Debian GNU/Linux
#   kali-linux       Kali Linux Rolling
#   Ubuntu-24.04     Ubuntu 24.04 LTS
#   Ubuntu-22.04     Ubuntu 22.04 LTS
#   openSUSE-Leap-15.5  openSUSE Leap 15.5

# 再起動後、自動で初回セットアップが走る

WSL1 → WSL2 の移行

WSL1 で運用していたディストロを WSL2 に上げる場合:

# 1. 仮想マシン プラットフォーム機能を有効化 (WSL2 必須)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Restart-Computer

# 2. WSL2 カーネル更新パッケージを入れる
# https://aka.ms/wsl2kernel から MSI をダウンロード&実行

# 3. デフォルトを WSL2 に
wsl --set-default-version 2

# 4. 既存ディストロを WSL2 へ変換
wsl --set-version Ubuntu 2
# 変換中 (数分かかる)... 完了

# 5. 確認
wsl --list --verbose
#   NAME      STATE           VERSION
# * Ubuntu    Running         2

Windows のファイルへのアクセス

# WSL から Windows のドライブを参照
ls /mnt/c/Users/your-name/Documents/

# WSL1: ファイル変更が即座に Windows に反映される
# WSL2: 9P 経由でアクセス、Windows 側との同時操作で遅くなる

# WSL → Windows のアプリ起動
explorer.exe .                 # 現在のディレクトリを Windows エクスプローラで開く
notepad.exe /mnt/c/file.txt
cmd.exe /c "dir C:\"

# Windows から WSL のファイル
# エクスプローラのアドレスバーに \\wsl$\Ubuntu\home\user\

WSL の起動・停止・削除

# 全 WSL を停止
wsl --shutdown

# 特定ディストロを停止
wsl --terminate Ubuntu
wsl -t Ubuntu

# デフォルトディストロを変更
wsl --set-default Ubuntu-24.04

# エクスポート (バックアップ)
wsl --export Ubuntu C:\backup\ubuntu.tar

# インポート (別マシンへ)
wsl --import Ubuntu24 C:\WSL\Ubuntu24 C:\backup\ubuntu.tar

# 完全削除
wsl --unregister Ubuntu

systemd の有効化 (WSL2 のみ)

# WSL2 (0.67.6+) で systemd を有効化
sudo tee /etc/wsl.conf <<'EOF'
[boot]
systemd=true
EOF

# Windows 側で再起動
# PowerShell: wsl --shutdown
# 次回起動から systemd が有効

# 確認
systemctl --version
ps -p 1
# PID TTY  TIME CMD
#   1 ?    00:00:00 systemd

WSL1 が向くケース / WSL2 が向くケース

用途推奨
Windows のファイルを頻繁に編集する開発WSL1 (IO が速い)
Docker / Kubernetes を使うWSL2 必須
systemd ベースのサービスを動かすWSL2
GUI Linux アプリを動かすWSL2 (WSLg)
古い PC / 仮想化対応していない CPUWSL1
本番 Linux に近い再現性が欲しいWSL2

典型的なトラブル

症状対処
WslRegisterDistribution failed with error: 0x80370102BIOS で仮想化 ON + 「仮想マシン プラットフォーム」有効化
仮想マシン プラットフォーム機能を有効にして同上
変換が異常に遅いファイル数が多い → 移行前に node_modules 等を削除
Docker Desktop が起動しないwsl --update + Hyper-V 確認
WSL の IP が毎回変わるWSL2 の仕様 (将来 mirrored mode で改善)

FAQ

Q: WSL1 をわざわざ選ぶ理由はある?
A: Windows ファイルシステム上で大量のファイル IO を行う場面 (git clone 等) では WSL1 のほうが速いケースがある。それ以外は WSL2 で十分。

Q: WSL から Windows のフォントを使いたい
A: /mnt/c/Windows/Fonts/ を fc-cache に登録。ただし WSL2 では遅いので、Linux 側に copy するのが現実的。

Q: WSL を完全に消したい
A: wsl --unregister Ubuntu で各ディストロを削除 → 「Linux 用 Windows サブシステム」のチェックを外す → 再起動。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. WSL1 インストール方法
  2. WSL2 インストール
  3. バージョン確認
  4. エラー一覧