如何使用fsck修复Android 12无法识别的损坏exFAT SD卡
如何使用fsck修复Android 12无法识别的损坏exFAT SD卡
看来你碰到了挺闹心的问题:Android崩溃后SD卡就认不出了,非得格式化,但在Manjaro上还能正常读,用exfatfsck扫出了错误却死活修不好。别慌,咱们一步步来解决这个问题。
第一步:先备份数据!
不管接下来要做什么,先把SD卡上的所有文件复制到你的Manjaro电脑里——修复操作哪怕再安全,也有极小概率搞丢数据,先把重要内容存好,心里才踏实。
第二步:确保你用的是最新的exFAT工具
你当前用的exfatfsck 1.3.0可能修复能力有限,Manjaro上推荐用exfatprogs这个专门的exFAT工具包,功能更完善。打开终端更新安装:
sudo pacman -Syu sudo pacman -S exfatprogs
第三步:手动删除损坏的文件
从你的错误输出能看到,问题出在一个空的缓存文件1_5006037524565459906.tgs_198_198_nolimit.pcache2上——它的文件元信息(起始簇、连续标记)和实际空内容不匹配,exfatfsck没法自动修复这种矛盾,咱们手动删掉它就行:
- 先挂载SD卡到临时目录:
sudo mkdir -p /mnt/sdcard sudo mount /dev/mmcblk0p1 /mnt/sdcard - 找到这个损坏的文件:
find /mnt/sdcard -name "1_5006037524565459906.tgs_198_198_nolimit.pcache2" - 删除它(把下面的路径换成find命令输出的实际路径):
sudo rm /mnt/sdcard/path/to/1_5006037524565459906.tgs_198_198_nolimit.pcache2 - 卸载SD卡:
sudo umount /mnt/sdcard
第四步:重新检查修复
现在再跑一遍exfatfsck,确认错误已经解决:
sudo exfatfsck -y /dev/mmcblk0p1
这时候输出应该会显示ERRORS FOUND: 0, FIXED: 0,说明文件系统没问题了。
最后验证
把SD卡拔下来插回Android手机,应该就能正常识别,不用再格式化了。如果还是不行,那可能需要备份数据后重新格式化SD卡为exFAT,再把数据拷回去——不过这种情况很少见,前面的步骤基本能解决问题。
备注:内容来源于stack exchange,提问作者cale




