windows10 : wsl --set-version 2 Error: 0xffffffff 問題的解決方案


問題描述

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 安裝和升級過程中錯誤的解決方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM