首页 / 资讯中心 / 文章详情

格式化后数据恢复:PhotoRec签名雕刻原理与实操避坑

格式化后数据恢复:PhotoRec签名雕刻原理与实操避坑 ★ FEATURED ARTICLE
格式化的确认框弹出来那一秒手指比脑子快直接点了确定。盘符一空桌面上那批还没同步的素材、写了一半的文档、几个月攒下来的照片全在里面。绝大多数人这时候的第一反应是找数据恢复软件装一个试用版扫一遍发现能扫出来然后被要求付费解锁导出。PhotoRec 就是在这类场景里被反复提起的东西。它是个开源的、命令行和字符界面为主的数据恢复工具属于 TestDisk 套件的一部分最早由一位法国开发者维护跨平台能在常见桌面系统和各类启动介质上跑。它最擅长的场景恰恰是格式化之后、分区表被破坏之后、盘打不开之后——也就是文件系统已经指望不上的时候直接从原始扇区里把文件内容抠出来。它的技术路线叫文件签名雕刻file carving本质上不看目录、不看文件名只看字节流里有没有它认识的文件头。这篇文章面向的是真正手里有块出问题的盘、想自己动手把它捞回来的读者我会把原理、实操、参数取舍和踩坑都摊开讲不藏私。1. 格式化之后盘上的数据到底还在不在1.1 格式化真正做的事只拆了目录卡片没烧掉书架上的书先把一件事说透不然所有恢复操作都是盲目的。不管是哪种常见的文件系统格式化这个动作绝大多数情况下只做两件事重写一小片管理区域的元数据然后把这部分空间标记成空闲可写。它不负责把整盘字节清零。用图书馆打个比方。文件系统里的目录项、索引表、分配位图相当于图书馆的检索卡片柜真正的文件内容是书架上那一本本书。格式化相当于把卡片柜整个抽走换上一套新的空白卡片然后宣布书架从现在起随便放。书还在架子上只是你没法通过卡片找到它们了。具体的实现差异值得记一下因为它直接影响恢复难度FAT 系列格式化会重写引导扇区、清空 FAT 表和根目录区。数据区一个字节都不动。NTFS快速格式化会新建一份空的 MFT主文件表重写引导扇区数据簇内容原样保留。ext2/3/4mkfs会重写超级块、块位图、inode 位图并在部分区域写零但绝大多数数据块不动。exFAT / HFS / APFS 一类思路大同小异元数据重置数据区保留。这就解释了为什么格式化之后立刻用 PhotoRec 扫描往往能捞回相当比例的原始文件——那些文件的字节还老老实实躺在那儿只是失去了索引。1.2 覆盖才是不可逆的删除TRIM 让固态盘变得很难救真正让数据消失的从来不是删除或格式化是覆盖写入。同一块物理位置被新数据写了一遍旧内容就没了这是物理层面的事实任何软件都救不回来。机械硬盘上覆盖是随机的、渐进的。你删掉 100G 素材只要不再往盘里写东西这些块就一直是原样。所以传统机械盘误格式化之后恢复成功率往往能到很高——前提是你立刻停止写入。固态硬盘完全是另一套逻辑。固态盘的主控会做垃圾回收操作系统还会下发TRIM指令告诉盘这些块我不要了你可以提前擦除。格式化或删除操作一触发TRIM 很可能在几分钟内就把这些块擦干净了——不是为了害你是为了让后续写入更快。结果就是固态盘格式化之后PhotoRec 扫出来的东西可能少得可怜甚至一个都没有。这不是软件不行是物理上已经没东西可扫了。我在实操里见过太多次一块 NVMe 盘误删了几十 G 素材第二天才想起来恢复扫完只有零星几个小文件。而同等情况下的机械移动硬盘能捞回八成以上。注意如果你的盘是固态的且误操作发生在几小时之内第一件事是立刻断开这块盘的数据连接关机拔盘别让它继续通电执行垃圾回收。虽然希望不大但这是唯一能争取时间的手段。1.3 黄金一小时发现误操作之后先停手再谈工具我把它总结成三句话顺序不能乱停写。立刻停止往这块盘写入任何东西。不要先装个恢复软件试试因为装软件本身可能就装在这块盘上。断电。机械盘如果伴随异响咔哒咔哒、反复起转立刻断电别再通电尝试这类问题只有专业开盘设备能处理。转移。把盘接到另一台机器上或者用只读转接线、USB 硬盘盒接出来让源盘在整个过程中只读。顺序搞反了后面所有努力都是在跟自己的手速赛跑。我见过有人在源盘上装恢复软件、把输出目录设到源盘、恢复出来的文件又存回源盘——每一步都在覆盖还没被救出来的数据最后能救的比例被自己削掉了一半。2. PhotoRec 凭什么能捞回没有目录的文件2.1 绕过文件系统把整块盘当成一条连续字节流PhotoRec 最核心的设计决策就一句话它不相信文件系统。常规的恢复软件走的是解析文件系统元数据路线——读 MFT、读 inode、读目录项找出那些标记为已删除但簇未释放的记录然后按记录里的簇链把内容拼回来。这条路的好处是能保住文件名、目录结构、时间戳坏处是一旦元数据被格式化冲掉或者分区表坏了它就直接失明。PhotoRec 走的是另一条路把选定的设备或分区当作一条从头到尾的字节流一个扇区一个扇区地往后扫在每个位置上问一句这里像不像某个文件的开始。像就按那个格式的规则往后推把内容切出来存成文件不像就往后挪一点继续问。这个差别带来两个直接后果用户必须提前接受文件名和目录结构必然丢失。因为这些东西只存在于元数据里而元数据已经被冲掉了。恢复出来的文件会被重命名成一串编号。恢复能力不依赖分区表是否完好。哪怕整块盘的分区表被彻底写坏、系统认不出来PhotoRec 照样能扫——你可以直接对物理磁盘做全盘扫描。这就是它在格式化分区丢失相机卡报错要求格式化这类场景里特别好用的原因。2.2 签名表 photorec.sig几百种文件头的指纹库PhotoRec 靠一张签名表来识别文件类型。这张表就是它目录下的photorec.sig文件纯文本一行行写着这个格式的文件开头长什么样。比如说某种图片格式的开头是固定的几个字节魔数某种视频容器在偏移 4 的位置有特定的标识串某种压缩包开头是固定的两字节。签名表里就是这类规则的集合覆盖面相当广——图片、视频、音频、文档、压缩包、数据库、邮件、甚至一些专业软件的工程文件加起来几百种。这意味着一个很实用的推论这张表是可以改的。如果你要恢复的是某个小众格式官方签名表里没有你可以自己往里加规则反过来如果你明确知道只需要恢复某几种文件也可以在界面上把不需要的类型全部取消勾选扫描速度会快一大截。后面第 6 节会细讲这个。2.3 结束位置怎么判断三种手段混着用找到文件头只是第一步更难的是判断这个文件到哪儿结束。PhotoRec 大致用三种手段第一文件头里自带长度字段。很多格式在头部就写明了整个文件的字节数比如某些图片格式、某些容器格式。这种情况最好办读到长度字段直接截取。第二尾部有固定结束标记。比如某些图片格式结尾有固定的结束串某些文档格式有结束标签。从头往后找这个标记找到就收工。第三靠下一个文件头或扇区边界来兜底。如果既没有长度字段也没有结束标记那就只能一边往后扫一边等下一个签名出现把两个签名之间的内容当成一个文件或者按预设的最大尺寸截断。这种方式最不靠谱也是后面文件损坏问题的主要来源。理解这三点很重要因为它解释了一个很多人困惑的现象为什么恢复出来的照片有的完好、有的只恢复了一半。完好的那些多半属于第一、二类半截的那些多半是靠第三种方式硬猜出来的。2.4 碎片化是雕刻式恢复的硬天花板雕刻式恢复最大的敌人是文件碎片。一块盘反复读写之后一个大文件很可能被拆成十几段散落在盘的不同位置。文件系统靠簇链把这些片段串起来但簇链在元数据里元数据已经被格式化冲掉了。PhotoRec 从文件头开始顺着往后读读到第一段结束就撞上了别人的数据只能在那儿截断。所以有个粗略的规律小文件、连续存放的文件恢复率高大文件、反复修改过的文件恢复率低。相机卡刚拍完就误删的那种因为写入是顺序的碎片很少恢复效果通常很好而一块用了好几年、天天读写的系统盘碎片化严重扫描出来的大文件大概率是坏的。这也是为什么我一直说数据恢复的成功率在误操作发生之前就已经决定了一大半。3. 正式开跑之前这几步比恢复本身更重要3.1 先做镜像再谈恢复如果这块盘有任何物理问题的迹象——异响、掉盘、读取速度骤降、SMART 报错——不要直接用 PhotoRec 扫。PhotoRec 的扫描是持续高强度的顺序读对一块快不行的盘来说等于让它加班到猝死。正确做法是先用镜像工具把整盘克隆成一个镜像文件然后对着镜像文件做恢复。命令行环境下常用的是 ddrescue 这一类工具它支持断点续传、支持跳过坏道、支持反复重试比裸dd强太多。一个典型的两步操作长这样# 第一步把有问题的源盘做成镜像带日志便于中断后继续 ddrescue -d -r3 /dev/sdb /data/disk.img /data/disk.log # 第二步对镜像文件做恢复PhotoRec 支持直接选镜像文件 photorec /data/disk.img-d表示直接访问设备绕过缓存-r3表示坏道区域重试 3 次。日志文件的作用是记录进度中途断了重跑同一条命令它会从上次停下的地方继续。对着一份完好的镜像做恢复还有个额外好处你可以反复扫、换不同参数扫、扫坏了重来源盘一次都不用再碰。3.2 输出盘怎么挑容量、文件系统、路径三个坑PhotoRec 要求你指定一个输出目录而且这个目录绝对不能在被恢复的那块盘上。这一条是铁律违反的后果是边恢复边覆盖越扫越少。选输出盘时有三个细节值得注意容量要留足。雕刻式恢复出来的垃圾文件比例不低实际占用往往是原始数据量的 1.2 到 2 倍。一块 500G 的盘最好准备 1T 的空间。空间不够时PhotoRec 会在写满之后停下来报错前面的成果还在但后面的就没了。文件系统要选对。输出目录所在分区如果是 FAT32单个文件不能超过 4G恢复大视频会直接失败。用 exFAT 或 NTFS 更稳妥。另外从 Linux 环境往 NTFS 分区写注意挂载参数某些情况下大小写和权限会出问题。路径别用中文和空格。这不是迷信。PhotoRec 的字符界面在部分终端环境下对非 ASCII 路径处理得不好输出目录名带中文可能导致它反复提示目录不可写。老老实实用/mnt/recovery_out这种纯英文短路径省掉一堆麻烦。3.3 把源盘变成只读在 Linux 下最省事的办法是用块设备只读挂载或者干脆不挂载——PhotoRec 直接操作/dev/sdX这样的设备节点不需要文件系统被挂载。如果盘插上之后桌面环境自动挂载了先umount掉再跑。某些系统在检测到未知分区时会自动触发 fsck 或者索引服务这些后台动作都会往盘里写东西。跑恢复之前检查一下有没有这类服务在活动或者干脆用一台干净的启动环境来做这件事。4. 一次完整的 PhotoRec 恢复流程拆解4.1 选盘从物理盘到分区这一层不能选错启动 PhotoRec 之后第一屏列出的是所有能被识别到的存储设备包括物理磁盘和它们上面的分区。选哪一层直接决定扫描范围。如果分区表是好的、只是分区内部被格式化了选那个具体分区就行。范围小速度快。如果分区表坏了、分区认不出来选整块物理磁盘让它从头扫到尾。如果是镜像文件PhotoRec 也支持直接把镜像文件当作设备传入。选错这一层的典型后果是明明只格式化了 D 盘却对整块盘做了全盘扫描时间从 2 小时变成 12 小时还把系统盘里那一大堆无关的缓存文件全捞出来了。4.2 文件系统类型这一屏选的到底是什么很多人到这一步会卡住因为选项看起来跟恢复什么文件毫无关系。实际上它问的是这个分区的块大小是多少。PhotoRec 内部需要按块对齐来推算某些格式的边界而它没法可靠地自动判断块大小所以让你手动指定。规则大致是你的分区原来是该选哪一项说明ext2 / ext3 / ext4对应 ext 系列选错会影响部分文件的边界判断FAT / exFAT / NTFSFAT/NTFS/exFAT这几种都走同一套逻辑其他HFS、APFS、UFS、未知Other用通用块大小处理兼容性最好完全不确定Other稳妥代价是速度略慢如果你压根不知道原来是什么文件系统选Other基本不会出大错。我试过在同一个 exFAT 的相机卡上分别用两种选项跑恢复出来的文件数量差别在 5% 以内但耗时差了将近三成。4.3 三种扫描范围的取舍整盘、整分区、仅空闲空间再往后会问你扫哪儿三个选项Free space only仅空闲空间只扫文件系统标记为空闲的区域。速度最快适合刚删了几个文件、盘还很空的场景。但如果盘已经被格式化过空闲位图是全新的这个选项基本捞不到东西。Whole partition整个分区从分区开头扫到结尾不管是不是空闲。这是格式化场景的标准选择。Whole disk整个磁盘从物理扇区 0 开始扫到盘尾。分区表损坏、多分区全丢的时候用这个。选第三个之前先掂量一下时间成本。一块 4T 的机械盘全盘扫描视 CPU 和磁盘状态跑十几个小时是常事。4.4 输出目录与恢复文件保留目录结构指定输出目录之后还有个选项问要不要保留恢复文件的目录结构。因为 PhotoRec 本来就没有目录信息可保留这个选项在绝大多数情况下勾不勾都一样出来的都是平铺的recup_dir.N目录。除非你恢复的是某种自带层级信息的特殊格式否则不用管它。真正值得留意的是输出目录会被自动分桶。PhotoRec 每写满大约 500 个文件就会新建一个recup_dir.2、recup_dir.3往下排。这带来一个很好的副作用你可以按目录分批处理、分批查看不用面对一个塞了几十万个文件的巨型目录。4.5 文件类型勾选这一步决定你跑 2 小时还是 12 小时进入 FileOpts 界面你会看到一长串文件类型默认是全选的。全选意味着扫描程序在每个位置都要尝试匹配几百种签名速度自然慢。务实的做法是先想清楚你到底要什么。如果只是要照片和视频把文档、压缩包、数据库、邮件这些全取消掉速度能快两三倍而且结果目录干净得多不用在一堆无关的.db和.log里翻找。有个技巧我常用分两轮跑。第一轮只勾选最核心的几种类型快速出结果评估一下恢复情况如果发现关键文件没出来第二轮再放宽范围。这样比一上来就全选、等半天、最后发现没救效率高得多。4.6 跑起来之后怎么看进度、怎么中断按下开始之后界面上会滚动显示当前扫到的扇区位置和已恢复的文件数。判断进度有个简单办法把当前扇区号除以总扇区数。需要中断的时候别直接关窗口用界面上的停止选项。中断之后已恢复的文件都在只是没扫完的部分就没有了。速度方面给个参考健康的机械盘上PhotoRec 的扫描速度受磁盘顺序读能力限制通常在几十 MB/s 到一百多 MB/s固态盘会快但如前所述能扫出东西的概率低。真正拖慢速度的往往是 CPU 侧的签名匹配尤其是全选文件类型的时候。这种情况下多核机器会比老机器快很多PhotoRec 是支持多线程的。4.7 结果目录长什么样认清楚 recup_dir 和 f 编号跑完之后输出目录里是这样一副光景recup_dir.1/ f0001234.jpg f0001235.jpg f0001892.mp4 f0001903.pdf recup_dir.2/ ... report.xml文件名里那个f后面的一串数字是文件在磁盘上的大致物理位置编号不是原始文件名也没有任何语义。好消息是它是按物理位置递增的所以同一批连续拍摄的照片编号往往也是连续的——这个特性在后面整理时会非常好用。report.xml记录了每个恢复文件的来源偏移、大小、类型做批量后处理时可以用它来做筛选。5. 恢复出来的东西没法用四类典型结果与对应处理5.1 文件名全蒸发靠时间戳和 EXIF 重新组织这是最让人崩溃的一点但不是无解的。虽然文件名没了文件内部的元数据还在。照片里的 EXIF 通常带着拍摄时间、相机型号、甚至 GPS 信息文档里的属性带着创建和修改时间视频容器里有录制时间。用命令行工具批量读一遍就能把时间信息提取出来然后按日期重命名、按日期建目录。一个常用的思路是用 exiftool 一类工具做批处理# 把所有恢复出来的 jpg 按拍摄日期重命名并归档到年月目录 exiftool -r -d /out/%Y/%Y-%m-%d/%Y%m%d_%H%M%S%%-c.%%e \ -o . -if $DateTimeOriginal recup_dir.*/没有 EXIF 的文件会退回用文件系统的修改时间虽然不准因为恢复出来的文件修改时间就是恢复的那一刻但至少能用来分开批次。顺便说一句f编号的连续性在这里能帮上忙同一批连拍的照片编号连续稍微写个脚本按编号分组就能大致还原出这是哪一次拍摄。5.2 一堆打不开的假文件三分之一的垃圾是常态第一次跑完 PhotoRec 的人常被结果目录的文件数量惊到——怎么比原来盘里的东西还多真相是里面混了大量垃圾。垃圾的来源有几类误判。某个位置碰巧出现了和签名一致的两三个字节程序就当成了文件头往后截了一段。残片。文件只有前半段还在后半段被覆盖了截出来的东西打不开。重复。同一个文件被多次识别比如某些格式内部嵌套了另一种格式的头一份内容存了好几个副本。零字节文件。匹配到了头但尾部判断失败直接存了个空文件。处理办法很直接先按大小筛一遍把 0 字节和几百字节以下的先扔掉再按扩展名分堆用对应的工具做批量校验图片可以用identify或file检测完整性压缩包用unzip -t测试视频用 ffprobe 读一下时长。这一步能把体积压缩掉一半以上。5.3 视频能识别但播不动、时长不对视频文件是雕刻式恢复里最脆的一类因为它通常很大、必然碎片化、而且结束位置高度依赖文件尾部的索引信息。常见症状有三种能播开头播到一半卡死。碎片导致中间断了。时长显示为几秒实际内容很长。文件尾的索引块丢了播放器读不到时长。完全打不开。头部还在后续数据错位。针对前两种有个专门的修复思路找一个同型号设备录制的、完好无损的视频文件作为参照用修复工具把损坏文件的头部和参照文件的索引结构对齐重建索引。命令行环境下有一类专门做这件事的小工具思路都是拿参照文件的结构去补损坏文件缺失的部分。成功率取决于损坏程度中间的媒体数据如果完整修复后能正常播放中间数据断了就只能救出前半段。5.4 同一个文件出现十几份去重比想象中重要重复文件在恢复结果里非常普遍尤其在盘里存过多份副本、或者文件曾经被移动过的情况下。几十万个文件里可能有几万个重复项。去重不用装复杂工具按内容哈希做一遍就行# 按内容哈希找重复输出重复组 find recup_dir.*/ -type f -size 1k -print0 \ | xargs -0 md5sum \ | sort \ | awk prev$1 {print prevline; print} {prev$1; prevline$0}先按大小粗筛大小不同的肯定不是重复再对同大小的算哈希能省掉大量计算。6. 把速度和命中率往上拉参数与流程上的细节6.1 先算一笔时间账再决定怎么扫扫描时间大致可以这么估总容量 ÷ 实际扫描吞吐 × 系数。机械盘的实际吞吐按 80 MB/s 算比较保守再乘上 1.2 到 1.5 的系数因为签名匹配和写文件会拖慢。一块 2T 的盘全量扫2,000,000 MB ÷ 80 MB/s ≈ 25000 秒 ≈ 7 小时。如果只勾选图片和视频系数能从 1.5 降到 1.1时间能砍掉三分之一。这个估算的意义在于让你在开始之前就判断这个方案可行不可行。如果一块 4T 盘只剩 3 小时窗口那就别做全盘扫先缩小范围。6.2 缩小扫描范围能定位到扇区就别全盘扫PhotoRec 允许手工指定扫描的起止扇区。这在几种场景下特别有价值你知道数据大概在盘的哪个区域比如刚拍完的一段素材在盘尾。分区表坏了但你依稀记得原来的分区起始位置可以只扫那一段。想先做个快速抽样看看有没有希望扫前面 10% 就够了。启动参数里可以直接指定范围界面上也有对应入口。这个功能用的人不多但在大容量盘上是真的救时间。6.3 硬盘有异响时PhotoRec 不是第一选择这条前面提过值得再强调一次。机械盘发出规律性的咔哒声、或者读取时反复掉盘说明磁头或盘片已经有物理损伤。这时候每一次通电都是在扩大损伤面积。正确顺序是断电 → 找专业开盘环境处理 → 如果决定自己做先用镜像工具尽量把还能读的部分克隆出来 → 对着镜像做恢复。跳过镜像直接扫很可能扫到一半盘彻底罢工连原本能读的部分也读不出来了。6.4 别忘了同一套件里的另一条路按元数据撤销删除这是很多人忽略的一点。PhotoRec 所在的那个套件里还有一个专门走元数据路线的工具专门处理文件被删除但文件系统结构还完好的情况。它的优势非常明显能保住原始文件名和目录结构。所以流程上应该是这样的先确认文件系统结构是否完好如果完好优先走撤销删除那条路速度快、结果干净、名字都在只有元数据已经被冲掉格式化、分区损坏才轮到 PhotoRec 上场。我见过不少人上来就用 PhotoRec结果几十万张照片全是编号整理花的时间比恢复本身还长——而其实本来只要用另一条路五分钟就能把文件名完整地拿回来。7. 不同介质的脾气U 盘、相机卡、机械盘、固态盘7.1 U 盘与相机 SD 卡恢复条件最好的一类这类介质的共同特点是写入模式以顺序为主碎片极少容量不大扫描快。相机卡尤其典型——拍完照是按顺序写进去的删掉之后只要没继续拍恢复率能到九成以上。实操上有几个细节值得注意相机卡从相机里拔出来之后别再插回相机。有些相机会在插入时自动创建索引目录、写缩略图缓存这些都是覆盖。U 盘的控制器质量参差不齐某些廉价主控在删除文件时会顺手把对应块清零虽然少见但确实存在。遇到这种情况扫出来一片空白那就是真没救了。这类介质容量小全盘扫描一般几分钟到几十分钟就完事可以直接上全类型扫描不用精挑细选。7.2 机械硬盘时间换成功率别急机械盘是 PhotoRec 的主战场也是最能体现停写价值的地方。它的数据保留能力很强只要没被覆盖几个月前的文件内容都可能还在。代价是速度。一块 4T 机械盘全盘扫描动辄十几小时这期间最好不要在同一个物理盘上做其他高强度读写以免磁头来回寻道拖慢进度。还有个坑移动硬盘盒的控制芯片。某些廉价硬盘盒会把 4K 扇区转成 512 字节上报导致 PhotoRec 的边界判断出现偏移恢复出来的文件系统性损坏。如果怀疑是这种情况把盘从盒子里拆出来直接用 SATA 或转接线接到主板上再扫结果会好很多。7.3 固态硬盘与 NVMe物理上就没剩多少东西前面已经讲过 TRIM 和垃圾回收。这里补两个实操层面的观察一是时间窗口极短。固态盘上误删之后如果盘一直通着电几十分钟内数据就可能被擦干净。所以真出事的第一反应应该是断电不是找软件。二是部分企业级固态盘支持安全擦除以外的数据保留模式但那是给运维用的功能普通消费级盘没有。指望在固态盘上做雕刻式恢复成功率高的情况多是盘一直没通电、TRIM 没来得及执行。7.4 加密卷与手机存储没有密钥就没有一切如果原盘上跑过全盘加密比如某些系统的默认磁盘加密或者用户手动做的加密卷那格式化之后恢复出来的全是密文跟随机数据没有区别。签名匹配一个都命中不了扫出来一片空白。这种情况下唯一的路径是先恢复出加密卷本身再用密钥解开。但格式化往往把加密头也冲掉了密钥文件一旦丢失基本可以放弃。手机的情况更复杂。现代手机的内部存储普遍是加密的而且文件系统做了大量封装。直接对手机存储做雕刻式恢复命中率极低。更靠谱的路径是从备份里找或者用系统层面的云同步历史。8. 我在实操里见过的高频误操作8.1 把输出目录设成源盘这是杀伤力最大的一条。PhotoRec 界面上会提示输出目录不能在被恢复的设备上但有些人用的是另一个分区——分区不同、物理盘相同照样是灾难。判断标准很简单看物理设备不看盘符。C 盘和 D 盘是两个盘符但很可能是同一块物理盘的两个分区。输出目录必须放在另一块物理设备上。8.2 反复格式化、反复修复盘打不开格式化一次还是不行再格式化一次然后用系统自带的磁盘检查工具修复几轮。每一次操作都在往盘里写元数据覆盖掉原本还有机会救回来的内容。正确顺序永远是先停手先做镜像先评估。盘打不开不代表数据没了很多时候只是分区表或引导记录坏了那是几百个字节的事改回来就能正常挂载。这种修复的优先级远远高于恢复文件内容。8.3 坏盘反复通电前面提过这里单列出来是因为太常见。一块有异响的盘有人会再试一次看看能不能读出来一试就是十几次。磁头每刮一次盘片损伤面积就扩大一圈。判断标准只要出现规律性异响、或者系统日志里出现大量读写错误立刻断电。别再试了。8.4 恢复出来直接在源盘上操作扫完之后把恢复出来的文件复制回源盘、或者用源盘上的软件打开处理——这类操作我见过不止一次。恢复出来的文件确实在别的盘上但打开编辑另存为这些动作很可能产生临时文件落在源盘上。保险做法源盘在整个恢复和整理周期内都保持只读或者干脆拔掉等所有工作完成、数据已经备份到两个地方之后再考虑要不要重新格式化它。8.5 一个完整的排错链路示例最后给一个我实际处理过的场景把排查思路串起来。现象一块 2T 机械移动盘误格式化成了 exFAT里面有大约 800G 素材用户自己折腾了两天没搞定。第一步问清操作历史。用户承认在格式化之后往盘里拷了一个 20G 的文件夹试试还能不能用——这就是关键信息已经有部分覆盖但只覆盖了 2.5%大部分数据应该还在。第二步检查物理状态。接上之后听声音正常读速稳定无掉盘。判断不需要开盘也不需要先做镜像但为了保险还是做了一份。第三步确定扫描范围。分区表完好直接选该分区Whole partition 模式。第四步筛选文件类型。用户只要视频和照片把其他类型全取消。这一步把预计时间从 11 小时压到 6 小时。第五步跑。6 小时 20 分完成恢复出约 620G 数据文件数 4 万多个。第六步后处理。去重去掉约 8%按大小过滤掉 0 字节和 1KB 以下的小文件再减 5%按 EXIF 时间戳重命名归档。最终结果可用素材约 520G占原始的 65%。损失的 35% 里一部分是被那 20G 覆盖掉的一部分是大体积视频的碎片损坏。这个案例里最值钱的动作其实是第一步——问清用户到底干了什么。很多人上来就埋头扫扫完才发现漏掉了关键前提白跑一夜。我个人的体会是数据恢复这件事软件只占三成另外七成是流程纪律别写、别急、先镜像、先评估。PhotoRec 这个工具本身足够可靠它的问题都能用参数和流程绕过去真正决定结果的往往是操作者在慌乱中能不能守住那几条基本原则。如果你手上正有一块盘等着处理先深呼吸把它从机器上拔下来然后从第 3 节重新读一遍——慢这十分钟比跑错一整夜划算得多。
阅读完成 · 觉得有帮助?
咨询建站