一、 情景
想要在Windows
下打开Ubuntu
子系统时,报错提示“参考的对象类型不支持尝试的操作”, 也就是说用不了wsl
命令行了, 另外也用不了Docker
了😥。
二、 永久解决方案
管理员身份对wsl启动程序运行Nolsp.exe程序
1. 下载NoLsp.exe
程序
原始链接(可能需要代理): http://www.proxifier.com/tmp/Test20200228/NoLsp.exe
2. 管理员身份运行
管理员身份运行CMD
并输入:
NoLsp.exe C:\windows\system32\wsl.exe
请自行注意NoLsp.exe
程序的存放位置,以及wsl.exe
的存放位置。
三、 出现原因
Proxifer
开发人员解释如下:
如果
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
进程中