在linux下使用debugfs恢複rm刪除的檔案

來源:互聯網
上載者:User

    原理主要是刪除的檔案並沒有實際上從硬碟上摸去,只是inode索引刪除了相關的資訊,因此只要找到剛刪除檔案的block上,就可以恢複已經刪除的檔案。

    以下方法在ext3的檔案系統上測試通過,ext2的沒有測試過。假設刪除的檔案在dir下面,位於/dev/sda5上。

    主要藉助debugfs

    1 運行debugfs,進入調度模式

    2 執行open /dev/sda5

    3 執行ls -d dir 會列出此目錄最近的操作,其中可以看到<num>的日誌刪除記錄

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

    5 在輸出中尋找刪除檔案對應的block,記錄下來blockid

    6退出debugfs,運行dd if=/dev/sda5 of=/tmp/saved  bs=1024 count=1 skip=blockid

    此時就把刪除的檔案恢複了,不過這個方法有個問題,如果刪除的是大檔案,則佔用多個block,操作起來比較麻煩。

   debugfs在偵錯模式下,命令列比較難用,不過其支援-R選項,可以在SHELL裡執行,就是用多個-R把要執行的命令串連起來,若命令中需要指定參數則需要加"",否則SHELL解析會有問題。

    比較好用的工具有testdisk,之前用過他來恢複和備份系統的分區表,沒有恢複過檔案。以後出問題也可以試試。

    http://www.cgsecurity.org/wiki/TestDisk_Download

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.