Hard-Disk

如何判斷恢復文件的完整性,特別是恢復圖像的像素數據是否損壞

  • January 7, 2022

我從磁碟中刪除一個文件,然後在同一個磁碟上執行一些寫操作,然後執行一個恢復程序來恢復所述文件。

有什麼方法可以檢查文件的完整性嗎?

讓恢復的文件是點陣圖圖像。據我了解,由於儲存圖像像素數據的數據塊可能會被覆蓋,因此圖像的某些像素可能具有錯誤資訊。如果文件頭數據損壞,文件根本不會打開。

但是,如果不單獨目視檢查每個像素,如何判斷像素數據是否損壞?檢查文本或影片文件的完整性的想法相同。

一些文件系統具有帶有校驗和的元數據塊。運氣好的話,這些可能仍然完好無損,但通常元數據會消失,所以您所擁有的只是文件本身檢測錯誤的內在能力。

第一件事:圖像是比較大的文件,被刪除的沒有剩餘元數據的碎片基本上只能通過運氣/嘗試和錯誤重新以相同的順序重新排列。幸運的是,通常在您編寫圖像時,這會以非常完整的方式發生。

但是,如果它以非分段方式發生,那麼僅對現有圖像數據的中間進行分段寫入會導致您所描述的損壞,並且不會是“幾個像素”,而是例如 4 kB圖像數據塊。您很少儲存未壓縮的圖像,所以老實說,您的“故障模式”並不那麼現實。

現在,我們確實看到了損壞的文件,尤其是在相機等的 SD 卡上。但這些是不同的故障模式,實際上只影響圖像的較小部分,或者縮短它。

但是,如果不單獨目視檢查每個像素,如何判斷像素數據是否損壞?

教一種算法為您進行視覺檢查。或者使用帶有校驗和的文件格式。我敢打賭,一些醫學圖像格式會很有意義。

此外,再一次,不會損壞單個像素,4 kB 塊將完全隨機損壞。

但是沒有人將文件格式設計為“刪除後可恢復”;這是胡說八道,如果你需要,你實際上需要停止刪除你沒有備份的東西——現代文件系統和儲存子系統的快照使得備份變得微不足道,而且空間不是很密集。

檢查文本或影片文件的完整性的想法相同。

如前所述,如果唯一可以評估一段數據內容的人是人,那麼就是這樣。對於典型的照片內容,例如通過深度/卷積神經網路的認知視覺可能是檢測 4 kB 正在解碼的“不合適”數據(例如由 JPEG 解碼器)的適當方式。

引用自:https://unix.stackexchange.com/questions/685389