WSL中误执行`rm -rf /*`命令的修复求助(含root权限操作后系统不可用场景)
WSL中误执行
rm -rf /*命令的修复求助(含root权限操作后系统不可用场景) 兄弟,我太懂这种手滑砸键盘的绝望了!root权限下跑rm -rf /*基本等于把WSL里的系统核心文件全清空了,重启后肯定彻底没法用,给你几个实用的解决思路,按优先级来:
先抢救重要数据(如果有的话)
别着急直接重置,先试试能不能把残留的重要文件捞出来:- 先彻底关掉WSL:打开PowerShell/CMD,执行
wsl --shutdown - 打开Windows文件资源管理器,地址栏输入
\\wsl$,如果还能看到你损坏的发行版目录,赶紧把里面的个人文件(比如/home下的内容)复制到Windows本地磁盘 - 要是上面的方法不行,试试手动挂载WSL的虚拟磁盘:右键开始菜单打开「磁盘管理」,点击「操作」→「附加VHD」,找到WSL的VHDX文件(一般路径是
C:\Users\<你的用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx),挂载成功后就能在Windows里访问分区,尽量抢救数据
- 先彻底关掉WSL:打开PowerShell/CMD,执行
最快恢复系统:重置/重新安装发行版
如果没什么重要数据,或者数据已经抢救出来了,这是最省心的办法:- 先列出你的WSL发行版:
wsl --list --verbose,找到损坏的那个(比如Ubuntu-22.04) - 终止该发行版:
wsl --terminate <发行版名称> - 注销该发行版:
wsl --unregister <发行版名称> - 去Microsoft Store重新安装对应的发行版就行,几分钟就能搞定
- 先列出你的WSL发行版:
有快照的话直接恢复(仅限Windows 11 22H2及以上)
如果你之前给WSL开了快照功能,那简直是救星:- 执行
wsl --list --snapshots查看有没有可用的快照 - 用命令恢复:
wsl --restore <发行版名称> --snapshot <快照名称>,这样系统和数据都能回到误操作前的状态
- 执行
最后提醒一句:下次root下执行rm -rf前,一定要盯着路径看三遍!哪怕加个--preserve-root参数也能避免这种惨案。
备注:内容来源于stack exchange,提问作者monstar
相关产品推荐
相关产品推荐

