wsl参考的对象类型不支持尝试的操作
情景描述
在Windows环境下启动Ubuntu子系统时,遇到了如下错误提示:“参考的对象类型不支持尝试的操作”。
永久解决方案
下载并配置NoLsp.exe
为了解决上述问题,您可以下载NoLsp.exe
程序,并按照以下步骤操作:
下载完成后,请将NoLsp.exe
放置于 C:\windows\system32
目录下。
管理员权限执行命令
接下来,您需要以管理员身份运行命令提示符(CMD),然后输入下列命令来执行:
1 | NoLsp.exe C:\windows\system32\wsl.exe |
请确保NoLsp.exe
和wsl.exe
的路径正确无误。
错误原因分析
根据Proxifier开发人员的解释,当Winsock LSP (Layered Service Provider) DLL被加载进wsl.exe
进程时,就会出现该错误。解决这一问题最直接的方法是使用WSCSetApplicationCategory
WinAPI调用对wsl.exe
进行设置,以此阻止LSP DLL的加载。
具体来说,这个API调用会在注册表路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog
中为wsl.exe
创建一个条目。此条目的存在会指示Windows不要向wsl.exe
进程中加载任何LSP DLL,从而避免了错误的发生。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.