You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2 Ubuntu 22.04只读文件系统导致dpkg及常用命令故障求助

WSL2 Ubuntu 22.04只读文件系统导致dpkg及常用命令故障求助

兄弟我太懂你这种抓狂的感觉了!WSL2突然把文件系统搞成只读模式,连dpkg、ps这些基础命令都用不了,简直离谱。别慌,咱们一步步来解决这个问题:

核心原因

这种情况大多是因为WSL2的虚拟磁盘(VHDX文件)因为异常关机、强制终止WSL进程等原因损坏了,系统为了防止数据进一步损坏,自动把文件系统挂载成了只读模式。

修复步骤

1. 彻底关闭所有WSL实例

先把所有Ubuntu终端关掉,然后打开Windows的PowerShell(管理员权限),执行这条命令完全终止WSL:

wsl --shutdown

2. 定位Ubuntu的虚拟磁盘文件

Ubuntu 22.04的默认虚拟磁盘路径一般是:

C:\Users\<你的Windows用户名>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx

把<你的Windows用户名>换成你实际的用户名,比如你Windows叫"Tom",路径就是C:\Users\Tom\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx。如果是自定义安装的WSL,需要自己找对应的VHDX文件。

3. 用Windows磁盘工具修复虚拟磁盘

还是在管理员PowerShell里执行diskpart进入磁盘管理工具,然后依次输入以下命令(注意把路径换成你自己的):

select vdisk file="C:\Users\Tom\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"
attach vdisk readonly
repair vdisk
detach vdisk

每输完一条按回车,等执行完成再输下一条。

4. 重新启动WSL并修复文件系统

打开PowerShell执行wsl进入Ubuntu,先尝试重新挂载根文件系统为可读写:

sudo mount -o remount,rw /

如果这条命令没有报错,再执行dpkg的修复命令:

sudo dpkg --configure -a

这时候应该就能正常使用dpkg和其他命令了!

备选方案(如果修复失败)

如果上面的方法都救不回来,那只能备份重要数据(如果还能访问的话),然后重置Ubuntu实例:
在管理员PowerShell里执行:

wsl --unregister Ubuntu-22.04

之后去微软商店重新安装Ubuntu 22.04就行,不过这个操作会清除所有Ubuntu里的数据,一定要先备份好重要文件!

备注:内容来源于stack exchange,提问作者DDS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:29:30