\\wsl$\Ubuntu 不再能从文件资源管理器访问

\\wsl$\Ubuntu 不再能从文件资源管理器访问

我以前能够\\wsl$\Ubuntu在 MS Windows 文件资源管理器的地址栏中输入内容,然后就能浏览我的 WSL 文件。

在 Windows 自动更新后,我现在无法像以前一样访问我的 WSL 文件。

目前我收到此错误:Windows cannot access \\wsl$\Ubuntu 检查名字的拼写。

但是,我仍然可以在 PowerShell 中使用相同的路径:


PS C:\Users> cd \\wsl$\Ubuntu
PS Microsoft.PowerShell.Core\FileSystem::\\wsl$\Ubuntu> ls


    Directory: \\wsl$\Ubuntu


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         28-Apr-21     14:58                bin
d-----         10-May-18     10:17                boot
d-----         08-Oct-21     14:08                dev
d-----         08-Oct-21     14:08                etc
d-----         19-Jul-18     18:21                home
d-----         30-Nov-18     13:17                lib
d-----         10-Nov-20     18:48                lib64
d-----         10-May-18     10:14                media
d-----         10-Jun-20     09:12                mnt
d-----         28-Apr-21     15:01                opt
d-----         08-Oct-21     14:08                proc
d-----         22-Jun-21     10:29                root
d-----         08-Oct-21     14:08                run
d-----         02-May-21     15:18                sbin
d-----         11-Apr-18     15:11                snap
d-----         10-May-18     10:14                srv
d-----         08-Oct-21     14:08                sys
d-----         08-Oct-21     14:09                tmp
d-----         24-Sep-19     10:48                usr
d-----         10-May-18     10:17                var
------         01-Jan-70     01:00         636192 init


PS Microsoft.PowerShell.Core\FileSystem::\\wsl$\Ubuntu>

仍可通过以下路径访问这些文件:


C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\

尽管如此,我还是希望能够使用旧路径。有人知道我该怎么做才能恢复它吗?

或者如果有一条我可以使用的新“短路径”,那么有人可以告诉我吗?

我正在运行带有 WSL 1 的 Windows 10 21H1(操作系统内部版本 19043.1237):


# wsl.exe -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         1

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.7 LTS
Release:        16.04
Codename:       xenial

这些是更新的问题:

2021-适用于基于 x86 的系统的 Windows 10 版本 21H1 的 09 累积更新 (KB5005565)

2021-09 适用于 Windows 10 版本 21H1 x86 的 .NET Framework 3.5 和 4.8 的累积更新预览 (KB5005539)

提前谢谢您!

PS:升级到 WSL2 不是一个选项。

答案1

我知道我听起来像在老生常谈(因为我曾在 Stack Overflow 上评论过你的问题),但不是在任何情况下尝试通过以下方式访问 WSL1 文件..\LocalState\rootfs\。这可能会导致腐败

至于 Explorer 集成,听起来很像这个问题。似乎有两种可能的解决方案:

  • 对于某些人来说,只需在可选功能中关闭并重新打开“适用于 Linux 的 Windows 子系统”似乎就可以解决问题。您现有的 Ubuntu 实例应该没问题,但您可能希望wsl --export Ubuntu Ubuntu_backup.tar先通过以下方式备份它,以防万一。

    您肯定需要应用这些更改——当然,仅仅勾选 WSL 复选框是行不通的。

  • 如果“简单方法”不起作用,请按照 Github 问题中的建议检查注册表项:

    # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\ProviderOrder
    # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
    # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
    

    如果您P9NP在第一个注册表项 ( ProviderOrder) 中看到(Plan 9 网络提供商),但在后两个注册表项中没有看到,则编辑OrderHWOrder条目以将其作为逗号分隔列表中的第一个项目。

    可能需要重新启动。

答案2

另外,请检查是否没有任何东西在背后关闭虚拟机平台 - 因为按照上述步骤然后执行此操作可以为我解决问题。

答案3

我只想补充一下 NotTheDr01ds 的回答,除了重新排序键之外: Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrderComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order......

同时编辑P9NPComputer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\ProviderOrder...使其成为一个低于(表示优先级)的十进制值,低于任何中央银行值。

我和P9NP100 因为我有一个CBFS5250和cbfs20175... 重启后依然存在。我得等着看升级后是否也能存在。

相关内容