
免费数据恢复完整指南误删文件怎么找回来分区修复手把手教你用 TestDisk 和 PhotoRec【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk前晚你整理硬盘手一抖把整个文件夹拖进了回收站清空确认。今晚备份时发现照片全没了。或者更糟插上移动硬盘系统直接弹出磁盘未初始化是否格式化——点错一下三年数据全毁。这两种情况都是 TestDisk 和 PhotoRec 的主场。前者专修磁盘的分区表和引导记录后者专从扇区里按文件签名把内容捞出来。两个工具全部免费开源下面按真实事故流程带你走一遍。先保现场救数据的第一步不是救数据别急着装工具。做三件事顺序不能乱立刻停止对该盘的一切写入。能拔掉就拔能卸载就卸载。误删后数据大多还躺在磁盘上只是索引被抹了你一保存新文件覆盖就从这一刻开始。这一步做错原始数据就真的没了。确认设备名。用lsblk或fdisk -l看清楚你要操作的是/dev/sdb还是/dev/sdb1是整盘还是分区。选错设备后果比误删还严重。判断盘是否健康。运行smartctl -a /dev/sdb看 SMART 信息。有坏道、读取卡顿的盘先别动它走后面镜像流程。机械盘数据只是索引没了的假设建立在盘体完好之上。选对工具修容器还是捞内容一个比喻帮你分清楚。磁盘是个集装箱分区表是集装箱外墙上贴的货单文件内容是箱子里的货物。TestDisk 修的是货单。它扫描整块盘识别 MBRIntel、GPT、BSD、Apple、Solaris 等分区表格式把丢失、错位的分区重新定位出来再写回一份正确的分区表。分区消失、未初始化、装双系统后开不了机都是它的活。PhotoRec 捞的是货物。它根本不管文件系统直接一扇区一扇区地读靠文件头签名file carving认出这块数据是个 JPEG。好处是分区彻底没了也能干活代价是文件名和目录结构没了恢复出来只能靠内容辨认。组合打法先 TestDisk 把分区修好能直接访问的数据原样回来修不回来的部分再上 PhotoRec 做文件级打捞。装好工具一条命令或四步编译大多数发行版直接装现成的# Ubuntu / Debian sudo apt-get install testdisk # Arch Linux sudo pacman -S testdisk # macOS brew install testdisk装完testdisk和photorec两个命令都在。想要最新版本就自己编译git clone https://gitcode.com/gh_mirrors/te/testdisk cd testdisk ./autogen.sh ./configure make sudo make install一次完整恢复走查误格式化的 U 盘假设/dev/sdb1是个被误格式化的 U 盘分区里面是工作文档。第一步TestDisk 尝试把分区找回来sudo testdisk /dev/sdb界面里的按键顺序跟着走[Create]—— 生成 testdisk.log 日志排查问题全靠它分区表类型 —— 绝大多数选Intel苹果设备或较新的磁盘选GPT[Analyze]进入分析再选Quick Search快速搜索扫描结果里找到丢失的分区按P标记为 Primary确认起始/结束位置和你记忆里的分区大小对得上按[Write]把新分区表写回磁盘重启拔 U 盘再插。这一步成功目录结构和文件名原封不动收工。分区表彻底找不回来的情况进入第二步。第二步PhotoRec 按签名捞文件sudo photorec /log /d /data/recovery /dev/sdb1/d后面是恢复文件存放目录/log让全程留痕。进交互界面后选中分区 → 文件系统类型拿不准就选Other→ 确认保存位置 → 按Search开扫 → 跑完进度按 Enter。中途想停CtrlC。恢复结果会按类型丢进recup_dir.d这类子目录JPEG 进 jpeg 目录文档进 oth 目录文件名全是 f001234.jpg 这种编号——所以恢复后得花点时间按内容和修改时间重新归档。参数速查与提速排错参数工具干什么/logTestDisk / PhotoRec生成日志文件出问题必开/logname 文件名两者自定义日志文件名/debug两者输出调试信息报 bug 时附上/d 目录PhotoRec指定恢复文件保存目录/all两者跳过交互按默认值自动跑/listTestDisk列出系统识别到的所有磁盘/cmd两者命令行模式适合写脚本三个实用建议缩小扫描范围。交互界面里可以只扫某个分区或指定磁盘区域整盘扫慢是常态范围越准越快。报问题前留好证据。带上/log /debug跑一遍完整流程日志直接交给维护者比描述快十倍。⚠️ 坏道盘先镜像再操作。ddrescue /dev/sda /data/sda.img /data/sda.log会跳过读不动的坏块并记录进度中断后能接着跑。之后所有恢复对着.img做原盘不再承受任何读压力。唯一会要命的错误把恢复目录放在被恢复的盘上。扫描过程要大量写入结果一旦目标落在同一块物理盘正在恢复的数据被当场覆盖。动手前df -h确认目标目录在另一块盘上这一步没有补救措施。为什么有时就是救不回来讲几个残酷的真相免得你白忙。SSD 是重灾区。机械盘删除文件只是划掉目录条目数据还躺在扇区里慢慢等被覆盖。SSD 的 TRIM 机制完全不同——删除后主控会在很短的时间内把对应物理块直接清零这不是还没被覆盖而是被硬件抹掉了。所以 SSD 误删后黄金窗口只有几分钟发现得晚基本只能靠备份。覆盖写没有回头路。机械盘上只要新文件没写到那个位置签名还在就能捞。但恢复工具分不清这是老数据还是这是新数据如果你误删后继续往盘里存东西覆盖从写入那一刻起就不可逆了。这也是为什么前面反复强调先停写。碎片化文件会缺胳膊少腿。大文件在磁盘上是分散存放的签名扫描找到文件头后按顺序往后读遇到碎片断点就切了。所以恢复出的大文件可能只有前半段——恢复后务必先抽查关键文件能不能正常打开再整体归档。收尾核对清单恢复结束逐项过一遍恢复目录确认在另一块物理盘df -h复核过运行全程带/log日志已妥善保存抽查关键文件图片能打开、压缩包能解开、文档能读完SSD 误删场景下盘上已停止一切写入坏道盘是先在 ddrescue 镜像上操作的原盘恢复文件已按内容重新归档不再是 f000001.jpg 的编号状态最后一条建议值得刻进习惯定期备份每季度用testdisk /list之类的工具把分区表导出留档一份。再强的恢复工具排序也永远在备份后面。对想动手改代码的人src/partgpt.c、src/parti386.c 等 part*.c 是各分区表格式的解析模块src/file_xxx.c 每个文件对应一种文件类型签名统一识别引擎在 src/filegen.c文档在 doc/ 和 INSTALL 里有兴趣可以顺着看。【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考