WSL(Windows Subsystem for Linux)でWindows上にLinux環境を構築する
WSL2を使ってWindows上に本格的なLinux環境を構築する方法を解説。インストールからファイル共有、開発ツール連携まで、WindowsユーザーがLinuxを始める最短ルート。
🎯 この記事で学べること
- 1WSLとは何か、なぜ便利なのかを理解できます
- 2WSL2のインストール手順を一通り実行できるようになります
- 3WindowsとLinux間のファイル共有方法を把握できます
- 4VS CodeなどのツールとWSLを連携させる方法がわかります
- 5WSLを使った開発環境のセットアップができるようになります
読了時間: 約5分
WindowsでLinuxを使いたい?WSLがあります
「Linuxを勉強したいけど、PCはWindowsしか持っていない」「開発でLinux環境が必要だけど、デュアルブートは面倒」——そんな悩みを一発で解決するのが**WSL(Windows Subsystem for Linux)**です。
WSLを使えば、Windowsの中でLinuxが動きます。仮想マシンを立ち上げる必要も、PCを再起動する必要もありません。Windowsのアプリを使いながら、同時にLinuxのターミナルでコマンドを実行できます。
WSLとは何か
WSL(Windows Subsystem for Linux)は、Microsoftが提供するWindows上でLinuxを実行するための仕組みです。
WSL1とWSL2の違い
WSLには2つのバージョンがあります。現在はWSL2が推奨されています。
| 項目 | WSL1 | WSL2 |
|---|---|---|
| Linuxカーネル | 互換レイヤーで翻訳 | 本物のLinuxカーネルを使用 |
| ファイルシステム性能 | Windows側は高速 | Linux側が高速 |
| システムコール互換性 | 一部非対応あり | ほぼ完全互換 |
| Docker対応 | 非対応 | 対応 |
| メモリ使用量 | 少ない | やや多い |
WSL2は本物のLinuxカーネルを軽量な仮想マシンで動かしています。従来の仮想マシン(VirtualBoxなど)と比べて起動が圧倒的に速く、Windowsとの統合も優れています。
WSLが便利な場面
- プログラミング学習: Linuxコマンドやシェルスクリプトを実際に試せる
- Web開発: Node.js、Python、Rubyなどの開発環境を構築
- DevOps: Docker、Kubernetes、Terraformなどのツールを使う
- 技術記事の実践: Linuxベースのチュートリアルをそのまま試せる
WSL2のインストール
前提条件
- OS: Windows 10 バージョン 2004以降、またはWindows 11
- CPU: 仮想化機能(VT-x / AMD-V)が有効
- 管理者権限: インストール時に必要
Step 1: WSLのインストール
PowerShellを管理者として実行し、以下のコマンドを入力します。
wsl --install
これだけで、WSL2とUbuntu(デフォルトのLinuxディストリビューション)がインストールされます。
以前は複数のステップが必要でしたが、現在は wsl --install の1コマンドで完了します。Microsoftが大幅に簡略化してくれました。
Step 2: PCを再起動
インストール後、PCを再起動します。
Step 3: Linuxのユーザー設定
再起動後、Ubuntuが自動的に起動し、ユーザー名とパスワードの設定を求められます。
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: your-username
New password:
Retype new password:
ここで設定するパスワードは、sudoコマンドを使う際に必要になります。
Step 4: 動作確認
セットアップが完了したら、Linuxのコマンドを試してみましょう。
# カーネル情報を確認
uname -a
# → Linux ... microsoft-standard-WSL2 ...
# Ubuntuのバージョン確認
cat /etc/os-release
# パッケージ一覧を更新
sudo apt update && sudo apt upgrade -y
おめでとうございます。Windows上でLinuxが動いています!
別のディストリビューションを使いたい場合
デフォルトはUbuntuですが、他のディストリビューションも選べます。
# 利用可能なディストリビューション一覧
wsl --list --online
# 例: Debianをインストール
wsl --install -d Debian
# 例: openSUSEをインストール
wsl --install -d openSUSE-Leap-15.6
インストール済みのディストリビューション管理
# インストール済み一覧と状態を確認
wsl --list --verbose
# デフォルトのディストリビューションを変更
wsl --set-default Ubuntu
# 特定のディストリビューションを起動
wsl -d Debian
WindowsとLinuxのファイル共有
WSLの大きな利点は、WindowsとLinuxのファイルを相互にアクセスできることです。
Linux側からWindowsのファイルにアクセス
Windowsのドライブは /mnt/ 以下にマウントされています。
# Cドライブにアクセス
ls /mnt/c/
# Windowsのデスクトップに移動
cd /mnt/c/Users/your-windows-username/Desktop
# Windowsのファイルをコピー
cp /mnt/c/Users/your-windows-username/Documents/data.csv ~/
Windows側からLinuxのファイルにアクセス
エクスプローラーのアドレスバーに以下を入力します。
\\wsl$\Ubuntu
または、Linux側から以下のコマンドでエクスプローラーを開けます。
# 現在のディレクトリをエクスプローラーで開く
explorer.exe .
パフォーマンスの観点から、Linux上で作業するファイルはLinuxファイルシステム内(/home/以下)に置くことをおすすめします。/mnt/c/経由のアクセスはWSL2では速度が落ちます。
開発ツールとの連携
VS Code + WSL
VS CodeにはWSL連携の拡張機能があり、WindowsのVS CodeからWSL内のファイルを直接編集できます。
# WSLのターミナルからVS Codeを起動
code .
初回実行時にVS Code Serverが自動インストールされ、以降はWSL内のファイルをシームレスに編集できます。
Gitの設定
WSL内でGitを設定します。
# ユーザー名とメールアドレスの設定
git config --global user.name "Your Name"
git config --global user.email "your-email@example.com"
# デフォルトブランチ名の設定
git config --global init.defaultBranch main
# 改行コードの自動変換を無効化(重要)
git config --global core.autocrlf input
WindowsとLinuxでは改行コードが異なります(Windows: CRLF、Linux: LF)。core.autocrlf input を設定しておくと、WSL内では常にLFで管理され、トラブルを防げます。
Node.js / Pythonの導入
WSL内で開発環境を構築する例です。
# Node.js(nvmを使ったインストール)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
source ~/.bashrc
nvm install --lts
node --version
# Python(既にインストール済みの場合が多い)
python3 --version
pip3 --version
# 必要に応じてpipを更新
pip3 install --upgrade pip
Dockerの利用
WSL2はDockerとの相性が良いです。Docker Desktop for WindowsをインストールしてWSL2バックエンドを有効にすれば、WSL内から直接dockerコマンドが使えます。
# Docker Desktopインストール後、WSL内で確認
docker --version
docker run hello-world
WSLの便利な使い方
WindowsコマンドをLinuxから実行
WSLの中からWindowsの実行ファイル(.exe)を呼び出せます。
# メモ帳でファイルを開く
notepad.exe myfile.txt
# クリップボードにコピー
echo "Hello" | clip.exe
# WindowsのIPアドレスを確認
ipconfig.exe
LinuxコマンドをWindowsから実行
PowerShellやコマンドプロンプトから、WSL経由でLinuxコマンドを実行できます。
# WSL経由でLinuxコマンドを実行
wsl ls -la
# パイプも使える
dir | wsl grep "txt"
# 特定のディストリビューションで実行
wsl -d Ubuntu -- cat /etc/os-release
WSLの起動と停止
# WSLを起動(ターミナルが開く)
wsl
# WSLを完全に停止(メモリ解放)
wsl --shutdown
# 特定のディストリビューションだけ停止
wsl --terminate Ubuntu
WSL2はバックグラウンドでメモリを使い続けることがあります。作業が終わったら wsl --shutdown でメモリを解放できます。
WSLの設定カスタマイズ
.wslconfigでリソースを制限
WSL2が使用するメモリやCPUを制限できます。Windowsの %USERPROFILE%\.wslconfig ファイルを作成します。
[wsl2]
memory=4GB
processors=2
swap=2GB
設定を反映するには wsl --shutdown で再起動が必要です。
wsl.confでLinux側の設定
各ディストリビューションの /etc/wsl.conf で個別設定ができます。
[automount]
enabled = true
options = "metadata,umask=22,fmask=11"
[network]
generateResolvConf = true
[boot]
systemd = true
systemd = true を設定すると、systemdが使えるようになり、systemctlコマンドでサービス管理ができます。
トラブルシューティング
「仮想マシン プラットフォーム」が無効
WSL2のインストールに失敗する場合、仮想化機能が無効になっている可能性があります。
# PowerShell(管理者)で有効化
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
その後、PCを再起動してください。
DNSが解決できない
WSL内からインターネットに接続できない場合は、/etc/wsl.conf でDNS設定を調整します。
[network]
generateResolvConf = false
その後、/etc/resolv.conf を手動で設定します。
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
ディスク容量が大きくなりすぎた
WSL2の仮想ディスクは自動で拡張されますが、縮小はされません。不要なファイルを削除した後、PowerShellで圧縮できます。
# ディストリビューションをエクスポート → 再インポートで圧縮
wsl --export Ubuntu ubuntu-backup.tar
wsl --unregister Ubuntu
wsl --import Ubuntu C:\WSL\Ubuntu ubuntu-backup.tar
wsl --unregister はディストリビューションを完全に削除します。必ず先に --export でバックアップを取ってから実行してください。
WSL vs 他の選択肢
| 方法 | 長所 | 短所 |
|---|---|---|
| WSL2 | 軽量、Windows統合が優秀、起動が速い | Windows専用、一部制限あり |
| 仮想マシン(VirtualBox等) | 完全なLinux環境 | 重い、起動が遅い |
| デュアルブート | ネイティブ性能 | 切り替えに再起動が必要 |
| クラウド(AWS/GCP) | どこからでもアクセス可能 | 通信が必要、料金がかかる |
Linuxを学習・開発で使いたいWindowsユーザーにとって、WSL2は最もバランスの良い選択肢です。
まとめ
WSL2を使えば、Windowsを離れることなく本格的なLinux環境が手に入ります。
セットアップは3ステップ:
- ①
wsl --installを実行 - ②PCを再起動
- ③ユーザー名とパスワードを設定
WSLでできること:
- Linuxコマンドの学習・実践
- Node.js / Python / Rubyなどの開発環境構築
- Dockerコンテナの実行
- VS Codeとのシームレスな連携
- WindowsとLinux間のファイル共有
押さえておくべきポイント:
- 作業ファイルはLinuxファイルシステム内(
/home/以下)に置く - Gitの改行コード設定(
core.autocrlf input)を忘れずに - メモリが気になったら
wsl --shutdownで解放
「Linuxを使ってみたいけど、何から始めればいいかわからない」というWindowsユーザーにとって、WSLは最高のスタート地点です。

