Linux下常用的數據恢復工具
阿新 • • 發佈:2017-07-08
restore 幫助信息 特定 結合 inux 只讀 urn 並且 格式
一。數據刪除
命令:rm -rf,將任何數據直接從硬盤刪除,且沒有任何提示
建議做法:
- 把命令參數放到後面:rm -rfi
- 將刪除的東西通過mv命令移動到系統下的/temp目錄下,然後寫個腳 本定期執行清除操作
- 備份
二。extundelete的安裝與使用
Linux下常見的基於開源的數據恢復工具有:debugfs/R-Linux/ext3grep/extundelete
1.恢復原理:三步
- extundelete恢復文件並不依賴特定的文件格式,首先extundelete會通過文件系統的incode信息(可通過 ls -id / 查看;根目錄的incode一般為2)來獲得當前文件系統下所有文件的信息(包括文件名和incode,包括已刪除的文件)。
- 然後利用incode信息結合日誌去查詢該incode所在塊位置,包括直接塊/間接塊等信息。
- 最後利用dd命令將這些信息備份出來,從而恢復數據文件
2.安裝(介紹編譯安裝)
- 安裝前需安裝e2fsprogs和e2fsprogs-libs兩個依賴包
- 下載extundelete(.tar.bz2)結尾的文件,假設為0.2.4版本
- 解壓:tar jxvf extundelete-0.2.4.tar.bz2
- cd extundelete-0.2.4
- ./configure
- make
- make install
3.用法
命令格式:extundelete [optons] [action] device-file
[option]參數:
- --version,-[vV],顯示軟件版本號
- --help,顯示軟件幫助信息
- --superblock,顯示超級塊信息
- --journal,顯示日誌信息
- --after dtime,時間參數,表示在某段時間之後被刪除的文件或目錄
- --before dtime,時間參數,表示在某段時間之前被刪除的文件或目錄
[action]動作參數:
- --incode into,顯示節點“ino”的信息
- --block blk,顯示數據塊“blk”的信息
- --restore-incode ino[,ino,...],還原命令參數,表示還原節點“ino”的文件,還原的文件會自動放在當前目錄下的RESTORED_FILES文件夾中,使用節點編號作為擴展名。
- --restore-file‘path‘,還原命令參數,表示將還原指定路徑的文件,並把還原的文件放在當前目錄下的RECOVERED_FILES文件中。
- --restore-all,還原命令參數,表示將嘗試還原所有目錄和文件
- -j journal,表示從已經命名的文件中讀取擴展日誌。
- -b blocknumber,表示使用之前備份的超級塊來打開文件系統,一般用於查看現有超級塊是不是當前所要的文件
- -B blocksize,表示使用數據塊大小來打開文件系統,一般用於查看已經知道大小的文件。
4.註意
數據被誤刪之後,首先要做的是卸載被刪除數據所在的磁盤或磁盤分區。如果根分區遭到刪除,需要將系統進入單用戶,並且將根分區以只讀模式掛載。
原因:文件刪除後,僅僅是將文件的incode中的扇區指針清零,實際文件還在。如果磁盤以讀寫械掛載,這些已刪除文件的數據塊就可能被操作系統重新分配出去,在這些數據塊被新的數據覆蓋後,這些數據就真丟失了。所以以只讀模式掛載可以盡量降低數據塊中數據被覆蓋的風險。
Linux下常用的數據恢復工具