メインコンテンツへスキップ
初級18分で読める

WSL(Windows Subsystem for Linux)でWindows上にLinux環境を構築する

WSL2を使ってWindows上に本格的なLinux環境を構築する方法を解説。インストールからファイル共有、開発ツール連携まで、WindowsユーザーがLinuxを始める最短ルート。

🎯 この記事で学べること

  • 1
    WSLとは何か、なぜ便利なのかを理解できます
  • 2
    WSL2のインストール手順を一通り実行できるようになります
  • 3
    WindowsとLinux間のファイル共有方法を把握できます
  • 4
    VS CodeなどのツールとWSLを連携させる方法がわかります
  • 5
    WSLを使った開発環境のセットアップができるようになります

読了時間: 約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が推奨されています。

項目WSL1WSL2
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ステップ:

  1. wsl --install を実行
  2. PCを再起動
  3. ユーザー名とパスワードを設定

WSLでできること:

  • Linuxコマンドの学習・実践
  • Node.js / Python / Rubyなどの開発環境構築
  • Dockerコンテナの実行
  • VS Codeとのシームレスな連携
  • WindowsとLinux間のファイル共有

押さえておくべきポイント:

  • 作業ファイルはLinuxファイルシステム内(/home/以下)に置く
  • Gitの改行コード設定(core.autocrlf input)を忘れずに
  • メモリが気になったら wsl --shutdown で解放

「Linuxを使ってみたいけど、何から始めればいいかわからない」というWindowsユーザーにとって、WSLは最高のスタート地点です。