「wsl --install したのに Distribution not found と表示される」
WSL2の導入でつまずく初心者は少なくありません。エラーメッセージが英語で表示され、何が原因なのかさっぱり分からない——そんな経験をした方も多いはずです。
この記事では、WSL2のインストール・起動・ネットワークでよく発生するエラーとその解決法を、Windowsのコマンド操作から丁寧に解説します。エラーコードの読み方から実際の対処手順まで、初心者が自分で解決できるように具体的な手順で説明します。
この記事のポイント
・WSL2の主なエラーは「仮想化設定」「Windowsの機能」「ディストリの未インストール」の3つ
・PowerShellを管理者権限で実行するとほとんどのエラーは解決できる
・ネットワーク接続できない場合は wsl --shutdown から再起動が基本手順
・ファイル権限エラーは /etc/wsl.conf の設定変更で解消できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
WSL2でよく出るエラーの種類を知っておこう
WSL2のエラーは大きく3つの段階で発生します。・インストール段階:wsl --install がうまく動かない
・起動段階:インストール後にディストリビューションが起動しない
・使用中:ネットワークにつながらない、ファイルの権限がおかしい
エラーメッセージを見ると英語で不安になりますが、意味を知れば自分で解決できるものばかりです。一つひとつ確認していきましょう。
インストール時のエラーと対処法
1. 「仮想マシンプラットフォームのオプションコンポーネントが有効になっていません」が出た場合
WSL2はWindowsの「仮想マシンプラットフォーム」機能が必要です。この機能が無効だとインストール自体が進みません。PowerShellを管理者権限で起動し、以下を実行します。
# PowerShellを管理者権限で実行する # スタートメニューで「PowerShell」を右クリック→「管理者として実行」 # 仮想マシンプラットフォームを有効化 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # WSL機能を有効化 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # 実行後は必ず再起動する Restart-Computer
2. 「Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS」が出た場合
これはBIOSレベルで仮想化機能(Intel VT-x または AMD-V)が無効になっている状態です。まずWindowsのタスクマネージャーで仮想化が有効かを確認します。
# PowerShellで仮想化の対応状況を確認 systeminfo | findstr /C:"Hyper-V" # 出力例(すべて「はい」になっていれば問題なし) # Hyper-V の要件: VM モニター モード拡張機能: はい # 仮想化が有効にされています: はい # 第 2 レベルのアドレス変換: はい # データ実行防止が使用可能: はい # 「仮想化が有効にされています: いいえ」の場合はBIOS設定が必要
3. 「wsl --install」が途中でフリーズする・終わらない場合
WSLのコアパッケージ更新が必要な場合があります。# WSLカーネルを最新版に更新する wsl --update # 更新後、インストールを再試行 wsl --install -d Ubuntu # 実際の出力例 # Ubuntu is already installed. # Launching Ubuntu... # (ここでユーザー名とパスワードの設定画面になれば成功)
起動時のエラーと対処法
1. 「There is no distribution with the supplied name.」が出た場合
インストールしたつもりのディストリビューション(Ubuntu等)が実際には登録されていない状態です。# まず登録されているディストリビューションを確認 wsl --list --verbose # 出力例(インストール済みであれば表示される) # NAME STATE VERSION # * Ubuntu Stopped 2 # 何も表示されない場合はインストールが完了していない # Ubuntuをインストールする場合 wsl --install -d Ubuntu # 利用可能なディストリビューション一覧を確認 wsl --list --online
2. 「0x8007019e」エラーが出た場合
これはWSLサービス自体が起動していないときに発生します。# WSLをシャットダウンして再起動する wsl --shutdown # 少し待ってからWSLを起動 wsl # それでも解決しない場合は、WSL機能を再登録する # (管理者権限のPowerShellで実行) Get-AppxPackage -AllUsers -Name "MicrosoftCorporationII.WindowsSubsystemForLinux" | Reset-AppxPackage
3. 「WslRegisterDistribution failed with error: 0x80370102」が出た場合
このエラーはBIOSの仮想化設定が原因のケースが多いです。「インストール時のエラー2番」で解説したBIOS設定を確認してください。【注意】BIOSの設定変更はPCのメーカーや機種によって手順が異なります。設定項目の名称が異なる場合があるため、PC付属のマニュアルやメーカーのサポートページも参照してください。
また、Hyper-VやWindows Defender ApplicationGuardが干渉しているケースもあります。
# Hyper-Vの状態確認 Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V # 実際のエラー確認には wsl --status が便利 wsl --status # 出力例 # 既定のディストリビューション: Ubuntu # 既定のバージョン: 2 # Linux 用 Windows サブシステムの最終更新日: 2026/06/01
WSL2のネットワーク接続トラブルと対処法
1. WSL2内からインターネットに接続できない場合
WSL2は起動するたびにWindowsホストの仮想NICから外部へ接続します。Windows側のDNS設定やファイアウォールが影響することがあります。# WSL2内のシェルで実行 # まずpingで接続を確認 ping -c 3 8.8.8.8 # 実際の出力例(接続OKの場合) # PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. # 64 bytes from 8.8.8.8: icmp_seq=1 ttl=113 time=12.4 ms # 64 bytes from 8.8.8.8: icmp_seq=2 ttl=113 time=11.9 ms # DNSが引けない場合は /etc/resolv.conf を確認 cat /etc/resolv.conf # 出力例 # nameserver 172.22.240.1
# /etc/wsl.conf にDNS自動生成を無効にする設定を追加 sudo sh -c 'echo "[network] generateResolvConf = false" >> /etc/wsl.conf' # /etc/resolv.conf を手動で設定(GoogleのDNSを使う例) sudo sh -c 'echo "nameserver 8.8.8.8 nameserver 8.8.4.4" > /etc/resolv.conf' # WSL2を再起動して設定を反映 # (PowerShellで実行) # wsl --shutdown
2. WSL2からWindowsのlocalhost(127.0.0.1)に接続できない場合
WSL2の仮想NICとWindowsの間はNAT越しの通信になっているため、`localhost` でWindowsのサービスに接続できないことがあります。# WSL2内でWindowsホストのIPアドレスを確認する ip route show | grep -i default # 出力例(デフォルトゲートウェイがWindowsのIP) # default via 172.22.240.1 dev eth0 proto kernel # WindowsホストへのアクセスはそのIPアドレスを使う # 例: Windows上で動くMySQL(3306番ポート)に接続する場合 # mysql -h 172.22.240.1 -u root -p
ファイルの権限・パーミッションのトラブルと対処法
1. WindowsのCドライブにあるファイルの権限が777になる場合
WSL2からWindowsのファイルシステム(/mnt/c/等)にアクセスすると、デフォルトでは全ファイルが権限777(誰でも読み書き実行可)として表示されます。これは仕様ですが、シェルスクリプトの実行などで問題になることがあります。# /mnt/c/ のファイル権限確認(デフォルトでは777になる) ls -la /mnt/c/Users/ # 出力例 # drwxrwxrwx 1 tomohiro tomohiro 4096 Jul 1 08:00 tomohiro # /etc/wsl.conf でメタデータを有効化すると権限が正確に扱える sudo nano /etc/wsl.conf # 以下の内容を追加 # [automount] # options = "metadata" # WSL2を再起動して設定を反映 # PowerShellで: wsl --shutdown # その後 Ubuntu を起動
2. 「Permission denied」が出た場合
WSL2のLinux環境内でファイルを操作しているときに発生する `Permission denied` は、LinuxのパーミッションルールがWindowsと異なるために起こります。# ファイルの現在の権限と所有者を確認 ls -la /home/tomohiro/script.sh # 出力例 # -rw-r--r-- 1 tomohiro tomohiro 125 Jul 1 08:00 script.sh # スクリプトに実行権限を付与 chmod +x /home/tomohiro/script.sh # 再確認 ls -la /home/tomohiro/script.sh # -rwxr-xr-x 1 tomohiro tomohiro 125 Jul 1 08:00 script.sh # root権限が必要なファイルを操作する場合 sudo chmod 644 /etc/配下のファイル
WSL2のトラブルシューティングでよく使うコマンドまとめ
| やりたいこと | コマンド(PowerShell or WSL2内) |
|---|---|
| WSL2のバージョンとステータス確認 | wsl --status |
| インストール済みディストリ一覧 | wsl --list --verbose |
| WSL2のシャットダウン(全体) | wsl --shutdown |
| WSLカーネルの更新 | wsl --update |
| 特定ディストリのアンインストール | wsl --unregister Ubuntu |
| ネットワーク疎通確認(WSL2内) | ping -c 3 8.8.8.8 |
| DNS設定確認(WSL2内) | cat /etc/resolv.conf |
| ファイル権限確認(WSL2内) | ls -la ファイルパス |
| WSL2設定ファイルの確認 | cat /etc/wsl.conf |
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
本記事のまとめ
WSL2のトラブルは種類が多く見えますが、原因のほとんどは「Windows機能が有効化されていない」「BIOS設定が間違っている」「WSLのカーネルが古い」の3つに集約されます。エラーコードに怖じ気づかず、まずは `wsl --status` でステータスを確認し、次に `wsl --update` でカーネルを更新する——この2ステップで多くのケースが解決します。
それでも解決しない場合は、管理者権限のPowerShellで `wsl --shutdown` を実行してから起動し直すのが定石です。
WSL2が安定して動くようになったら、次はLinuxのコマンド操作やサーバー設定を学んでいきましょう。以下の記事も参考にしてください。
・ipコマンドでネットワーク設定を確認・変更する方法|ifconfigとの違いやアドレス追加も
・systemctlコマンドでLinuxのサービスを管理する方法|start・stop・enable・statusの使い分けも
・lsofコマンドでプロセスが使用中のファイルを確認する方法|ポートやネットワーク接続の調査も
・Linuxのファイル権限完全ガイド|chmod・chown・umaskの基礎と実務でよく使う設定
・scpコマンドでファイルを安全に転送する方法|公開鍵認証やディレクトリごとコピーも
・ssh-keygenコマンドでSSH公開鍵認証を設定する方法|鍵の生成からauthorized_keys設定まで
・ssコマンドでソケット情報を確認する方法|LISTEN・ESTABの見方やポート確認も
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:LinuxのSwapを追加する入門|VPSのメモリ不足をスワップファイルで解消する方法
- 前のページへ:Linuxのテキスト処理入門|cat・less・grep・headで初心者がファイルの中身を読む方法
- この記事の属するカテゴリ:【Linux入門】初心者のための基礎知識・講座へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます