Could not write value to key SFTWARE\ClassesDirectory\Background\shell\WSL...

WSL在更新时出错,突然不能用了。折腾了两个多小时,最后发现是安全软件的锅。。

背景:

我使用的系统是windows 11 专业版,此前已安装WSL的v2.2的一个版本。

电脑安装了卡巴斯基安全软件。

问题出现:

一天心血来潮想更新一下WSL,于是使用了wsl --update。

结果出现了

Could not write value to key \SOFTWARE\Classes\Directory\Background\shell\WSL
Verify that you have sufficient access to that key...

之后,如果再打开wsl,无论是通过windows terminal的新建标签的方式打开,或是输入任何wsl开头的指令,都会出现

wsl: WSL 安装似乎已损坏 (错误代码: Wsl/CallMsi/Install/REGDB_E_CLASSNOTREG)。
按任意键修复 WSL,或 CTRL-C 取消。
此提示将在 60 秒后超时。

在按下“任意键”后,会出现一个进度条和下面这段话。

正在更新适用于 Linux 的 Windows 子系统: 2.5.9。

进度条走完后,WSL仍然不能正常使用。

尝试过很多方法,包括在optionalfeatures.exe反复关闭开启“适用于Linux的Winodws子系统”。

参考这篇文章wsl损坏,WSLRegisterDistribution Failed with Error 0x8007019e - 魂祈梦 - 博客园背景 之前由于关机中断还是什么原因,导致wsl不能用了,今天心血来潮想要用一下wsl,于是找办法修了一下。 过程 根据下面这个文章进行修复的。 https://thegeekpage.com/wslregisterdistribution-failed-with-error-0x8007019e/ https://www.cnblogs.com/oldsaltfish/p/18377739尝试重新启动LxssManage,但发现服务里压根没有这个服务。

猜想是不是缺了这个服务导致我的wsl用不了,于是,搜索LexxManager关键词,参考下面这个网站下载了它所说的两个.dll放到对应的位置。重启电脑后,WSL还是不能用。

Win11系统提示找不到LxssManager.dll文件的解决办法-CSDN博客文章浏览阅读870次,点赞13次,收藏17次。其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个LxssManager.dll文件(挑选合适的版本文件)把它放入到程序或系统目录中,当我们执行某一个.exe程序时,相应的DLL文件就会被调用,因此将缺失的文件放回到原目录之后就能打开你的软件或游戏了.那么出现LxssManager.dll丢失要怎么解决?_lxssmanager https://blog.csdn.net/gggiweeq/article/details/140455158

这篇文章里的方法也试过了,还是不行。

https://thegeekpage.com/wslregisterdistribution-failed-with-error-0x8007019e/https://thegeekpage.com/wslregisterdistribution-failed-with-error-0x8007019e/最后是在StackOverflow的这篇文章里,找到有人说在github上下载一个完整的wsl安装包,安装后就能解决这个问题。

https://stackoverflow.com/questions/78029799/wsl-cannot-upgrade-to-wsl2-as-class-not-registered-error-arises?utm_source=chatgpt.comhttps://stackoverflow.com/questions/78029799/wsl-cannot-upgrade-to-wsl2-as-class-not-registered-error-arises?utm_source=chatgpt.com于是我下载了此时最新的2.6.0的安装包,安装时,又出现了

Could not write value to key \SOFTWARE\Classes\Directory\Background\shell\WSL
Verify that you have sufficient access to that key...

咨询了某AI,说可能是注册表权限的问题,需要给Administrators用户加上HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell的完全访问权限。

于是我又打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell

右键,点击“权限”,发现Administrators本身就对这个文件夹有完全访问的权限,给能看到的每个用户都加上了完全控制的权限。点击Retry还是不行。

最后,偶然把卡巴斯基安全软件关了,再重新打开安装包,结果进度条很快就走完了。此时运行WSL,发现能正常使用了。

问题可能在于卡巴斯基安全软件为了系统安全,阻止了注册表写入。

。。。

posted @ 2025-07-31 04:16  囫囵吞桃  阅读(2)  评论(0)    收藏  举报  来源