在linux下使用debugfs恢復rm刪除的文件

在linux下使用debugfs恢復rm刪除的文件
   以下方法在ext3的文件系統上測試通過, 以下是通過root來實現的
 主要藉助debugfs

fdisk /dev/vda
mkdir /mnt/test
mount /dev/vda3 /mnt/test
1 運行debugfs,進入調度模式
[root@host51 test]# debugfs -w /dev/vda3
/////////////////////////[root@host51 test]#sudo debugfs -w /dev/vda3

    2 執行open /dev/vda3
3 執行ls -d會列出此目錄最近的操作,其中可以看到<num>的日誌刪除記錄
在linux下使用debugfs恢復rm刪除的文件

4 執行logdump -i <num> 顯示此日誌內容
debugfs: logdump -i <13>

    5 在輸出中尋找刪除文件對應的block,記錄下來blockid
在linux下使用debugfs恢復rm刪除的文件
    6退出debugfs,運行[root@host51 test]#dd if=/dev/vda3 of=/tmp/saved  bs=1027 count=138476 skip=47
    此時就把刪除的文件恢復了,不過這個方法有個問題,如果刪除的是大文件,則佔用多個block,操作起來比較麻煩。
   debugfs在調試模式下,命令行比較難用,不過其支持-R選項,可以在SHELL裏執行,就是用多個-R把要執行的命令連接起來,若命令中需要指定參數則需要加"",否則SHELL解析會有問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章