Linux

恢復中間有壞塊的文件

  • June 17, 2021

我們的 ext4 文件系統上的一個大文件可能在中間拾取了一個壞塊。將文件複製到另一個驅動器會導致部分輸入/輸出錯誤。不過,壞扇區以外的數據似乎還可以。

我們沒有這個文件的備份,因為它是最近創建的,所以我正在尋找一種方法來複製文件的整個可讀部分,同時跳過壞扇區。

我讀過其他網站,這些網站建議使用壞塊恢復整個硬碟驅動器的方法,但他們並沒有說太多關於恢復跨越壞塊的任何文件。

謝謝。

你應該能夠dd做到:

dd if=fileWithBadBlocks of=recoveredFile bs=4k conv=noerror,sync

應該注意的是,文件系統只會從磁碟讀取“塊”(通常為 4k),但硬碟上的損壞通常會涉及“扇區”(非 ADF 磁碟上的 512 字節)。

如果塊中的單個扇區不可讀,則文件系統將整個塊視為無效,並且不會根據請求返回內容,因此實際嘗試複製文件可能不會在可恢復數據量方面為您提供最佳結果。

相反,您可以考慮使用ddconv=noerror選項和 512 字節的預設塊大小,甚至ddrescue可以複製包含文件系統的整個分區,然後再复製文件。

引用自:https://serverfault.com/questions/489696