WSL入門:Windows11にUbuntuをインストールして使い始める完全ガイド【2026年3月版・初心者向け】

PC
スポンサーリンク

こん○○は、よふかしわーくすのよふかしさんです

先日、サーバー操作系のツールを作成していました
最終的にはRaspberry Piで動作させたいと思っているアプリですが
メインPCの開発環境であるWindowsでは、制約があってどうにもうまく動作させられずでして
Linux系の動確環境を作る必要に迫られました

色々やり方はあると思いますが、別のPCやVMWare・VirtualBoxなどの仮想環境を使わず
今回はWSL(Windows Subsystem for Linux)という環境構築を試してみて
Linux(Ubuntu)をメインPCのWindows上で動作させることができたので備忘録を残しておきます
またまた、今回も例に漏れず色々とハマったので、その点も解説しています。。。

スポンサーリンク

WSL(Windows Subsystem for Linux)とは?

WSLは、Windows上でLinuxをそのまま動かせる仕組み、です
現在のWindows11ではWSL1ではなく、WSL2が標準で使われています
WindowsでLinux向けの開発をしていると、動作確認に悩むことがありますが
WSLを使うと簡単にLinux向けのアプリの動作確認ができるようになります
仮想環境と比べたメリットは下記です

  • Hyper-VやVMwareなどより動作が軽い
  • ちょっとした動作確認にすぐ使えて便利

WSL2 のインストール(初心者向け・最短ルート)

PowerShell を「管理者権限」で開く

  1. スタートメニューを開く
  2. PowerShell」と入力
  3. 「Windows PowerShell」または「Windows Terminal」を
    右クリック →『管理者として実行』

仮想マシン プラットフォームを有効化する

wsl --install --no-distribution
  • WSLの有効化と仮想マシンプラットフォームのインストールが行われます
  • この実行後は、必ずPCを再起動してください

Ubuntuをインストールする

再起動したら、管理者権限のPowerShellで次を実行します

wsl --list --online

利用可能なディストリビューションが表示されたら、Ubuntu をインストールします

wsl --install -d Ubuntu

正常に完了すると、次のように表示されます

初回起動時のセットアップ

初回起動します

wsl

初回起動すると、まず次のように表示されます
今回、アカウント名は、yofukashi、として進めます

PS C:\WINDOWS\system32> wsl
Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account: yofukashi
New password:
  • New password: と Retype new password: で、設定したいパスワードを2回入力します
    (入力中は表示されません、コピペもできません)
New password:
Retype new password:
passwd: password updated successfully
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 24.04.4 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Sat Feb 28 23:21:03 JST 2026

  System load:  0.0                 Processes:             31
  Usage of /:   0.1% of 1006.85GB   Users logged in:       0
  Memory usage: 1%                  IPv4 address for eth0: xxx.xxx.xxx.xxx
  Swap usage:   0%


This message is shown once a day. To disable it please create the
/home/yofukashi/.hushlogin file.

Welcome to Ubuntu のメッセージとシステム情報が表示されれば、WSLのインストールは完了です

yofukashi@DESKTOP-XXXXXXX:/mnt/c/WINDOWS/system32$

Ubuntu(Linux)の基本操作

最初にやる「お約束」セットアップ

ログインしたら、まず次の 2 段階を実行しておくのが鉄板です
パッケージの更新開発に必要なツールPythonの導入です

① パッケージを更新する

sudo apt update
sudo apt upgrade -y

passwordを要求されたら入力してください
下記の様に返ってきます

[sudo] password for yofukashi:
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:4 http://security.ubuntu.com/ubuntu noble-security/main amd64 Components [21.5 kB]
Get:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:6 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Components [74.2 kB]
Get:7 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Components [212 B]
Get:8 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B]
Get:9 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [174 kB]
Get:10 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [386 kB]
Get:11 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:12 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:13 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7312 B]
Get:14 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [10.5 kB]
Get:15 http://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [216 B]
Get:16 http://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Fetched 1054 kB in 3s (338 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

