误删了C:\Program Files下的WSL文件夹,重新开启“适用于Linux的Windows子系统”,电脑无法自动恢复好WSL文件夹。
虽然System32文件夹内还有wsl.exe,但是wsl指令压根不管用。
尝试各种后,最终通过下面方法解决了:
- 删除残留文件
打开文件资源管理器,导航到以下路径,手动删除与 WSL 相关的残留文件夹(如有):
C:\Users<YourUsername>\AppData\Local\Packages
查找以 CanonicalGroupLimited 或其他 Linux 发行版相关命名的文件夹,右键删除。 - 删除 WSL 配置文件
如果你有修改过 WSL 的配置文件 .wslconfig,可以手动删除它。默认位置为:
C:\Users<YourUsername>.wslconfig
打开文件资源管理器,删除该文件(如存在)。 - 尝试重新安装 WSL 组件,通过 PowerShell 执行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
在以下目录找到WindowsSubsystemForLinux的文件夹,C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_2.2.4.0_x64__8wekyb3d8bbwe。里面wsl.msi,右键“修复”,等待完毕。
-
确认“适用于Linux的Windows子系统”和“虚拟机平台”已勾选,重启电脑。
-
验证wsl
-
继续安装操作系统就可以了!