wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

最近似乎是windows wsl2进行了更新,可以看WSL2 的 2.0 更新彻底解决网络问题 - 知乎 (zhihu.com)这篇文章。

打开我许久没用的wsl,Ubuntu22wsl2突然给了一个提示wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。一看到代理突然想起来,当时wls2未更新镜像网络功能的时候,我用到了wls2下的全局代理,可以看这篇文章为 WSL2 一键设置代理 - 知乎 (zhihu.com),在目前版本的使用过程发现这样的代理方式已经失效

ping google.com
PING google.com (172.217.163.46) 56(84) bytes of data.
^C
--- google.com ping statistics ---
33 packets transmitted, 0 received, 100% packet loss, time 33250ms

根据github上的issue回复,确实也是新版wsl2的问题,可以看一下wsl 2.0.0 的Release 2.0.0 · microsoft/WSL (github.com)

按照issue上的解决方法

在Windows中的C:\Users\<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容

[experimental]
autoMemoryReclaim=gradual    # gradual  | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

至于.wslconfig的作用

.wslconfig
存储在你的 %UserProfile% 目录中。
用于在作为 WSL 2 版本运行的所有已安装的 Linux 发行版中全局配置设置。
只能用于 WSL 2 运行的发行版。 作为 WSL 1 运行的发行版不受此配置的影响,因为它们不作为虚拟机运行。
要访问 %UserProfile% 目录,请在 PowerShell 中使用 cd ~ 访问主目录(通常是用户配置文件 C:\Users<UserName>),或者可以打开 Windows 文件资源管理器并在地址栏中输入 %UserProfile%。 该目录路径应类似于:C:\Users<UserName>.wslconfig
WSL 将检测这些文件是否存在,读取内容,并在每次启动 WSL 时自动应用配置设置。 如果文件缺失或格式错误(标记格式不正确),则 WSL 将继续正常启动,而不应用配置设置。

下一步打开命令行输入下面命令关闭wsl,然后重新打开wsl就可以了

wsl --shutdown

如何没有恢复正常,可以考虑重置或者删去wsl之前的网络代理配置

参考链接

为 WSL2 一键设置代理 - 知乎 (zhihu.com)

WSL2 的 2.0 更新彻底解决网络问题 - 知乎 (zhihu.com)

wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。 · Issue #10753 · microsoft/WSL (github.com)

  • 28
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
WSL(Windows Subsystem for Linux)是Windows 10操作系统的一个功能,可以在Windows环境中运行Linux发行版。WSL 2是WSL的第二代版本,它与第一代版本相比具有更好的性能和功能。 在使用WSL 2时,可能会遇到无法将磁盘附加到WSL 2并显示"系统找不到指定的文件"的问题。这通常是由于路径设置或文件不存在等原因导致的。 首先,确保你的磁盘路径是正确的,并将磁盘所在路径输入到WSL 2的配置文件中。可以使用以下命令打开WSL 2的配置文件: $ wsl --list --verbose 找到对应的发行版,比如Ubuntu,使用以下命令打开配置文件: $ notepad.exe \\\wsl$\\Ubuntu-20.04\\etc\\wsl.conf 在配置文件中添加或修改以下内容: [automount] root = / options = "metadata,umask=22,fmask=11,case=off" enabled = true mountFsTab = false 注意,路径可能因发行版和安装方式而异。 接下来,确保你的磁盘文件路径是正确的。你可以使用CMD或PowerShell来执行以下命令: $ wsl --mount <磁盘文件路径> 例如: $ wsl --mount C:\Users\YourUser\disk.vhdx 如果磁盘文件不存在,你需要创建一个新的磁盘文件,并将其挂载到WSL 2中。可以使用WSL 2提供的工具来创建磁盘文件。可以执行以下命令: $ wsl --create <磁盘文件路径> <磁盘大小> 例如: $ wsl --create C:\Users\YourUser\disk.vhdx 20GB 这样,你就能将磁盘成功附加到WSL 2并开始使用了。 如果问题仍然存在,可能是其他原因导致的。你可以尝试更新WSL 2版本、重启计算机等常规的故障排除方法。如果问题仍然无法解决,建议参考微软官方文档或向技术支持寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值