zyw 文件夹数据恢复报告/dev/sdc(型号 F315T,58.6 GiB),分区 /dev/sdc1,exFAT,簇大小 128 KiB,UUID A082-9F64zyw| 项目 | 结果 |
|---|---|
| 删除的目录 | 根目录 zyw → 内含 私人资料库(15 个子项) |
| 恢复文件数 | 1735(另有 114 个空目录) |
| 恢复数据量 | 298.1 MiB(zip 压缩后 274 MiB) |
| 完整性 | CRC 全通过 · 文件签名全对 · 簇区间 0 重叠 |
| 原始介质 | 全程只读,未写入任何数据 |
下载地址(局域网)
本机留存路径
/persistent/usb-recover/restored/zyw//persistent/usb-recover/sdc-A082-9F64.img/persistent/usb-recover/manifest.json0x85 → 0x05),文件名、首簇号、文件长度全部原样保留, 不像 FAT 那样把首字符覆盖成 0xE5。因此 zyw 这个名字和整棵树的元数据都是完整的。本机此前(2026-09-03)为下载中心误删事故做过一次恢复,用的是 ext4magic 基于 ext4 日志恢复 /dev/sda5。该方案无法用于本次场景:
| 上次(dl-hub 事故) | 本次(U 盘) | |
|---|---|---|
| 文件系统 | ext4(有日志) | exFAT(无日志、无日志可重放) |
| 可用工具 | ext4magic / extundelete | ext4magic、extundelete 均不适用 |
| 恢复依据 | 文件系统日志 | 目录项中残留的元数据 |
本次采用的流程:
# 1) 立即只读挂载,杜绝写入
sudo mount -o remount,ro /media/zyw/A082-9F64
# 2) 整盘只读镜像(59 GB,约 11 分钟,无读错误)
sudo dd if=/dev/sdc of=/persistent/usb-recover/sdc-A082-9F64.img \
bs=4M conv=noerror,sync status=progress
# 3) 解析 exFAT 目录项,定位已删除条目(自研解析器)
python3 exfat_scan.py <img> # 枚举根目录,找到 [已删除] DIR 'zyw' 首簇=327932
python3 exfat_tool.py <img> list 329167 131072
python3 exfat_tree.py <img> 327932 131072 --dry # 干跑清点全树
# 4) 递归恢复
python3 exfat_tree.py <img> 327932 131072 /persistent/usb-recover/restored
说明:
testdisk 7.2(本机已装)支持 exFAT undelete,但它只有 TUI 交互界面、没有非交互批处理模式, 且本机无tmux/screen,自动化驱动不可靠。因此改用直接解析 exFAT 结构的方式, 全程可脚本化、可复核、可重复。testdisk已用于独立确认分区与文件系统类型(并以 (RO) 只读方式打开镜像)。 实为兜底手段的photorec(按签名雕取、会丢失文件名和目录结构)本次无需使用。
zyw/
└── 私人资料库/
├── seafile-tutorial.doc
├── images/ (含 auto-upload/)
├── TEMP/ (含 新建文件夹/)
├── 上课文件/
├── 临时文件夹/
├── 学校事务/
├── 学生毕业/
├── 学生毕业工作/
├── 报销/
├── 教学工作/
├── 教师培训/
├── 监考/
├── 科研工作/
├── 软件/
└── 随笔/
文件类型分布(按实际签名识别,非按扩展名)
| 类型 | 数量 | 类型 | 数量 |
|---|---|---|---|
| Excel 2007+ (.xlsx) | 1324 | PowerPoint (.pptx) | 15 |
| Word 2007+ (.docx) | 119 | Visio (.vsdx) | 5 |
| JPEG 图片 | 47 | OOXML / XML | 8 |
| 纯文本 | 63 | 可执行文件 (.exe/.dll) | 3 |
| PDF 文档 | 34 | SQLite / RAR / INI | 5 |
| Word 97-2003 (.doc) | 33 | 空文件 | 16 |
| Zip 压缩包 | 22 | 加密文档 (CDFV2 Encrypted) | 2 |
| Windows 快捷方式 (.lnk) | 22 | PNG 图片 | 16 |
ZipFile.testzip() 返回 None)。file,1324 个 xlsx / 119 个 docx / 47 个 JPEG / 34 个 PDF 等签名与其扩展名一致;抽样确认 seafile-tutorial.doc 为完整 OLE2 Word 文档 (含作者、创建时间、页数、字数等元数据),.jpg 为 1080×2400 实图。随笔/JJwords/ 下写作软件的 .Book / .Comment 伴生文件, 目录项记录的原始长度本就是 0 字节,属正常,非损坏。上课文件/计算机应用基础/作业收集/424/7、酒店/20220419_1.txt —— 非零字节占比 96.5%、以 02 01 00 00 00 00 开头,是 DLP 透明加密文档 (同批还有 2 个 CDFV2 Encrypted),属原始状态,非恢复损伤。随笔/ 下有名为 帐号密码 的目录,且数据包已放在 局域网可访问的下载中心(8899,无鉴权)。建议下载后立即通知我删除该 zip, 或自行从下载中心移除。/dev/sdc1 目前仍以只读方式挂载(/media/zyw/A082-9F64)。 如需写回数据或继续使用,需先 sudo umount 再重新插拔/挂载。/persistent/usb-recover/, 确认无误后可删除以释放约 60 GB 空间。