Data-Recovery

ddrescue:只重讀好扇區?

  • January 23, 2019

在將損壞的文件系統映像到另一個硬碟驅動器上的文件之前,我決定乾執行ddrescue(將獲救的輸出扔到/dev/null)只是為了查看有多少數據不可讀:

# ddrescue -d -b 4096 -r 3 -f /dev/sda1 /dev/null sda1.log

最終花了3天時間完成。現在我準備製作一個真實的圖像,但我不想再等 3 天才能完成。但是,幸運的是,因為我有一個日誌文件,是否可以強制ddrescue只拯救好扇區而不觸及壞扇區?

閱讀了一些文件後,我想出了以下想法:

# ddrescue -d -b 4096 --fill=+ /dev/sda1 /mnt/sda1.img sda1.log

這行得通嗎?是否有另一種(首選)方法可以只重讀好扇區?

徹底重讀ddrescue手冊,發現以下選項:

-m file

--domain-logfile=file

將救援域限制為在日誌文件中標記為已完成的塊。如果目標驅動器在救援過程中發生故障,這很有用。

所以呼叫ddrescue看起來像這樣:

# ddrescue -d -b 4096 -m sda1.log /dev/sda1 /mnt/sda1.img logfile2.log

2018年快速編輯:

ddrescue從幾年前開始,我有時會使用它來拯救硬碟驅動器。

dd比在具有真正破損表面的硬碟上更快的東西。

dd真的很安全,我的第一篇文章保持真實。

原帖

這是一個非常糟糕的主意

我說的是在將損壞的文件系統映像到另一個硬碟驅動器上的文件之前

當磁碟驅動器損壞時,每次您嘗試訪問驅動器時,損壞通常都會增加。

因此,挽救損壞驅動器的好方法是****通過一次不間斷的操作從頭到尾複製整個磁碟來製作映像!. 之後:拔下磁碟驅動器並安靜地儲存它們。因為:您觸摸損壞的驅動器越少,您必須恢復某些東西的機會就越大。

由於每次機械接觸破碎材料都可能造成更多損壞,因此您從上次操作中獲得的日誌不能作為了解現在哪個塊損壞的參考。

我個人,不要使用ddrescue. 我使用dd了一段時間,這個工具可以滿足我的所有需求:

dd bs=512 if=/dev/sdX of=/backuprepo/sdXBroken.img conv=noerror,sync

而且,我讓它耐心地工作。

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