记一次WSL安装报错排错

一位好厚米突然想用自己的WSL但是以外的发现他报错了!在PowerShell中使用bash或wsl命令后后会卡住无响应然后报告需要重新安装wsl按照交互提示操作后报灾难性故障。 便有了以下内容.jpg

首先尝试了重置重装

在控制面板》程序》程序和功能》启动或关闭Windows功能里取消所有关于WSL的内容,右键任务管理器的WSL.exe找到包名并卸载包,然后重启电脑后把这些全部恢复回去发现问题依旧便把方向换到了直接更新 linux子系统内核上发现直接安装会报错,查询Github上wsl相关issues中没找到有什么可用的信息,于是决定按照issues中提供的方法看看msi安装日志说什么

使用 msiexec /i msi安装包路径 /l*vx C:\wsllogs.txt 运行适用于linux子系统内核的安装程序检索日志打印在指定目录下的日志,发现安装程序在访问HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\WSL 该注册表路径是因为权限问题被拒,故尝试访问该路径删除所存在键,重新安装发现正常写入回到PowerShell中使用wsl或bash命令发现功能恢复正常