Linux 下如何恢复 ext4 中删除的文件

在Linux中,使用 rm 命令删除文件需要谨慎。有时候,由于误操作,导致重要文件删除了,也是有机会恢复的。

本文仅介绍 ext4 文件系统如何恢复删除的文件。 XFS 文件系统,还没有稳定的恢复方法。(如果有,欢迎推荐给笔者)。

在 Linux 系统中,删除一个文件,实际上并没有清楚 inode 节点和 block 数据,只是在这个文件的父目录里的 block 中删除这个文件的名字。当一个文件不存在任何 link 的时候,这个文件才会被删除。

所以,当误删除文件以后,首先要卸载被删除数据所在的分区。如果是根分区的数据被删除,那么就要进入单用户模式,以只读方式挂载根分区。因为这样才能避免数据被操作系统覆盖。

针对 Linux 的 EXT 文件系统,Debian默认的恢复工具有 ext3grep 、 extundelete 。extundelete 是一个开源的Linux数据恢复工具,支持 ext3, ext4 文件系统。

安装

<code>

sudo

apt install extundelete/<code>

测试恢复效果:


Linux 下如何恢复 ext4 中删除的文件


<code>

sudo

mount /dev/sdb1 /mnt/ext4

cd

/mnt/ext4

sudo

rm *.jpeg

cd

/home/user/

sudo

umount /mnt/ext4

sudo

extundelete /dev/sdb1 --restore-all

/<code>

恢复结果如下图:

不是很理想,这恢复了一张图片。 文件名也没有恢复成功。跟网络文章有较大出入。

可能是虚拟机,并不是真实硬盘造成的。

Linux 下如何恢复 ext4 中删除的文件

extundelete 还有很多的用法,详情可以参阅 extundelete --help .


分享到:


相關文章: