Linux 数据恢复:7 款开源工具从误删文件到分区修复一篇讲透
2026/9/5 23:13:02 网站建设 项目流程

Linux 数据恢复:7 款开源工具从误删文件到分区修复一篇讲透

【免费下载链接】Awesome-Linux-Software🐧 A list of awesome Linux softwares项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Linux-Software

rm -rf 敲下去的那三秒钟,终端没有任何确认提示,目录就没了。

这篇文章围绕 Linux 数据恢复展开:7 款开源工具逐个拆解、一次完整的误删找回流程、一张选型速查表。看完你就知道,下次数据出问题该用哪把钥匙、先做哪个动作。

先定位故障类型,再决定用哪把钥匙 🔑

数据丢法不同,开的药方也不同。下面这张表可以当 Linux 数据恢复的分诊单用:

故障场景工具类别第一优先级操作
rm 误删,文件/目录没了文件雕刻类停掉该分区写入,只读重挂载
分区表损坏,磁盘认不出来分区修复类先深读扫描,千万别重建分区表
文件系统挂不上,日志损坏救援系统Live U 盘启动,先 fsck 再碰数据
系统起不来,盘还活着救援系统进 Live 环境,先整盘做镜像

如果分区表已经丢了,后面要走的就是完整的分区修复指南:扫描、人工确认、最后才允许写入重建,顺序不能乱。

不管落在哪一行,第一条铁律都一样:先停写入。哪怕只是"看一眼",文件系统的日志和元数据都可能落盘,覆盖掉你正要救的扇区。停写入不是可选项,是所有后续动作的前提。

开源数据恢复工具逐个拆解 🛠️

这 7 款工具的分工差别很大:前两款负责"把已经丢的找回来",中间两款负责"系统死透了怎么进场",后三款负责"别让它再丢"。缺哪个,去仓库里的 README.md 按类别翻目录。

PhotoRec:按文件签名"刨"数据

PhotoRec 干的是文件级恢复:它不看文件系统的目录结构,直接按文件头签名扫盘。所以"文件系统索引没了"的局面它照样干活,但文件名和目录结构它救不回来,这点要有心理预期。

能干的活:

  • 按文件头签名识别 300 多种格式:图片、视频、文档、压缩包
  • 不依赖文件系统,格式化、删分区之后也能扫
  • 可以指定整盘、分区或 LBA 区间,控制扫描范围
  • 带 GUI 版本 qphotorec,给不爱敲命令的人

什么时候掏出来:rm 完或者格式化完,你要的是文件内容,文件名变成 f1234567.txt 也能接受。


TestDisk:分区表和引导扇区的手术刀

TestDisk 处理的是盘级问题:分区表损坏、分区丢失、盘起不了引导。它负责让盘重新被系统认出来,不直接恢复文件内容——文件那层是姊妹工具 PhotoRec 的事,两个装在一起,一个管"盘认不认得",一个管"文件在不在"。

硬实力:

  • 扫描并重建丢失的分区表
  • 修复引导扇区,把起不来的盘活过来
  • 支持 ext4、NTFS、HFS+ 等常见文件系统
  • 写入前会逐项让你确认扫描结果

什么局面用它:盘容量突然变小、分区凭空消失、机器卡在引导——先开 TestDisk 扫描。


Timeshift:系统级的"撤销键"

Timeshift 做整机快照,属于预防型工具:它不救已经丢的数据,但能保证你更新改崩之后,系统能退回上一版。和文件备份工具不是一回事,定位先分清楚。

关键能力:

  • rsync 加硬链接做增量快照,重复内容不占双倍空间
  • btrfs 文件系统上直接调用原生快照,速度更快
  • 定时快照、多级保留策略都能配
  • 系统彻底死机时,从 Live CD/USB 里执行回滚

什么局面用它:一次更新或者改完配置之后桌面起不来,退回到上周的快照。


SystemRescueCD:随身急救箱

SystemRescueCD 是个可启动的救援系统:烧进 U 盘,系统死机时从它启动,直接拿到一个装好恢复工具的完整命令行环境。它不是某一件工具,而是一间"手术室"。

自带装备:

  • U 盘启动,带全套磁盘和文件系统工具
  • 预装 TestDisk、PhotoRec 等恢复工具
  • 硬件检测:内存、磁盘健康都能查
  • 有网络支持,能挂载远端存储

什么局面用它:本机彻底死机、连 SSH 都连不上,这时候才轮到 U 盘出场。


BorgBackup:去重压缩的增量备份

BorgBackup 是备份工具,不是恢复工具——它不从坏盘里刨数据,但它是"别先丢"阵营里最常被拿出来打头阵的。

长项:

  • 去重加压缩,反复备份只存差异部分
  • 客户端加密,备份盘被偷也不怕
  • 增量模式,一次全量之后每次只推变化
  • 支持 SSH、SFTP、NFS 等远端仓库

