当前位置:首页>Linux>Linux 文件误删恢复|基础恢复工具篇(中)

Linux 文件误删恢复|基础恢复工具篇(中)

  • 2026-10-11 07:49:31
Linux 文件误删恢复|基础恢复工具篇(中)

在上篇中,我们梳理了 Linux 环境下文件误删恢复的基础原则与核心前置思路,也介绍了部分轻量恢复工具的应用场景与基础用法。本篇作为 Linux 数据安全系列的基础篇(中篇),将聚焦经典数据恢复工具 testdisk,深入拆解它的工作原理、安装部署方式与分区表修复实操流程,覆盖分区丢失场景下的数据恢复需求,帮你构建一套基础且可靠的 Linux 数据恢复工具链,为数据安全再加一道防线。

01
testdisk 分区恢复工具

1.1 工具简介

testdisk 是一款专业的分区级数据恢复工具,专注于分区表修复与文件系统元数据重建,是处理分区丢失、无法挂载场景的首选工具。

1.2 工具安装

✅安装步骤:(以下提供三种安装方式,可任选其一操作)

# CentOS/RHEL 系列(通过包管理器安装)# 安装EPEL扩展源,CentOS默认源无testdisksudo yum install -y epel-release# 安装testdisk包sudo dnf install testdisk -y
# Ubuntu/Debian 系列(通过包管理器安装)# 更新系统软件源索引,拉取最新软件列表sudo apt update # 安装testdisk包sudo apt install testdisk -y
# 在线下载官方稳定版源码包(源码编译安装)wget https://www.cgsecurity.org/testdisk-7.1.tar.bz2# 解压bz2格式源码压缩包tar -jxvf testdisk-7.1.tar.bz2# 进入解压后的源码目录cd testdisk-7.1# 检测系统环境、生成编译配置文件./configure# 编译源码make # 将编译好的程序安装到系统全局sudo make install  

✅验证安装:

# 验证安装是否成功testdisk -- version

输出结果:

02
实战:testdisk 恢复分区表

当误删分区、分区表损坏,导致整个文件系统丢失时,可使用 testdisk 恢复分区表。

2.1 实战环境准备:创建测试镜像

✅一键创建带数据的测试镜像,执行以下命令,快速生成一个带分区和测试文件的 testdisk.img 镜像:

# 1. 创建一个 100MB 的空镜像文件dd if=/dev/zero of=/tmp/testdisk.img bs=1M count=100# 2. 为镜像创建主分区(模拟正常分区表)fdisk /tmp/testdisk.img << EOFnp12048wEOF# 3. 挂载镜像分区并格式化为 ext4 文件系统losetup -fP /tmp/testdisk.imgmkfs.ext4 /dev/loop0p1# 4. 挂载分区并写入测试文件mkdir -p /mnt/testmount /dev/loop0p1 /mnt/testecho "TestDisk 测试文件,恢复成功" > /mnt/test/test.txttar -czf /mnt/test/test.tar.gz /mnt/test/test.txt# 5. 卸载并断开 loop 设备(此时镜像已包含分区和数据)umount /mnt/testlosetup -d /dev/loop0

输出结果:

✅模拟分区表损坏,可以执行以下命令清空分区表:

# 清空镜像的分区表(会导致系统无法识别分区)dd if=/dev/zero of=/tmp/testdisk.img bs=512 count=1 conv=notrunc

输出结果:

2.2 执行 testdisk 恢复分区表

✅以安全模式启动 testdisk,对 /tmp/testdisk.img 镜像文件进行分区恢复操作:

testdisk /tmp/testdisk.img

✅testdisk 操作步骤(一步步演示):

  1. 选择目标磁盘:选中 /tmp/testdisk.img → 按 Enter

b.分区表类型:默认 Intel/PC → 按 Enter

c.进入分析模式:选择 Analyse → 按 Enter

d.快速搜索分区:选择 Quick Search → 按 Enter,等待扫描完成

e.写入分区表:确认识别到的分区 → 选择 Write → 输入 Y 确认

f.分区表写入已经成功,退出testdisk
2.3 验证恢复结果
为了直观验证分区表是否成功恢复,分别查看删除前、损坏后、恢复后的文件状态:

✅分区表损坏前(原始状态)

# 挂载镜像,查看正常文件系统mount -o loop,offset=1048576 /tmp/testdisk.img /mnt/test# 查看文件列表与内容(数据完好)ls /mnt/testcat /mnt/test/test.txt

输出结果:

✅分区表损坏后(数据 “丢失” 状态)

# 模拟分区表损坏(清空前512字节)dd if=/dev/zero of=/tmp/testdisk.img bs=512 count=1 conv=notrunc# 查看分区信息,无有效分区fdisk -l /tmp/testdisk.img

输出结果:

✅TestDisk 恢复完成后(数据找回状态)

# 重建分区表后,重新挂载镜像mount -o loop,offset=1048576 /tmp/testdisk.img /mnt/test# 再次查看文件列表与内容(数据完全恢复)ls /mnt/testcat /mnt/test/test.txt

输出结果:

综上,本次分区表损坏场景的数据恢复已成功完成,结果符合预期。testdisk 对 MBR 分区表损坏的 ext4 文件系统具备可靠的恢复能力。

END
○内蒙古大学物理科学与技术学院教授李锋钰、博士生导师王磊等拓扑性质和超导电性共存的二维硼化钾化合物
○ 宁波东方理工大学理学部副教授周通、香港理工大学应用物理系助理教授杨明等地核压力下潜在的Xe₃CO₂化合物
○ 燕山大学理学院教授杨国春、江苏科技大学理学院博士娄焕BSi₅单层结构具有与氢覆盖率几乎无关的优异析氢反应活性

最新文章

随机文章