TestDisk与PhotoRec完整指南免费开源数据恢复工具如何救回你的磁盘与照片【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk凌晨一点老陈看着屏幕上那句刺眼的磁盘结构损坏且无法读取整个人都清醒了。那块 2TB 的移动硬盘里装着他五年来的全部照片和设计稿而 Windows 正在一遍遍弹窗问他要不要格式化。他几乎要按下那个按钮——幸好他先给我打了电话。我让他做的第一件事是拔掉硬盘什么都别碰。这不是虚构情节。数据丢失就是这样往往没有任何预兆而大多数人第一次面对时都会在恐慌中做出最糟糕的操作。今天我要介绍的 TestDisk 与 PhotoRec就是那套让老陈最终拿回全部照片的开源组合一个负责修复分区表也就是找回磁盘的目录一个负责从原始数据里直接捞文件相当于掀开地板捡东西。两兄弟加起来支持超过 480 种文件格式跨 Windows、Linux、macOS 等系统免费使用维护历史超过 20 年。为什么放着各种昂贵的商业恢复软件不用偏要推荐这套免费工具因为它的底层能力一点不逊色而且不依赖网络、不把数据传给别人完全在你自己的机器上跑。三分钟快速上手从解压到跑通第一次恢复好消息是你不需要安装任何东西。Windows 用户下载后解压直接双击testdisk_win.exe或photorec_win.exe就能运行官方也提供带图形界面的 QPhotoRec入口是qphotorec_win.exe。Linux 用户更简单一条命令sudo apt-get install testdisk这段命令做的事从软件源安装 TestDisk 和 PhotoRec 两个程序装完直接可用。然后你就可以跑第一个案例了。假设你的移动硬盘是/dev/sdb分区突然消失按下面 5 步走打开终端输入sudo testdisk /dev/sdb一路回车选择默认的日志与磁盘参数选择分区表类型一般直接回车用 Intel 即 MBR选[Analyse]进入分析再选[Quick Search]快速扫描看到绿色的P标记也就是找到了可恢复的分区后选[Write]把分区表写回磁盘。整个过程大约 3 分钟。绝大多数分区凭空消失的案例到这里就解决了。功能解剖一TestDisk给磁盘拍 X 光的目录修复师你可以把分区表想成一本小说开头的目录页文件数据都在正文里好好躺着目录页被撕了整本书看起来就废了。TestDisk 干的事就是根据正文内容反推目录页长什么样再把它补回去。它认得几乎所有主流的文件系统Windows 的 FAT12/16/32、NTFS、exFATLinux 的 ext2/ext3/ext4、btrfs、XFS、JFS还有 HFS、UFS、ZFS、ReiserFS、LVM、Linux RAID 等等。这意味着无论是装 Windows 的电脑还是跑 Linux 的服务器甚至老式 BeOS 的磁盘它都能尝试分析。如果快速扫描没找到还可以进入[Deeper Search]深度扫描逐扇区翻找被隐藏或损坏的分区结构。很多人会踩的坑是扫到一半发现结果不对就放弃。其实扫描完成后每个候选分区都会标注恢复概率你完全可以把几个候选分区都列出来逐一对比用方向键切换、按P预览文件列表确认哪个才是真的。功能解剖二PhotoRec不读目录直接翻地板的文件猎手如果说 TestDisk 是修复目录那 PhotoRec 的思路就更野它干脆不看目录直接扫描磁盘上的每一个扇区靠文件头签名可以理解为每个文件格式自带的一张身份证来识别文件。格式包括 JPEG、PNG、Office 文档、压缩包、视频、邮件数据库……数下来有 480 多种扩展名涵盖约 300 个文件家族。所以哪怕是分区表彻底报废、甚至整个分区被格式化过的磁盘只要数据没被覆盖PhotoRec 都能从原始字节里把文件一个个抠出来。它的命令行用法也很直白photorec /d /home/me/recovery /dev/sdb1这段命令在做什么把/dev/sdb1分区里能识别出的文件全部恢复并保存到/home/me/recovery目录。/d后面的路径就是恢复文件的存放位置。如果你不习惯终端QPhotoRec 提供了完整的图形界面选磁盘、选分区、勾选要恢复的文件类型、点开始剩下的交给它。恢复出来的文件会按recup_dir.1、recup_dir.2这样的编号文件夹存放文件名是自动生成的但内容完整。这也是它铁憨憨的一面——它不关心文件名和目录结构只保证把字节原样还给你。功能解剖三先做镜像再动手给数据上保险这是我想重点叮嘱的一条习惯也是专业恢复流程里最容易被新手跳过的一步。在原始磁盘上反复扫描、尝试修复本身就有风险——万一某次操作写坏了关键扇区就真的回不来了。所以专业做法是先把整块盘复印一份然后在复印件上操作。dd if/dev/sdb ofdisk.img bs4M convnoerror,sync这段命令在做什么把/dev/sdb整块盘逐字节复制到disk.img镜像文件里convnoerror,sync保证遇到坏道也继续往后读不中断。镜像做完后你完全可以把原盘收起来对disk.img放心大胆地跑 TestDisk 或 PhotoRec。顺便一提TestDisk 和 PhotoRec 还支持直接读取 EWF 格式也就是法证工具 EnCase 生成的镜像testdisk disk.E01就能直接上手这给取证场景省了不少事。功能解剖四隐藏的小工具与日志体系这套工具包里还有几样容易被忽略的东西。fidentify可以单独用来识别某个文件是什么格式适合鉴定来源不明的文件/log参数会生成一份完整的操作日志方便你事后复盘或者发给社区求助PhotoRec 还支持 JSON 格式的日志/logjson方便程序化处理。我建议你把开日志养成习惯testdisk /log /dev/sdb。真的出问题时这份日志是技术人员判断情况的病历本比口头描述靠谱一万倍。新手常踩的 7 个坑逐个帮你排掉分区还在却直接格式化系统提示未格式化不代表数据没了先别格式化格式化是写入操作会覆盖原有数据。恢复文件存回原盘千万别恢复出来的文件要保存到另一块盘上否则一边恢复一边覆盖等于白干。在故障盘上装恢复软件安装过程本身也在写盘。正确做法是把软件装在健康磁盘或 U 盘上。把 PhotoRec 当 TestDisk 用记住分工——分区表丢了找 TestDisk文件被删/被格式化找 PhotoRec。用错工具只会多走弯路。中断扫描深度扫描可能要跑几小时耐心等完中途 CtrlC 往往前功尽弃。跳过日志参数没有日志出问题无法排查也没法向社区求助。对严重损坏的物理硬盘反复上电硬盘有异响、SMART 报错时优先做镜像反复挂载只会加剧坏道。想求助或参与社区和源码都为你敞开这套工具由 CGSecurity 团队维护官方 Wiki 上有非常详尽的图文教程和针对各文件系统的专项文档。项目代码托管在 GitCode 上仓库地址是https://gitcode.com/gh_mirrors/te/testdisk感兴趣的话可以 clone 下来研究。如果你恰好懂一点 C 语言会很容易被它优雅的模块化设计吸引磁盘访问抽象层在src/diskacc.c负责屏蔽不同操作系统的差异文件识别引擎在src/filegen.c管理着那 480 多种格式的识别模块PhotoRec 的恢复主循环在src/photorec.c。想自己加一种文件格式支持照抄一个file_xxx.c里已有的header_check函数改改签名就行——这正是它这么多年格式越攒越多的原因。想从源码编译仓库里的 INSTALL 文件写得很清楚Linux 下装好 ncurses、zlib 等依赖后依次执行./configure和make即可Windows 可以用 MinGW-w64 或 Cygwin 交叉编译。你还可以帮助翻译界面——src/lang/目录下躺着几十种语言的 Qt 翻译文件中文、法文、日文都有。最后的画面回到凌晨的那个客厅。老陈按照我说的步骤先用dd做了镜像然后 TestDisk 找回分区表PhotoRec 又从已删除的角落里捞回了两年前在青海拍的一整卷星空。他在电话里愣了几秒说了一句原来这玩意儿不要钱还这么好使。数据这东西平时它安静得像不存在一旦丢了你才意识到它是生活的底片。好在底片还在磁盘上只是目录被撕了。TestDisk 与 PhotoRec 就是那支免费的胶水——它们已经替无数人粘回过目录、捞回过照片下一个可能就是你的。现在去把那块积灰的旧硬盘接上看看它里面还藏着什么吧。【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考