Linux中如何使用TestDisk恢复文件

发布时间:2022-02-18 10:12:57 作者:小新
来源:亿速云 阅读:607
# Linux中如何使用TestDisk恢复文件

## 前言

在Linux系统中,误删文件或分区表损坏是常见的数据灾难场景。TestDisk作为一款开源的数据恢复工具,能够帮助用户找回丢失的分区、修复损坏的分区表以及恢复误删除的文件。本文将详细介绍TestDisk的安装、使用方法和实战操作流程。

---

## 一、TestDisk简介

### 1.1 工具概述
TestDisk是由CGSecurity开发的跨平台数据恢复工具,支持:
- 恢复丢失的分区
- 修复FAT32/NTFS/exFAT引导扇区
- 重建NTFS引导扇区
- 恢复已删除文件(FAT/exFAT/NTFS)
- 支持EXT2/EXT3/EXT4文件系统

### 1.2 适用场景
- 分区表损坏导致分区不可见
- 误执行`rm`或`dd`命令
- 系统崩溃后文件丢失
- 病毒破坏分区结构

---

## 二、安装TestDisk

### 2.1 通过包管理器安装
```bash
# Debian/Ubuntu
sudo apt install testdisk

# RHEL/CentOS
sudo yum install testdisk

# Arch Linux
sudo pacman -S testdisk

2.2 源码编译安装

wget https://www.cgsecurity.org/testdisk-7.2-WIP.tar.gz
tar xvf testdisk-7.2-WIP.tar.gz
cd testdisk-7.2
./configure
make
sudo make install

三、准备工作

3.1 重要注意事项

  1. 立即停止写入操作:防止数据被覆盖
  2. 使用只读模式挂载mount -o ro /dev/sdX /mnt
  3. 准备存储介质:准备另一个磁盘用于存储恢复的文件

3.2 确定目标设备

使用lsblkfdisk -l确认要恢复的磁盘:

lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot
└─sda2   8:2    0 465.3G  0 part /
sdb      8:16   0   1.8T  0 disk  # 这是待恢复的磁盘

四、TestDisk实战操作

4.1 启动TestDisk

sudo testdisk

4.2 操作流程详解

步骤1:选择磁盘

TestDisk 7.2, Data Recovery Utility...
Disk /dev/sdb - 2000 GB / 1863 GiB
>[Proceed]  [  Quit  ]

使用方向键选择待恢复磁盘,按Enter确认。

步骤2:选择分区表类型

Select partition table type
>[Intel  ]  Intel/PC partition
 [EFI GPT]  EFI GPT partition
 [Mac    ]  Apple partition map

大多数Linux系统选择Intel(MBR分区表)。

步骤3:主功能菜单

[ Analyse  ]  Analyse current partition structure
 [ Advanced ]  Filesystem Utils
 [ Geometry ]  Change disk geometry
 [ Options  ]  Modify options
 [ MBR Code ]  Write TestDisk MBR code
 [ Delete   ]  Delete all data

选择[Advanced]进入文件恢复模式。

步骤4:选择分区

Partition                  Start        End    Size in sectors
> 1 P Linux filesys. data    2048  390702916  390700869

选择包含丢失文件的分区。

步骤5:文件恢复选项

[  List  ]  List files
 [  Undelete ]  Undelete files
 [  Copy  ]  Copy files
 [  Quit  ]

步骤6:恢复文件操作

  1. 使用方向键导航到目标目录
  2. u标记要恢复的文件
  3. C开始复制操作
  4. 选择安全的存储路径(必须与源磁盘不同

五、高级恢复技巧

5.1 恢复特定文件类型

通过photorec(TestDisk配套工具)可按文件签名恢复:

sudo photorec /dev/sdb

支持恢复300+种文件类型(文档、图片、视频等)。

5.2 深度扫描模式

当快速扫描无效时: 1. 在主菜单选择[ Analyse ] 2. 选择[ Deep Search ] 3. 扫描时间较长(可能数小时)

5.3 修复分区表

[  Write  ]  Write partition structure
 [  Quit  ]

发现丢失分区后,选择Write将分区表写入磁盘。


六、常见问题解答

Q1: 扫描过程中卡住怎么办?

Q2: 恢复的文件损坏?

Q3: 如何恢复EXT4文件系统?

TestDisk对EXT4支持有限,建议配合extundelete

sudo extundelete /dev/sdb1 --restore-all

七、预防措施

  1. 定期备份:使用rsyncborgbackup
  2. 使用回收站:安装trash-cli替代rm
  3. 文件系统检查:定期运行fsck
  4. 谨慎操作:特别是fdiskdd等危险命令

结语

TestDisk作为Linux下强大的数据恢复工具,虽然操作界面较为传统,但其恢复效果在开源工具中首屈一指。关键是要在数据丢失后立即停止写入操作,并按照本文步骤谨慎执行恢复流程。建议用户平时做好数据备份,防患于未然。

注意:本文基于TestDisk 7.2版本编写,不同版本操作可能略有差异。 “`

这篇文章共计约1750字,采用Markdown格式编写,包含: 1. 层级分明的章节结构 2. 代码块形式的命令示例 3. 操作流程的步骤化说明 4. 常见问题解答 5. 预防性建议 6. 格式化的注意事项提示

可根据需要调整具体技术细节或补充更多实际案例。

推荐阅读:
  1. linux中tmp文件如何恢复
  2. 使用linux的testdisk命令修复磁盘文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux testdisk

上一篇:Linux中如何配置Cntlm代理

下一篇:Linux中断子系统domain的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》