48小时救援记录:TestDisk 分区恢复与 PhotoRec 文件找回实战手记
48小时救援记录TestDisk 分区恢复与 PhotoRec 文件找回实战手记【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk一次相机存储卡失灵让我把 TestDisk 与 PhotoRec 从听说过变成了离不开。这是一篇按时间线记录的实战手记前 6 小时怎么用 TestDisk 做分区恢复第 20 小时怎么靠 PhotoRec 做文件找回以及事后总结出的五条教训。适合正在经历数据丢失、且想自己动手解决问题的普通用户。事故档案分区表坏了数据并没有消失事情发生得很普通。周末整理照片把 SD 卡从相机里抽出来插进读卡器系统弹出提示此卷不包含可识别的文件系统。再看一眼资源管理器卡还在容量还在但里面空空如也。相机开机也提示请格式化存储卡。那一刻心跳漏了一拍。几百张原图没有备份。这里要先解释一个关键概念分区表损坏不等于数据消失。分区表可以理解成一本书的目录页——它记录着第几章在第几页。目录页被撕掉、被写乱书页本身还好好地躺在那里只是你找不到入口了。SD 卡的分区表坏了系统自然看不见里面的文件但照片数据大概率还在扇区里躺着。这正是一个典型场景分区表损坏修复属于 TestDisk 的主场。黄金第一步动手前的现场保护在开始任何修复之前先做一件事停止写入。不要格式化格式化等于把目录页撕掉再重新印刷、不要新建文件、不要用系统自带的修复功能反复读写。每一次写入都可能把原本还有机会找回的数据覆盖掉。如果你的设备还勉强能识别建议先做一份磁盘镜像之后的恢复操作都在镜像上进行。Linux 下一条命令即可dd if/dev/sdb of/tmp/sdcard.img bs4M statusprogress把/dev/sdb换成你的设备名dd会按扇区把整张卡原样复制成镜像文件。这一步是磁盘镜像数据恢复的常规操作——恢复过程本身是只读的但多一层镜像保护等于给自己留了后悔药。到这一步工具还没上场。先认识一下它们TestDisk 与 PhotoRec 是同一套开源套件中的两个程序遵循 GPL 许可完全免费覆盖 Windows、Linux、macOS、BSD 等主流平台。TestDisk 负责修目录页分区表、引导扇区、文件系统结构PhotoRec 负责在书页里逐行找文字文件内容级扫描。第6小时TestDisk 分区恢复把目录页重新拼出来镜像做好的当晚我开始用 TestDisk。它的界面是文本风格的没有花哨的图形但每一步都有清晰的提示新手跟着走完全没问题。核心流程就五步选择设备列出所有磁盘选中 SD 卡或它的镜像文件选择分区表类型普通 PC 基本选 IntelMBR也有 GPT、Mac、Sun 等选项选择 Analyse分析让 TestDisk 扫描磁盘上残留的分区信息执行 Quick Search快速搜索快速定位候选分区找到后可以浏览里面的文件目录来确认选择 Write写入把找到的正确分区表写回磁盘我当时的操作命令很简单sudo testdisk /dev/sdb十几分钟后Quick Search 找到了两个分区其中一个正是照片所在的分区浏览目录时看到了熟悉的照片文件夹。选择写入、重启读卡器——分区回来了。这个过程背后是 TestDisk 的看家本事它不依赖操作系统而是直接读取磁盘上的原始结构在分区表被破坏甚至被覆盖后通过扫描引导扇区、文件系统超级块等残留信息重建出分区表候选列表再由你确认哪个是正确的。值得多说一句TestDisk 不只是修分区表。它还支持修复引导扇区、重建 FAT/NTFS 的引导记录、把丢失的引导程序写回系统盘。常见的开机显示 Missing operating system这类启动问题很多时候就是它修好的。它支持 FAT、NTFS、ext2/3/4、HFS、JFS、XFS 等 20 多种文件系统覆盖面相当广。第20小时PhotoRec 文件恢复逐扇区找指纹分区回来了但事情没完。打开照片文件夹发现最近一次旅行拍的照片缺了将近三分之一——那部分文件正好落在被覆盖过的区域目录项损坏了系统认不出来。这就轮到第二个工具上场。PhotoRec 文件恢复的思路和 TestDisk 完全不同它完全无视文件系统直接对磁盘或镜像做逐扇区扫描靠文件签名每种格式开头固定的字节序列来识别和切割文件。这种技术叫 file carving文件雕刻即使整个分区表都丢了它照样能干活。sudo photorec /dev/sdb1运行后依次选择要扫描的分区、文件类型默认全选、以及恢复文件的保存目录——记住保存位置必须和源盘不是同一个物理设备。常见文件签名长这样这就是 PhotoRec 的识别指纹文件类型十六进制签名说明JPEG 图片FF D8 FF每张 JPEG 的开头标志PNG 图片89 50 4E 47PNG 的标准文件头PDF 文档25 50 44 46即 ASCII 的%PDFZIP 压缩包50 4B 03 04ZIP 家族通用文件头扫描持续了大概三个小时。结束后恢复目录里按扩展名分好了文件夹jpg/、raw/、mov/各归其位。那次运气不错找回的 200 多张照片里绝大多数能正常打开。整个项目支持480 多种文件扩展名、约 300 个文件家族从 JPEG、PNG 到 Office 文档、邮件、数据库文件都有覆盖。如果你更习惯图形界面套件里还带了 QPhotoRec基于 Qt 的版本同样的功能点鼠标就能操作。收尾校验结果以及不完美的真相恢复不等于验收。PhotoRec 找回的文件文件名是随机重编的因为原始文件名信息可能已不存在而且某些文件因为头部或尾部被覆盖会打不开。我的做法是把能打开的挑出来按内容重新命名归档打不开的单独放一个目录防止混进正常文件里造成混乱。也请对成功率有合理预期。以下情况恢复希望渺茫数据已被覆盖新文件写在了老数据的位置上神仙难救SSD 执行过 TRIM固态硬盘会主动清空被删数据所在的块签名也没得扫存在物理坏道扇区读不出来恢复工具也无能为力反复格式化每次格式化都是一次新写入所以尽快行动永远是第一原则。另外优先在镜像上操作既是保护现场也是给自己留退路——这也是前面强调 dd 镜像的原因。事故复盘五条写成清单的教训这次 48 小时的经验最终沉淀成五条每一条都对应着一次真实的踩坑备份要主动别等事故教育你。恢复是补救备份才是成本最低的方案发现问题后立刻停止写入这是性价比最高的抢救动作先镜像、后操作所有扫描和修复都在副本上进行别用不同软件反复扫描同一块盘每扫一遍都是风险先想清楚再用哪个恢复文件保存到另一块物理磁盘写回原盘等于二次伤害新手常见疑问速答TestDisk 和 PhotoRec 会往被恢复的盘里写东西吗不会。扫描和读取都是只读操作只有你在 TestDisk 里明确选择 Write 时才会写回分区表PhotoRec 则完全不写源盘。两个工具必须一起用吗不一定。分区丢了、盘不识别优先 TestDisk只是误删文件、文件系统还正常直接 PhotoRec 就行。两者互补但可以按需取用。免费开源意味着不安全吗恰恰相反GPL 协议下源码完全公开恢复逻辑可以被任何人审计。这也是它在取证行业被长期使用的原因之一。为什么有的文件恢复了却打不开文件签名找到了开头但中间或结尾被覆盖、或存得零散就会得到残缺文件。这类文件单独存放别删等以后有更好的镜像再试。资源与延伸阅读如果你想把工具装到自己电脑上最直接的方式是从源码编译。克隆项目并完成构建git clone https://gitcode.com/gh_mirrors/te/testdisk cd testdisk ./autogen.sh ./configure make sudo make install依赖方面核心是需要 libncurses文本界面其余如 jpeg、ewf、Qt 库都是可选的增强项详细说明写在项目根目录的INSTALL文件里。想深入了解实现可以看src/目录testdisk.c和photorec.c是两个主程序入口filegen.c是文件签名识别框架剩下三百多个file_*.c文件分别对应一种格式的识别逻辑很值得翻一翻。最后说回这次事故的结尾照片找回来了但我也明白了一件事——TestDisk 与 PhotoRec 是可靠的后备方案却永远不该替代备份本身。如果你正握着那块坏掉的存储设备别慌先停止写入按这篇文章的顺序从镜像做起如果一切顺利你会在恢复完成的那一刻感激自己没有在最慌乱的时候按下格式化按钮。【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Depressurizer 游戏库自动分类实战指南:一次配置,让数百款 Steam 游戏各归其位

