解决挂代理/开加速器后WSL2打不开的问题

@Ta 2020-05-15发布,2020-05-15修改 22401点击

解决方案来自:
https://github.com/microsoft/WSL/issues/4177#issuecomment-597736482

1160300208 2020-05-12

Proxifier的开发人员告诉了我原因,并给了我一个解决方案。

谢谢(你的)信息。
我们已转载此问题。
显然,如果Winsock LSP DLL被加载到其进程中,则wsl.exe将显示此错误。
最简单的解决方案是对wsl.exe使用WSCSetApplicationCategory WinAPI调用来防止这种情况。
在幕后,该调用在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog 中为wsl.exe创建一个条目。
这告诉Windows不要将LSP DLL加载到wsl.exe进程中。
我们有一个可以添加注册表的工具:
https://www.proxifier.com/tmp/Test20200228/NoLsp.exe
请打开管理员PowerShell,并以wsl.exe的完整路径作为参数:
.\NoLsp.exe c:\windows\system32\wsl.exe
这已经解决了我的问题。
请让我知道它是否对你也有用。

它对我有用!

亲测可用,解决了我两年来的问题。顺便备份一下 NoLsp.exe

NoLsp.exe(1.43 MB)

顺便一提,NoLsp.exe没有任何参数,所以.\NoLsp.exe -h.\NoLsp.exe --help都不管用,只会在注册表添加一个新条目。
如果你不小心添加了不需要的条目,可以用注册表编辑器(regedit)打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog自己删除。
此外,必须给NoLsp.exe传递绝对路径,相对路径(比如.\NoLsp.exe wsl.exe)没有效果!

回复列表(10|隐藏机器人聊天)
添加新回复
回复需要登录