【小ネタ】WSLで \\wsl.localhost\Ubuntu にアクセスできなくなったときの解決方法

【小ネタ】WSLで \\wsl.localhost\Ubuntu にアクセスできなくなったときの解決方法

Windows エクスプローラーから \\wsl.localhost\Ubuntu へアクセスできなくなったらまずは再起動!!!
2026.09.30

コーヒーが好きな emi です。

Windows エクスプローラーから \\wsl.localhost\Ubuntu を開こうとしたところ、「無効なアドレス」と表示され、Ubuntu のファイルへアクセスできなくなりました。

wsl-localhost-ubuntu-access-error_1

読み込み直すと戻ることが多かったのですが、何度やっても開けず「ポロロン…」という悲しい音が響きました。
原因調査と事象解決まで実施したので、紹介します。

結論

  • 今回は Ubuntu や WSL2 自体は正常だった
  • Windows 側で \\wsl.localhost\Ubuntu という UNC パス(ネットワーク上の場所を表すパス)だけを解決できない状態
  • 切り分け中は \\wsl$\Ubuntu から同じ Ubuntu のファイルへアクセスできた
  • 原因は WSL や Ubuntu 本体ではなく、WslService 側の一時的な不調だった可能性が考えられる

管理者権限の PowerShell で以下 2 コマンドを実行したところ、\\wsl.localhost\Ubuntu にアクセスできるようになりました。

Restart-Service WslService
wsl --shutdown

結論としては再起動なのですが、そこにたどり着くまでに、原因を切り分けるために色々と確認しました。

動作環境

確認した環境は次のとおりです。

  • Windows 11(バージョン 25H2、ビルド 10.0.26200.9448)
  • WSL バージョン 3.0.1.0(カーネル 6.18.40.1-1、既定は WSL2)
  • Ubuntu(既定のディストリビューション)
バージョン確認コマンド

WSL のバージョン

PS ...> wsl --version
>> 
WSL バージョン: 3.0.1.0
カーネル バージョン: 6.18.40.1-1
WSLg バージョン: 1.0.79
MSRDC バージョン: 1.2.7214
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.9448
PS ...> wsl --status
PS ...> wsl --status
>> 
既定のディストリビューション: Ubuntu
既定のバージョン: 2
WSL1 は、現在のマシン構成ではサポートされていません。
WSL1 を使用するには、"Linux 用 Windows サブシステム" オプション コンポーネントを有効にしてください。
PS ...> 

Windows のバージョンとビルド番号