② 開発用ツールと Python をインストールする

sudo apt install -y build-essential git curl python3 python3-pip python3-venv

こんな感じで返ってきます

venv
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.10ubuntu1).
git is already the newest version (1:2.43.0-1ubuntu7.3).
curl is already the newest version (8.5.0-2ubuntu10.7).
python3 is already the newest version (3.12.3-0ubuntu2.1).
python3-pip is already the newest version (24.0+dfsg-1ubuntu1.3).
python3-venv is already the newest version (3.12.3-0ubuntu2.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

ここまで終わると、UbuntuでPythonが正常に動作する状態になります

Windowsのストレージ上にあるPythonコードを実行する

Windowsに置いてあるPythonファイルを、WSLからフルパスで直接実行する方法の解説です
フォルダに移動しなくても実行できます

WindowsのパスをWSLのパスに置き換えます
例えば下記です

  • C ドライブ → /mnt/c/
  • D ドライブ → /mnt/d/
  • ドライブレターは小文字/mnt/D/ といった様には使わないこと
  • バックスラッシュ \ はスラッシュ / に、
    C:\Users\yofukashi\... といった場合は
    /mnt/c/Users/yofukashi/... のように書きます

以下は例です

python3 /mnt/d/Users/yofukashi/Documents/Python/test.py

現在のディレクトリがどこでも、python3 の後にファイルのフルパスを書けば実行できます

WSL では必ず python3 を使ってください
python と打つと、Windows 側の Python(例: pyenv-win の shim)が選ばれ、
cannot execute: required file not found のようなエラーになります
このエラーは WSL 内で Windows 側の Python が実行されようとして失敗しているためです
対処は、WSL 内では python3 と pip3 だけを使い、python は使わないことです

パスだけ指定して実行する場合は、
スクリプトの 1 行目にシバン(#!/usr/bin/env python3)があり、かつ
そのファイルの改行コードが LF である必要があります
Windows で編集すると CRLF になりやすく、そのままでは ‘/usr/bin/env: python3\r’: No such file or directory のようなエラーになります
理由は、パス指定で実行すると OS が 1 行目だけを読んでインタープリタを起動するため、
行末の \r が残ってインタープリタ名が誤って解釈されるからです
Git管理する場合、.gitattributes で test.py text eol=lf と指定すると
clone/checkout 時に LF で取り出されるので便利です

フォルダに移動してから実行する方法(任意):

cd /mnt/d/Users/yofukashi/Documents/Python
python3 test.py

仮想環境を使う場合は、そのプロジェクトのフォルダで
python3 -m venv venv と source venv/bin/activate のあと
同様に python3 でスクリプトを実行します
抜けるときは deactivate です


Windows と Linux のファイル共有

WSLでは、Windows と Linux のファイルを簡単に行き来すること、ができます

Windows のエクスプローラーで WSL(Ubuntu)のフォルダを見る

Ubuntu の中身を Windows のエクスプローラーで開く手順です

エクスプローラーを開いて、アドレスバーに下記を入力する

\\wsl$\Ubuntu\home

これで Ubuntu のホームフォルダが Windows のフォルダとして表示されます

Ubuntu から Windows のドライブを見る(逆方向)

Ubuntu のターミナルから Windows の C ドライブや D ドライブにアクセスする方法です

cd /mnt
ls

c d のほか、e f g(他のドライブ)や wsl wslg(WSL2 用)も出ることがありますが
いずれも正常です

  • C ドライブ → /mnt/c
  • D ドライブ → /mnt/d

例: Windows のデスクトップへ移動する

cd /mnt/c/Users/yofukashi/Desktop
ls

WSL 内のファイル・フォルダを削除する(PowerShell が速い)

WSL(Ubuntu)内のファイルやフォルダを削除する方法です

まず、Windowsのエクスプローラーで表示されたフォルダやファイルを削除する方法もありますが
大量のファイルやフォルダだと非常に遅くなります

解決策として、PowerShell でコマンドから削除すると一瞬で終わります
ディレクトリ(フォルダ)ごと削除するには、次のようにします

Remove-Item -Path "\\wsl$\Ubuntu\home\yofukashi\Folder" -Recurse -Force
  • -Recurse: フォルダの中身も含めて再帰的に削除する
  • -Force: 確認なしで削除する(削除すると元に戻せないので、パスをよく確認してから実行してください)

ファイル1つだけ削除する場合は -Recurse、は不要です

応答なし・ハングする場合の原因と対策

Remove-Item で \wsl$… を操作するときに応答なしになる対策です

WSL ターミナルで rm -rf することを推奨します

rm -rf ~/test


Cドライブの空きが圧迫される場合の対処

WSL 内で大きなファイルやフォルダを削除したのに、
Cドライブの空き容量が増えないことがあります

理由: WSL2のLinux全体は、ext4.vhdxという 1 つの仮想ディスクファイルに保存されています
中で削除しても、このファイルは自動では縮小されません

対処: 不要なものを削除したあと、PowerShellを管理者で開き、
WSLを止めてから仮想ディスクを最適化します
パスは環境により異なります
C:\Users\yofukashi\AppData\Local\wsl\、のどこかのフォルダにある、
ext4.vhdx、を指定してください

wsl --shutdown
Optimize-VHD -Path "C:\Users\yofukashi\AppData\Local\wsl\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ext4.vhdx" -Mode Full

これで未使用領域が削られ、Cドライブの空きが増えます

WSL の削除・やり直し

設定をいろいろいじって壊れてしまったとき、もう一度クリーンな状態を作り直したい時は
一度Ubuntuを消して入れ直すのもアリです

WSLのディストリビューションを完全削除する

Ubuntu以外も含め、インストール済みのWSL ディストリビューションを完全に削除する手順です

① インストール済みの一覧を確認する

wsl --list --verbose

表示された Name 列(例: Ubuntu, Ubuntu-22.04)が削除対象の名前です

② ディストリビューションを削除する

PowerShell(管理者)で、削除したい名前を指定して実行します

wsl --unregister Ubuntu

これで指定したディストリビューションが完全削除されます(中のファイルもすべて消えるので注意

WSL構築前の状態に戻す方法

WSL構築前の状態に戻す、vhdxや関連データの入ったフォルダを根こそぎ削除する方策です
Cドライブの領域が返り、WSLを入れ直す前の状態に戻したい時に便利です

① WSL を止める

PowerShell で次を実行します(管理者でなくてよい

wsl --shutdown

② ディストリビューション用のフォルダを丸ごと削除する

  • エクスプローラーで %LocalAppData%\Local\wsl、を開く。
  • ext4.vhdxが存在するフォルダを探す、例えば下記
    C:\Users\yofukashi\AppData\Local\wsl\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\ext4.vhdx
  • そのフォルダを丸ごと削除する

これだけで、完全削除が可能です

おわりに

Windowsメインで開発をしている中でも、UbuntuなどのLinux環境で動作確認したくなった時
VMWareやVirtualBoxなどで仮想環境を構築してUbuntuなどをインストールするよりも
WSLを使うと簡単、高速に環境を立ち上げられるので非常に便利かな、と思います

今回、自身で環境構築、動作確認してつまづいたポイントなどは記載しておいたので
この通りに実行すれば再現できる様になっているはず、なので
初めて環境構築する人の手助けになればと思ってます

次のステップとしては、DockerやVSCodeのRemote – WSLとの連携、といったこともできるので
まずは1st stepが進むことを期待してます。。。


UbuntuやZorinのインストールは下記でも解説しています

コメント

タイトルとURLをコピーしました