Hard-Disk

如何僅對硬碟驅動器的某些部分進行映像

  • April 25, 2015

我有一個失敗的硬碟驅動器,我需要從中提取數據。我的dd功夫現在讓我失望了。我知道驅動器在扇區 60515007 到 60517093(每個扇區 512b)和其他多個位置出現故障。我需要跳過那個區域。我該怎麼做dd?而且我需要即時壓縮它(可能是管道?)。你能推荐一個好的壓縮算法嗎?

如果你真的想這樣做dd,你需要拆分你的閱讀:

dd if=/dev/sda bs=512 count=60515006 | gzip -9 > dump1.gz

/dev/sda將轉儲to的前 60515006 個扇區dump1.gz,使用gzip. 然後

dd if=/dev/sda bs=512 skip=60517093 count=... | gzip -9 > dump2.gz

將跳過失敗的部分並轉儲下一個您需要的許多扇區dump2.gz

如果您可以在某處節省磁碟容量,我強烈建議您使用ddrescue;它可以自動複製故障磁碟(它不會因 I/O 錯誤而停止)。它的工作速度比dd(它從大塊讀取開始,並且只在需要檢索失敗部分周圍的數據時讀取較小的量)並且避免您必須找出所有跳過等。它不支持壓縮輸出,因為它需要尋找輸出文件。

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