ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
WSL (Windows Subsystem for Linux) とは
WSL は Windows 上で Linux 環境を動かすための公式機能で、現在は WSL1 と WSL2 の 2 系統があります。Windows 10 1903+ / Windows 11 で利用可能。
| 項目 | WSL1 | WSL2 |
|---|---|---|
| 仕組み | 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 + R → optionalfeatures → 「Linux 用 Windows サブシステム」にチェック → OK → 再起動。
手順 2: Microsoft Store からディストロを取得
- Microsoft Store を開く
- 「Ubuntu」「Debian」「Kali Linux」等で検索
- 「入手」または「インストール」
- インストール完了後、スタートメニューから起動 (例: Ubuntu)
- 初回起動でユーザ名 / パスワードを設定
手順 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 / 仮想化対応していない CPU | WSL1 |
| 本番 Linux に近い再現性が欲しい | WSL2 |
典型的なトラブル
| 症状 | 対処 |
|---|---|
WslRegisterDistribution failed with error: 0x80370102 | BIOS で仮想化 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 サブシステム」のチェックを外す → 再起動。
📸 参考画像
※ 旧バージョンから引き継いだ参考画像です。手順・図解の補助としてご覧ください。


ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- WSL1 インストール方法
- WSL2のインストール
- バージョン確認
- エラー一覧 (WSL)
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?