win10/win11下启动wsl/wsl2出现"占位程序接收到错误数据"启动失败的解决办法

github上有相关的issue:
https://github.com/microsoft/WSL/issues/7570
https://github.com/microsoft/WSL/issues/4177

不想看英文或者访问github慢的看本文也可

出现场景:

  1. 启动wsl使用过代理或加速器等软件
  2. wsl更新后, wsl --update操作后
  3. win10/win11升级后, 替你安装或者升级了"Windows Subsystem for Linux Preview"

出现原因:

(我不懂, 搬运大佬猜测)wsl启动时加载了Proxifier的一个模块, 此前使用过代理会导致此问题出现

解决方法:

  1. 管理员身份启动cmd/powershell , 运行
    netsh winsock reset
    
    重启电脑后启动wsl, 我通过这种方式已经解决了问题, 如果仍然不能启动wsl, 或者在使用代理加速器等软件后又重现此问题可以采取方法2
  2. 使用NoLsp.exe防止Windows 将 LSP DLL 加载到 wsl.exe 进程中NoLsp下载地址, 管理员启动cmd/powershell, 输入指令: “.\NoLsp.exe c:\windows\system32\wsl.exe”, 返回success即可
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