怕看命令行的,用图形客户端 Vorta 配 BorgBackup,点几下就能跑起来。

什么局面用它:关键目录每晚增量备到 NAS 或者一台远端机器。


Duplicity:把加密 tar 卷推到远端

Duplicity 生成 GPG 加密的 tar 格式增量备份,推到远端或本地文件服务器。它是"敏感数据要离开本机"时的首选。

上手要点:

  • 全量加增量,备份产物是加密 tar 卷
  • 远端或本地路径都能当目标
  • 支持 SFTP、FTP、WebDAV 等协议
  • 纯命令行,适合包进 cron 定时跑

什么局面用它:几个敏感目录必须带加密出机、落到远端服务器上。


Deja Dup:新手的第一件备份工具

Deja Dup 是带内置加密的图形备份工具,底层就是 Duplicity。它不给你选协议、配加密这种高阶选项,代价是配置错误的可能性接近于零。

图形界面里能干的:

  • 选要备什么、备到哪,点几下完成
  • 自动加密、自动定时
  • 恢复时点一下,不用碰命令行
  • 本地磁盘和远端位置都支持

什么局面用它:个人文档日常备份,目标就是"重装系统不心疼"。

Linux 误删文件找回:一次 rm -rf 完整走查 🧭

假设~/projects被 rm -rf 干掉了,它住在 /dev/sdb1 上。整个 Linux 数据恢复里最常见的剧本,四步走完。

第一步,停写入。

sudo umount /dev/sdb1 sudo mount -o remount,ro /dev/sdb1

为什么这么做:任何一次新写入都可能盖住正要救的扇区,只读挂载是标准动作,卸载不了就先转只读。

第二步,装工具并启动。

sudo apt install testdisk sudo photorec

为什么这么做:文件系统的目录索引已经没了,只有按签名雕刻能碰到数据,PhotoRec 正好干这个。

第三步,走向导。选源盘 sdb1,文件系统类型选 "Other"(全签名扫描最稳),输出目录指到另一块盘,比如 /dev/sdc 下的一个目录。为什么这么做:恢复目标盘绝不能是源分区,否则等于自己盖掉案发现场。

第四步,验证和整理。

ls -lh ~/recovered/ file ~/recovered/filer/ | head

为什么这么做:雕刻只还你文件内容,文件名是一串编号,靠类型和大小自己认领关键文件。

选型速查 📋

工具界面形式上手难度最典型用途
PhotoRec命令行(另有 GUI)格式化、误删后的文件级找回
TestDisk命令行分区表与引导扇区重建
TimeshiftGUI 为主系统更新改崩后的回滚
SystemRescueCDLive 命令行本机死机,从 U 盘进场
BorgBackup命令行(Vorta 可作 GUI)每日去重增量备份
Duplicity命令行加密 tar 卷推到远端
Deja Dup纯 GUI个人文件日常备份
  • 新手:Deja Dup 管个人文件,Timeshift 管系统,先把这两件事配起来再说。
  • 进阶:PhotoRec 和 TestDisk 各备一把,文件级的、分区级的分别有主,别混着选。
  • 管理员:BorgBackup 打主力、Duplicity 做异地,SystemRescueCD 常驻 U 盘,每月做一次还原演练。

几个容易翻车的点 ⚠️

  • 先停写入,没有例外。"看一眼应该没事"的直觉救不了你,文件系统的日志写入不会等你想清楚。
  • 恢复目标盘 ≠ 源盘。把救出来的文件写回原分区的那一刻,这次恢复就作废了,输出永远指向另一块物理盘。
  • 备份没验证 = 没备份。从来没还原演练过的备份,真到要用那天多半是坏的,每月抽一个备份还原一次。
  • 大文件雕刻是概率活。几个 GB 的大文件在盘上散成碎片,PhotoRec 拼回来的是听天由命,关键数据宁可先整盘镜像再慢慢来。
  • 别先重建分区表。在磁盘管理工具里手快点"新建分区",旧分区表当场被抹掉,扫描窗口说没就没了。

让数据少出事的日常习惯 🌿

  • 给 Timeshift 设一个每日定时快照,更新改崩了能一键回滚。
  • 关键目录每晚跑一次 BorgBackup 增量备份,每月还原演练一次。
  • 把 trash-cli 配进 shell,让 rm 先进回收站,误删多一次反悔机会。
  • U 盘里常驻一份 SystemRescueCD 镜像,下次系统死机不用临时找工具。

今晚就干两件事:给 Timeshift 配一个每日快照,把关键目录丢进 BorgBackup 的第一个备份里。再花十分钟,把 SystemRescueCD 写进 U 盘。等下次 rm -rf 真的发生时,你桌上已经有现成的钥匙。

【免费下载链接】Awesome-Linux-Software🐧 A list of awesome Linux softwares项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Linux-Software

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询