最近,我使用 exFAT 格式化的 SD 卡遇到了“未找到大写字母表”的错误,而前一天它还运行正常。我在 Windows 或 Linux 上尝试过的任何工具都无法修复该问题,尽管从我的调查来看,这似乎微不足道。
我知道大写字母表的假定内容 并且有之前已通过十六进制编辑成功更改 UID。
备份后,我使用十六进制查看器检查了该分区,发现数百个条目看起来像大写字母表(在 400GB SD 卡上,位置 0x10000000 和 0x106DFFB 之间,如果这很有趣,请参见下面的示例),但几乎每一个条目都有一些损坏。
我可以通过手动编辑来解决这个问题吗?
我是否需要注意校验和或任何恶作剧?
答案1
好消息!我终于在分区的副本hexedit
上运行了dd
,只需手动替换从 0x01000000 开始的大写字母表所需的字节即可。在此过程中,我发现所有这些看似额外的大写字母表都只是设置了额外位的延续。
exfatsck
现在显示一个不同的错误,我不确定它是否相关:
ERROR: bad cluster 0 while reading root directory
但testdisk
至少可以显示一些文件,而不是像以前一样只是出错。不幸的是,大多数文件名仍然看起来乱码,我会看看是否也可以解决这个问题...