一、查看分区类型
使用df T
命令可以查看系统中各个分区的类型,不同的分区类型在恢复文件时需要采用不同的方法和工具,常见的分区类型有 xfs 和 ext4 等。
二、使用 extundelete 恢复文件(以 CentOS7 为例)

1、安装 extundelete
需要下载并安装依赖包e2fsprogsdevel
、e2fsprogs
、e2fsprogslibs
。
将 extundelete 安装包上传到自定义目录,如/usr/local
目录下的software
文件夹中。
解压安装包:tar jxvf extundelete0.2.4.tar.bz2
。
进入解压后的目录,执行以下命令进行编译和安装:
yum y install gcc

yum y install gccc++
cd extundelete0.2.4
./configure
make
make install
通过which extundelete
命令确认 extundelete 的安装路径。

2、创建测试环境
创建一个名为data
的目录和一个名为deletefile
的文件:mkdir /data && touch /data/deletefile
。
3、备份数据(以 xfs 分区为例):使用xfsdump f /tmp/dump_data /data
命令对数据进行备份,若出现xfsdump: Dump Status: SUCCESS
提示,则说明备份成功。
4、删除文件并尝试恢复
假设要删除/data
目录下的deletefile
文件,先将其删除:rm /data/deletefile
。
对于 xfs 分区,使用以下命令恢复文件:extundelete inode <文件对应的 inode 号> /dev/<设备名>
,可以通过ls li
命令查看文件的 inode 号和设备名,如果deletefile
的 inode 号是 1048577,设备名是/dev/sda2
,则执行命令extundelete inode 1048577 /dev/sda2
。
对于 ext4 分区,同样先删除文件,然后使用类似命令恢复,但需注意 ext4 分区在恢复时可能会有一些警告提示,如需要卸载分区等,按照提示操作即可。
三、使用 testdisk 恢复文件
1、安装 testdisk:可以使用yum install epelrelease
命令安装 EPEL 仓库,然后通过yum install testdisk
命令安装 testdisk。
2、启动 testdisk:输入testdisk
命令启动该工具,按照提示选择要恢复文件的磁盘或分区,然后选择“Undelete”或“Search for a file”等功能来查找已删除的文件,找到文件后,可以将文件复制到安全的位置进行恢复。
四、使用 debugfs 恢复文件(适用于 ext3/ext4 文件系统)
1、查找文件所在分区:使用df h
命令查看被删除文件所在的分区,例如文件在/home
目录下,通过df h /home
可以查看到其所属分区为/dev/vda2
。
2、打开分区:输入debugfs /dev/vda2
命令打开该分区。
3、查看分区中的文件:在 debugfs 环境下,输入ls
命令查看分区中的文件列表,找到被删除的文件。
4、确定文件位置:通过文件的 inode 号等信息确定要恢复的文件的具体位置,可以使用stat <文件名>
命令查看文件的详细信息,包括 inode 号等。
5、恢复文件:使用dd if=/dev/vda2 of=/path/to/recovered/file bs=512 count=1 seek=<文件起始位置>
命令将文件恢复到指定位置,其中/path/to/recovered/file
是恢复后的文件保存路径,<文件起始位置>
是文件中第一个扇区的字节数。
五、注意事项
1、一旦发现文件被误删除,应立即停止对该分区或存储设备的所有写入操作,以避免新数据覆盖已删除的文件数据,降低恢复难度和成功率。
2、在进行文件恢复操作前,最好先对原始数据进行备份,以防恢复过程中出现意外情况导致数据丢失。
六、FAQs
问题 1:如果误删除了重要文件,但没有提前安装恢复工具,该怎么办?
答:如果没有提前安装恢复工具,可以尝试使用系统的自带工具如 debugfs(适用于 ext3/ext4 文件系统),或者尽快通过网络下载安装合适的恢复工具如 extundelete、testdisk 等,然后再按照相应的步骤进行文件恢复操作,不过在下载和安装过程中要注意确保操作的准确性,避免对系统造成其他影响。
问题 2:使用 extundelete 恢复文件时,为什么会出现“Extended attributes are not restored”等警告信息?
答:这些警告信息表示在恢复文件时,文件的一些扩展属性可能无法完全恢复,这可能是由于文件系统的特性或恢复工具的功能限制所导致的,即使出现这些警告信息,只要文件的主要数据能够成功恢复,通常不会对文件的正常使用造成太大影响,但如果对文件的完整性要求较高,建议在恢复后进一步检查文件的属性和内容是否与删除前一致。