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 .


分享到:


相關文章: