檔案複製公用程式(如 rsync),具有 ddrescue 等錯誤處理功能,用於從有壞磁區或硬體故障的硬碟中復原資料

檔案複製公用程式(如 rsync),具有 ddrescue 等錯誤處理功能,用於從有壞磁區或硬體故障的硬碟中復原資料

我的硬碟有壞區塊或磁區,由於潛在的機械問題(例如壞磁碟頭、壞馬達或其他導致硬碟讀取資料極度緩慢且大量資料的問題)而無法讀取。我發現平均速度為50 KB/秒,其中一些讀取速度低於10 KB/秒,並且經常會卡在一個文件或扇區上,通常會持續相當長的時間— 從2-10 分鐘或更長時間(當使用 rsync,在超時之前)。

速度似乎變化很大,並且經常卡在文件上,當它最終「解除卡住」時,它似乎只持續很短的一段時間,然後再次卡住。該驅動器也非常安靜,只有偶爾的文件複製聲音(通常是在它短暫卡住/鬆開,然後再次卡住之前)。因此,不存在通常與 HDD 死亡相關的那些邪惡聲音。有人提出,這些問題聽起來可能是由磁頭未對準引起的,需要多次重新讀取才能最終成功讀取資料。聽起來似乎有道理,但我離題了…

不管怎樣,rsync 的問題是它似乎沒有像樣的錯誤處理支援。顯然,它並不是用於從故障硬碟恢復數據,但所有所謂的「數據恢復」實用程式都可以用於此類用途的工具通常專注於恢復已刪除的檔案或弄亂的分割區,而不是從損壞的硬碟上複製檔案。顯然,刪除的檔案恢復不是我所需要的,所以也許您可以理解我對無法找到我想要的東西的失望。

當然,您可能會說“您應該使用 ddrescue!”好吧,這一切都很好,但我已經備份了大部分數據,所以我只想恢復某些文件。我不關心像 ddrescue 那樣嘗試逐塊恢復完整分區。我只對拯救特定的文件和目錄感興趣。

理想情況下,我想要的是 rsync 和 ddrescue 之間的某種交叉:它可以讓我將來源和目標指定為普通文件(如rsync)的目錄(而不是ddrescue 所需的兩個完整分區),並可以在初始運行中跳過有錯誤的文件,然後允許我嘗試使用以下命令恢復這些檔案稍後運行中出現錯誤(當然,使用稍微改變的命令),甚至可能提供一個選項來指定重試嘗試的次數...就像ddrescue 與區塊一起工作一樣,只有我想要一個與特定檔案一起使用的實用程式/像 rsync 那樣的目錄。

那麼我是在這裡做白日夢,還是存在可以做到這一點的東西?或者,甚至可能是一種使 rsync 或 ddrescue 以這種方式工作的方法?我真的願意接受任何可能有效的解決方案,只要它們讓我選擇要“救援”的文件,並且可以跳過在初始運行中出現錯誤的文件,並稍後再次嘗試/重試這些錯誤。

到目前為止,我已經嘗試使用以下選項進行 rsync,但它經常卡在文件上的時間超過超時時間,理想情況下,我希望它移至下一個文件,並稍後返回到它獲取的文件卡住了。但我認為這是不可能的。無論如何,這是我到目前為止一直在使用的:

rsync -avP --stats --block-size=512 --timeout=600 /path/to/source/* /path/to/destination/

答案1

我有一台 3TB Hitachi,讀取速度非常慢,ddrescue 將在檔案層級運行。但不在目錄上。但我無法讓 ddrescue 的 --timeout 或 --min-read-rate 選項運作。

您可能希望在腳本中執行此操作以一次 ddrescue 一個檔案。

cat listoffiles | while read file
pipe while> do
pipe while> ls -l "$file"
pipe while> ddrescue -n -e1  "$file" /cc/RecoveredFiles/"$file" /cc/RecoveredFiles/"$file".llog
pipe while> date
done | tee -a  /cc/RecoveredFiles/ddrescue.log

答案2

也許自從提出這個問題以來,rsync 已經發生了變化。

我的經驗是,rsync目前從即將失效的硬碟上複製內容做得很好,

rsync -a <src> <dest>

如果遇到錯誤,它會快速繼續,並且在重新運行時會返回並再次嘗試這些檔案。

rsync --version報告 rsync version 2.6.9 protocol version 29

關於其他答案:

2011 年的答案似乎是在推廣與 ddrescue 等價的商業工具 - 沒有跡象表明它們具有文件感知能力。腥。 2013年的答案很有趣。

答案3

好問題,喜歡細節程度。對於在這種情況下運行良好的實用程序,我建議嘗試使用 Filescavenger奎泰克。它將允許超過 100 次的重複讀取,但更重要的是,它具有磁碟映像功能,允許您將整個內容轉儲到圖像中,而無需浪費時間嘗試評估文件,然後加載圖像並掃描它對​​於文件。該實用程式對於家庭用戶的運行費用為 50 美元,但您可以在花錢之前下載並測試它,看看可以從圖像中恢復什麼。

如果是專業用途,它將花費您相當多的錢,但會獲得重要的功能,包括對邏輯和硬體 raid 陣列的支援。

如果這也失敗了,那麼您可能已經無法使用軟體復原工具了。如果您是,並且您可以證明實驗室恢復的費用合理,請告訴我您所在的國家、州和城市。

克里斯

答案4

你要漸進式影印機。它的目標是處理整個驅動器,但由於它採用檔案路徑作為參數,因此它也應該適用於單一檔案。我認為它不適用於目錄——您必須指定每個文件。

相關內容