PS ...> [System.Environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      26200  0       

PS ...> 
PS ...> (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").DisplayVersion
>> 
25H2
PS ...> 

WSL2 と Ubuntu が起動しているか確認

まず PowerShell で WSL の一覧と状態を確認し、そのまま Ubuntu を起動しました。実際のコマンドと出力は次のとおりです。

PS C:\Users\{username}> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
PS C:\Users\{username}> 
PS C:\Users\{username}> wsl -d Ubuntu
emiki@<hostname>:/mnt/c/Users/{username}$ 
emiki@<hostname>:/mnt/c/Users/{username}$ exit
logout
PS C:\Users\{username}> 

Ubuntu は Running で、WSL2 として正常起動中です。
wsl -d Ubuntu を実行すると Ubuntu のシェルも正常に起動できました。
この時点で、Ubuntu 自体が消えたとか起動できない状態だとかではないと分かりました。

起動後のカレントディレクトリが /mnt/c/Users/{username} なのは、PowerShell の C:\Users\{username} から wsl -d Ubuntu を実行し、Windows 側のカレントディレクトリを引き継いだためです。

WSL を停止してから Ubuntu を再起動

一時的な不調かどうかを確認するため、WSL を停止して Ubuntu を起動し直しました。

PS C:\Users\{username}> wsl --shutdown
PS C:\Users\{username}> 
PS C:\Users\{username}> wsl -d Ubuntu
emiki@<hostname>:/mnt/c/Users/{username}$

再起動後も Ubuntu のシェルは正常に開きました。しかし、エクスプローラーから \\wsl.localhost\Ubuntu にはアクセスできませんでした。

Ubuntu 自体は動いているので、別の経路なら開ける可能性があります。
WSL のファイルへは \\wsl.localhost のほかに \\wsl$ からもアクセスできます。そこで、エクスプローラーのアドレスバーへ次のパスを入力しました。

\\wsl$\Ubuntu

こちらからは Ubuntu のファイルへアクセスできました。WSL のファイルシステム全体が壊れているのではなく、\\wsl.localhost 側の経路に限った問題のようです。

Ubuntu と Windows の両方から名前解決を確認

\\wsl.localhost だけ開けないので、wsl.localhost という名前が名前解決できているかを確認しました。今回は疎通確認に使う ping を利用します。ping を実行すると、対象の名前がどのアドレスに解決されたかが最初に表示されるので、その部分を見ます。まず Ubuntu 側で確認します。

emiki@<hostname>:/mnt/c/Users/{username}$ ping wsl.localhost
PING wsl.localhost(ip6-localhost (::1)) 56 data bytes
64 bytes from ip6-localhost (::1): icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from ip6-localhost (::1): icmp_seq=2 ttl=64 time=0.047 ms
64 bytes from ip6-localhost (::1): icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from ip6-localhost (::1): icmp_seq=4 ttl=64 time=0.049 ms
64 bytes from ip6-localhost (::1): icmp_seq=5 ttl=64 time=0.081 ms
64 bytes from ip6-localhost (::1): icmp_seq=6 ttl=64 time=0.085 ms
^C
--- wsl.localhost ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5112ms
rtt min/avg/max/mdev = 0.023/0.055/0.085/0.021 ms
emiki@<hostname>:/mnt/c/Users/{username}$ 

続いて PowerShell 側でも確認します。

PS C:\Users\{username}> ping wsl.localhost

wsl.localhost [::1]に ping を送信しています 32 バイトのデータ:
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms

::1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms
PS C:\Users\{username}>

先頭に出ている解決先のアドレスを確認すると、どちらも wsl.localhost は IPv6 のループバックアドレスである ::1 に解決されていました。名前解決は問題なさそうです。

PowerShell から UNC パスを開けるか確認

エクスプローラー固有の問題かどうかを切り分けるため、PowerShell から \\wsl.localhost\Ubuntu の内容を取得しました。

PS C:\Users\{username}> Get-ChildItem \\wsl.localhost\Ubuntu
Get-ChildItem : パス '\\wsl.localhost\Ubuntu' が存在しないため検出できません。
発生場所 行:1 文字:1
+ Get-ChildItem \\wsl.localhost\Ubuntu
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\wsl.localhost\Ubuntu:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

PS C:\Users\{username}>

PowerShell でもパスが存在しないとなりました。
エクスプローラーの表示だけではなく、Windows 側で \\wsl.localhost\Ubuntu という UNC パス自体が処理できていないようです。

WSL Service の状態と再起動を確認

Windows 側の WSL Service が動いているか確認します。

PS C:\Users\{username}> Get-Service WslService

Status   Name               DisplayName
------   ----               -----------
Running  WslService         WSL Service

PS C:\Users\{username}>

WslService は Running です。
続いて PowerShell からサービスを再起動します。

PS C:\Users\{username}> Restart-Service WslService
Restart-Service : 次のエラーのため、サービス 'WSL Service (WslService)' を停止できません: '.' コンピューターで WslServi
ce サービスを開けません。
発生場所 行:1 文字:1
+ Restart-Service WslService
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (System.ServiceProcess.ServiceController:ServiceController) [Restart-Service
   ]、ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStopService,Microsoft.PowerShell.Commands.RestartServiceCommand

PS C:\Users\{username}>

通常権限の PowerShell で実行していたため権限が足りず失敗しました。管理者権限で開き直して再実行します。

スタートメニューで PowerShell を検索し、右クリックから「管理者として実行」で開き直します。

PS C:\WINDOWS\system32> Restart-Service WslService
PS C:\WINDOWS\system32> 
PS C:\WINDOWS\system32> wsl --shutdown
PS C:\WINDOWS\system32> 
PS C:\WINDOWS\system32> wsl -d Ubuntu
emiki@<hostname>:/mnt/c/WINDOWS/system32$ 
emiki@<hostname>:/mnt/c/WINDOWS/system32$ exit
logout
PS C:\WINDOWS\system32> 
PS C:\WINDOWS\system32> Get-ChildItem \\wsl.localhost\Ubuntu

    ディレクトリ: \\wsl.localhost\Ubuntu

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2023/01/04      6:41                snap
d-----        2024/10/26     16:33                wslmicKBN
d-----        2026/09/30     20:59                sys
d-----        2023/01/04      6:40                media
d-----        2023/03/17     14:55                home
d-----        2026/09/30     20:59                run
d-----        2026/09/30     20:59                dev
d-----        2026/09/30     20:59                proc
d-----        2025/09/17     15:58                wslhbPfIK
d-----        2023/03/17     14:53                lost+found
d-----        2026/09/30     20:59                etc
d-----        2023/01/04      6:41                var
d-----        2025/09/17     15:58                wslPOhfCM
d-----        2025/09/17     15:58                wslJGeMAM
d-----        2023/01/04      6:40                usr
d-----        2022/04/18     19:28                boot
d-----        2025/09/17     15:58                wslhfNBDM
d-----        2024/10/26     16:33                wslCaofJL
d-----        2023/01/04      6:40                srv
d-----        2023/01/04      6:40                opt
d-----        2024/10/26     16:33                wslHpbdIL
d-----        2025/09/17     15:58                wsloOfHCM
d-----        2024/10/26     16:33                wslbmDmDM
d-----        2026/09/30     17:25                tmp
d-----        2024/12/08     19:46                root
d-----        2024/10/26     16:33                wslMEIAdM
d-----        2023/03/17     14:53                mnt
-----l        2023/01/04      6:40              9 lib64
-----l        2023/01/04      6:40             10 libx32
-----l        2023/01/04      6:40              8 sbin
------        2026/09/26      8:31        3430904 init
-----l        2023/01/04      6:40              9 lib32
-----l        2023/01/04      6:40              7 lib
-----l        2023/01/04      6:40              7 bin

PS C:\WINDOWS\system32>

一覧が表示され、\\wsl.localhost\Ubuntu へのアクセスが復旧しました!!!

おわりに

今回の原因は WSL や Ubuntu 側ではなく、WslService 側の一時的な不調だったのではと思われます。
管理者権限の PowerShell で Restart-Service WslService と wsl --shutdown を実行し、Ubuntu を起動し直したところ、\\wsl.localhost\Ubuntu にアクセスできるようになりました。

本記事への質問やご要望については画面下部の「DevelopersIOへのご意見」からお問い合わせいただけます。

この記事をシェアする

関連記事