问题描述
win10 安装了wsl,并且升级到了wsl2.
从github CentWSL 下载了CentOS,并且本地开启了WSL CentOS v1
想要升级到v2,使用命令
wsl --set-version CentOS 2
却报错:
Error: 0xffffffff
走了点歪路
- 本来是以为我本地的双网卡导致的,但是禁用一个网卡仍然不好用.
- 使用
netsh winsock reset
并重启也不好用(之前vmware有过类似的问题,看来wsl并不是这个问题) - 之前我看到了网络连接 里面会有一个WSL的网络设备闪一下,想到应该是WSL的网络出问题了,但是没有具体日志,也看不出来.
正确解决方案
在这个文章里面
WSl issue:WSL2 distros fail on start with Error 0xffffffff. (Exit code 4294967295 if launched from Windows Terminal) #4929
里面有个人提到了:
Check and stop any process listening 53/UDP
#4364 (comment)
以及 WSl issue:WslRegisterDistribution failed with error: 0xffffffff
Last edit:
After manually going over basically everything on my laptop, I've eventually found that it was the Acrylic DNS Proxy service I'm using. The service was grabbing port 53 and preventing the ICS service from binding to it.
为什么要说这个53呢?
原来这个端口是 DNS 代理:
DO THIS WORKED FOR ME: -
netstat -a -b
finds out which process is listening on a port on Windows
then with Task manager KILL the process running on ::53 (port 53 usually ArcylicDNS...)
then start wsl
我找了一下本机,原来我开启了 CCPROXY 其中就有DNS代理, 但是没有端口配置, 通过 任务管理器=》性能=>资源监视器=>网络=>侦听端口 查到了 53 的确是CCProxy 使用的.
关掉 CCProxy 中的DNS ,或者直接关掉 CCProxy 就好了.
使用 wsl --set-version CentOS<Distro> 2
直接升级成功.
太好了.
其他的链接 也有提高这个53/UDP 端口: WSL 2 安装和升级过程中错误的解决方法