情景描述

在Windows环境下启动Ubuntu子系统时,遇到了如下错误提示:“参考的对象类型不支持尝试的操作”。

永久解决方案

下载并配置NoLsp.exe

为了解决上述问题,您可以下载NoLsp.exe程序,并按照以下步骤操作:

  • 下载链接

下载完成后,请将NoLsp.exe放置于 C:\windows\system32 目录下。

管理员权限执行命令

接下来,您需要以管理员身份运行命令提示符(CMD),然后输入下列命令来执行:

1
NoLsp.exe C:\windows\system32\wsl.exe

请确保NoLsp.exewsl.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,从而避免了错误的发生。