尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

误删文件找不回、分区表损坏?免费 TestDisk PhotoRec 完整数据恢复实战指南

误删文件找不回、分区表损坏?免费 TestDisk  PhotoRec 完整数据恢复实战指南 误删文件找不回、分区表损坏免费 TestDisk PhotoRec 完整数据恢复实战指南【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdiskTestDisk 和 PhotoRec 是一组免费开源的数据恢复工具TestDisk 负责修复损坏的分区表与引导记录PhotoRec 按文件签名扫描磁盘找回误删文件。跟着本文新手能独立跑通第一次分区表恢复与文件恢复。系统提示未初始化先别急着格式化外接硬盘插上弹窗写着未初始化请先格式化或者你刚误删了一整批照片回收站已经清空。先停手任何修复动作包括格式化都可能把还能救的数据彻底覆盖掉。这时候真正要做的第一件事不是动手修而是判断你手里这套免费工具该派哪一个上场。自诊4 种情况选对 TestDisk 或 PhotoRec遇到误删文件、误格式化就选 PhotoRec。数据多半还在磁盘上只是目录文件系统的索引没了。PhotoRec 用的手法叫 file carving文件雕刻不看文件系统直接逐扇区比对每种文件的头部签名把文件抠出来。代价是恢复出的文件通常只剩内容原始文件名和目录结构丢了。遇到分区表损坏、分区消失就选 TestDisk。分区表是磁盘的目录页记录每个分区从哪到哪MBRIntel和 GPT 是两种最常见的分区表格式。分区表坏了系统就看不见分区但里面的数据往往还在。TestDisk 能识别 MBR/Intel、GPT、BSD disklabel、Apple、Solaris 等分区表格式把丢失的分区重新定位出来。遇到装双系统后启动失败还是选 TestDisk。引导扇区或分区结构被改动属于同类问题走同一套 Analyze 流程。遇到硬盘有坏道、读取缓慢先别选工具先做镜像。用 ddrescue 把盘体拷成镜像文件下文详述之后无论 TestDisk 还是 PhotoRec都在镜像上操作。从安装到第一次恢复三步跑通第 1 步安装。主流发行版都有现成包# 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进入目录依次执行./autogen.sh、./configure、make、sudo make install。第 2 步用 TestDisk 修复损坏分区。假设坏分区在/dev/sdb先用lsblk或fdisk -l确认设备名别选错盘sudo testdisk /dev/sdb进入界面后按顺序操作选[Create]生成日志文件方便事后排查选择分区表类型绝大多数磁盘选Intel较新的系统或苹果盘选GPT按Analyse进入分析选Quick Search快速搜索分区找到疑似丢失的分区后按P将其标记为 Primary主分区核对起止位置与大小是否合理按Write把新分区表写回磁盘重启验证。第 3 步分区修好仍拿不到数据用 PhotoRec 做文件级恢复sudo photorec /d /data/recovery /dev/sdb1/d后面跟的是恢复文件的保存目录这是 PhotoRec 最重要的参数。进入界面后选择分区 → 文件系统类型不确定就选Other→ 选择保存位置 → 选Search开始扫描进度走完前可按 CtrlC 中途停止。恢复出的文件按类型放进recup_dir.d等子目录文件名是自动生成的编号需要你自己重新整理。关键风险恢复目录必须放在另一块物理磁盘上。写盘之前先用df -h复核保存目录的挂载点确认它不在被恢复的盘上。把恢复目录建在源盘上扫描写入会直接覆盖你正要抢救的数据。TestDisk 与 PhotoRec 参数速查表参数适用工具作用/log两者通用生成日志文件/logname两者通用指定日志文件名/debug两者通用输出调试信息/dPhotoRec指定保存目录/all两者通用跳过交互按默认执行/listTestDisk列出系统识别的磁盘/cmd两者通用命令行模式适合脚本想给维护者报问题时带上/log和/debug跑一遍例如sudo photorec /log /debug /d /data/recovery /dev/sdb1过程会被完整记录。数据恢复出问题了4 个高频情况 QA扫描进度卡住不动先查哪里先判断卡住的位置是坏道还是大文件跑一下磁盘的 SMART 健康信息。如果是坏道立刻改用镜像流程见下一节如果盘体健康多半是在识别一个大文件耐心等或按 CtrlC 停止。恢复出来的文件打不开、内容残缺怎么处理先判断是数据被新写入覆盖还是文件在盘上碎片化、签名拼接不完整。覆盖和重度碎片都无法补救所以正确做法是发现丢失后尽快操作恢复出的关键文件先逐一验证能否打开再整体归档。SSD 上删除的数据为什么基本找不回因为 SSD 有 TRIM 机制系统删除文件后会通知主控主控很快把对应的物理块清零这与机械盘数据还在、只是索引没了完全不同。处理办法只有一条发现误删立即停止对 SSD 的一切写入如果 TRIM 已经执行多数情况下只能依靠备份。恢复操作反而把盘搞得更糟为什么最常见的原因是恢复目录建在了被恢复的盘上扫描写入直接覆盖了原始数据。处理办法恢复前用df -h确认目标目录在另一块物理磁盘上这个动作一分钟就能避免全盘损失。坏道盘镜像ddrescue 的正确用法盘体有坏道时反复直接读写会加重损伤。正确顺序是先做磁盘镜像ddrescue /dev/sda /data/sda.img /data/sda.logddrescue会跳过读不动的坏块并把进度写进日志文件中断后可以接着跑坏块位置也全部有据可查。之后所有 TestDisk / PhotoRec 操作都对着.img文件做。原因很简单镜像是替死鬼你怎么折腾它都不心疼而原盘必须保持零写入因为任何一次意外的写入都可能覆盖你唯一还想抢救的数据。收尾5 条数据恢复规则先停写发现丢失立刻停止对该磁盘的一切写入能断电就断电。先分型分区结构坏了用 TestDisk文件内容丢了用 PhotoRec修好分区后仍拿不到的部分再做文件级恢复。坏道先镜像ddrescue 做出.img后全部操作在镜像上进行。恢复目录永远在别的盘写盘前用df -h复核挂载点。留日志、后抽查每次运行都带/log恢复完成后先抽查关键文件能否正常打开再整体归档。最后请记住恢复工具永远排在定期备份之后——备份是预防恢复是补救顺序不能反。附想改源码入口在哪源码集中在src/目录part*.c是各分区表格式的解析与修复模块file_*.c每个对应一种文件类型的签名识别filegen.c是统一的文件识别引擎diskacc.c是磁盘访问层testdisk.c和photorec.c是两个程序的入口。想添加新文件类型新建src/file_xxx.c实现文件头/文件尾检查函数在filegen.c中注册并加入src/Makefile.am的编译列表即可开发说明见 README_dev_photorec.txt。【免费下载链接】testdiskTestDisk PhotoRec项目地址: https://gitcode.com/gh_mirrors/te/testdisk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表