2013-01-09 35 views
0

假設我在Linux分區的未分配空間中有一個已刪除的文件,我想要檢索它。如何根據標題的扇區起始地址估計文件大小?

假設我可以通過檢查頭來獲取文件的起始地址。

是否有通過我可以估計待因此分析的塊的數目(這取決於圖像的大小。)

+0

如果文件碎片怎麼辦? –

+0

這是什麼意思「檢查標題」?它會從哪裏來? – mvp

+0

@mvp說我刪除一個.jpg文件。 jpg文件的標題包含字符ffd8ff ...這當然可以確保扇區頭部是圖像數據文件的頭部。 JPG擴展名。 – minocha

回答

1

通常的方式,的Linux/Unix不支持恢復刪除的文件 - 如果它被刪除,它應該消失。這對安全性也很好 - 一個用戶不應該能夠通過創建跨越幾乎所有可用空間的巨大空文件來恢復被另一用戶刪除的文件中的數據。

有些文件系統甚至支持所謂的安全刪除 - 也就是說,它們可以在刪除時自動擦除文件塊(但這並不常見)。

您可以嘗試編寫一個實用程序,該實用程序將打開文件系統掛載的整個分區(例如,/dev/sda2)作爲一個大文件,並將讀取它並掃描原始數據的殘餘部分,但是如果文件被碎片化這很有可能),那麼你將能夠以某種可用的形式恢復大部分數據的機會非常小。

說了這麼多,有一些實用程序試圖比簡單掃描稍微聰明一點,可以嘗試在Linux上取消刪除您的文件,如extundelete。它可能適合你,但成功永遠不會得到保證。當然,你必須是能夠使用它的根。

最後,如果你希望能夠從該文件系統恢復什麼,你應該馬上卸載它,並使用dd或管dd通過gzip壓縮以節省所需的空間利用它的備份。

+0

將文件所在的已刪除扇區聲明爲未分配空間,直到寫入新數據爲止。該文件實際上並沒有消失。 雖然這個答案提供了理論的見解,但我會請你閱讀關於我已經幫助我得到更好答案的問題的評論! 謝謝 – minocha