Depressurizer 游戏库自动分类实战指南:一次配置,让数百款 Steam 游戏各归其位

Depressurizer 游戏库自动分类实战指南:一次配置,让数百款 Steam 游戏各归其位 【免费下载链接】Depressurizer A Steam library categorizing tool. 项目地址: https://gitcode.com/gh_mirrors/de/Depressurizer 周末晚上想找一款"短流程的…

2026/10/5 13:07:33 阅读更多 →
BilibiliDown完整使用指南:3步上手B站视频免费下载与批量下载

BilibiliDown完整使用指南:3步上手B站视频免费下载与批量下载

BilibiliDown完整使用指南:3步上手B站视频免费下载与批量下载 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mi…

2026/10/5 21:19:24 阅读更多 →
Win11Debloat实测:一个脚本把Windows 11的预装应用、遥测和广告一次清干净

Win11Debloat实测:一个脚本把Windows 11的预装应用、遥测和广告一次清干净

Win11Debloat实测:一个脚本把Windows 11的预装应用、遥测和广告一次清干净 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes …

2026/10/13 17:13:00 阅读更多 →

最新新闻

Cursor额度重置教程:设备指纹清理实现合规续杯

Cursor额度重置教程:设备指纹清理实现合规续杯

简介:本资源是面向软件开发者的 Cursor 编辑器 11 月续杯实战源码包,聚焦解决免费用户模型调用受限、账号续期繁琐等实际痛点,适用于中初级开发者快速提升 AI 编程效率。压缩包共 3 个文件,含 .inscode(Cursor 插件配置…

2026/10/13 19:38:20 阅读更多 →
用Claude Code摸清老项目技术栈:三轮提示词框架与实战记录

用Claude Code摸清老项目技术栈:三轮提示词框架与实战记录

“只管去写”系列到了第二天。今天的任务很明确:用Claude分析一个老项目的技术栈。这件事听起来远没有写一个新功能那么有成就感,但只要你接过大半年之前自己写的代码、接过离职同事留下的半成品项目、或者刚入职需要快速搞清一套业务系统的底细&#xf…

2026/10/13 19:38:20 阅读更多 →
开源协作的隐形基石:高效代码评审实践指南

开源协作的隐形基石:高效代码评审实践指南

做开源项目这几年,我越来越确信一件事:代码评审(code review)是整个协作链条里最被低估的一环。很多人觉得代码写完、测试跑通、合并进去就完事了,可真正把一个项目推过几个版本之后才发现,评审才是让代码质…

2026/10/13 19:38:20 阅读更多 →
Python pickle序列化实战:从协议版本到安全红线全解析

Python pickle序列化实战:从协议版本到安全红线全解析

如果你写过 Python,一定遇到过这类需求:程序跑完把内存里的字典、列表或者某个自定义类实例保存到磁盘,下次启动再原封不动读回来。Python 为此内置了一个序列化模块叫 pickle,标题说得很直白——Pickle 是 Python 内置的序列化模…

2026/10/13 19:38:20 阅读更多 →
AnyPS5:不越狱的PS5增强方案与边界协同架构

AnyPS5:不越狱的PS5增强方案与边界协同架构

项目标题:“AnyPS5”这个名称本身带有强烈的指向性与模糊性并存的特征——它既像一个技术代号,又像一句口号;既暗示兼容性、泛用性(“Any”),又锚定在特定硬件生态(“PS5”)。但问题…

2026/10/13 19:38:20 阅读更多 →
互联网大厂薪酬结构全解析:总包、级别、绩效与谈薪技巧

互联网大厂薪酬结构全解析:总包、级别、绩效与谈薪技巧

1. 先说结论:今年这个薪酬盘子到底什么情况每年这个节点,总有人拿着某头部互联网平台的薪酬截图或者 Offer 在各个群里问“这个数正常吗”。说实话,我在这一行摸爬滚打了十几年,带过团队、做过招聘、也背过绩效,今年这…

2026/10/13 19:37:19 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →