WSL2 问题处理

1. 参考的对象类型不支持尝试的操作

参考的对象类型不支持尝试的操作。(The attempted operation is not supported for the type of object referenced.)

1.1 临时方案

管理员 PowerShell 运行

netsh winsock reset

1.2 比较长期解决的方案(推荐)

  1. 下载此软件:
    www.proxifier.com/tmp/Test20200228/NoLsp.exe(因需要梯子访问下载,有些朋友不方便,所以我上传到百度云分享在这里:链接:https://pan.baidu.com/s/1bVZ0OXZPxEt8l1IHYaFK3A ,提取码:vjge);
  2.  管理员身份运行CMD输入: NoLsp.exe C:\windows\system32\wsl.exe (请自行注意NoLsp.exe程序的位置,以及你的wsl.exe位置)。

1.3 产生原因和解决方法分析

代理软件和wsl2的sock端口冲突,使用 netsh winsock reset  重置修复。

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 进程中。

上述解决方案来自于:

https://github.com/microsoft/WSL/issues/4177

https://answers.microsoft.com/zh-hans/insider/forum/all/wsl2%E5%AE%89%E8%A3%85kali/b6dd4c62-1130-4a7c-9462-1e9e5f38dab2?auth=1

知乎回答可见以下链接:https://zhuanlan.zhihu.com/p/151392411

2. 忘记 wsl root 密码

管理员运行 CMD 或者 PowerShell 执行对应版本命令即可重设账户默认状态

发行版应用 Windows 命令
Ubuntu ubuntu config –default-user root
Ubuntu 20.04 ubuntu2004 config –default-user root
Ubuntu 18.04 ubuntu1804 config –default-user root
Debian debian config –default-user root
Kali Linux kali config –default-user root

重设后进入系统,输入 passwd root ,输入新密码,完成密码重置。

3. 更新 wsl 2

    1. 下载并安装  Linux kernel update package
    2. 管理员运行 Powershell 执行以下语句
      # 设置默认 wsl 版本
      wsl --set-default-version 2
      # 列出所有分发系统及版本
      wsl -l -v
        NAME            STATE           VERSION
      * Ubuntu-20.04    Stopped         1
      # 更新分发系统 wsl 版本 
      wsl --set-version  Ubuntu-20.04 2
THE END
分享
海报
WSL2 问题处理
1. 参考的对象类型不支持尝试的操作 参考的对象类型不支持尝试的操作。(The attempted operation is not supported for the type of object referenced.) 1.1 临时方案 管理员 PowerShell 运行 netsh winsock reset 1.2 比较长期解决的方案(推荐) 下载此软件: www.proxifi……
<<上一篇
下一篇>>
文章目录
关闭
目 录