Windows更新导致WSL崩溃
背景
某天Windows10自动升级并重启了系统,升级完成后打开WSL出现了错误:
无法将磁盘“C:\Program Files\WSL\system.vhd”附加到 WSL2: 系统找不到指定的文件。
错误代码: Wsl/Service/CreateInstance/CreateVm/MountDisk/HCS/ERROR_FILE_NOT_FOUND
Press any key to continue...
通过查阅资料 [1] 了解到这是WSL的BUG导致的,在Windows升级的时候,有概率会导致WSL文件被误删除。
比较好的解决办法有两个:
- 在其他电脑上把
C:\Program Files\WSL\system.vhd复制过来。
这个办法最简单,也最友好,前提是附近有其他Windows电脑。 - 使用已安装的数据进行重装恢复
- 2.1、找到WSL上已安装的系统所在的文件夹 [2]
一般在C:\Users\{User}\AppData\Local\Packages\{Distribution}\LocalState,例如:D:\Users\Default\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState - 2.2、把文件夹中的
*.vhdx(例如:ext4.vhdx)复制到其他盘用来做备份,后面恢复会用到 - 2.3、在 github.com/microsoft/WSL/releases 下载最新的wsl,并安装
- 2.4、如果经过上述步骤已经恢复正常,则无需后续步骤,否则:
- 2.4.1、停止WSL
- 2.4.2、卸载已安装系统
- 2.4.3、重新安装刚才卸载的系统,安装成功以后再停止
- 2.4.4、把刚才备份的
ext4.vhdx复制到新安装系统的C:\Users\{User}\AppData\Local\Packages\{Distribution}\LocalState中,覆盖掉已有文件
- 2.1、找到WSL上已安装的系统所在的文件夹 [2]

浙公网安备 33010602011771号