まず、使用するソフトウェアについて:ddrescue
を使用してみてください。 dd
の代わりに .
ddrescue
限られた回数の再試行のみを行うスイッチがあります。ログファイルを使用することもできるため、どのブロックが不良であったかを記録します。後でさらに再試行したい場合は、同じを使用できます ddrescue
を実行するためのログファイル また さまざまなオプション (より多くの再試行など) を使用すると、必要なブロックのみを再試行します。
使用例:
# ddrescue -n /dev/sda /dev/sdb rescue.log
# ddrescue -r1 /dev/sda /dev/sdb rescue.log
ddrescue
から 情報ページ:
-n, --no-scrape
Skip the scraping phase. Avoids spending a lot of time
trying to rescue the most difficult parts of the file.
-r, --retry-passes=<n>
Exit after given number of retry passes. Defaults to 0.
-1 means infinity. Every bad sector is tried only once
in each pass. To retry bad sectors detected on a previous
run, you must specify a non-zero number of retry passes.
ddrescue
を使用するための追加のソースを次に示します。 :
info ddrescue
- http://www.forensicswiki.org/wiki/Ddrescue
編集
HDD 自体に時間がかかりすぎる場合は、TLER という機能を有効にしてみてください。 (T ime L 模倣 E エラー R 回復) または CCTL (C コマンド C 完了 T ime L 模倣)。すべての HDD に搭載されているわけではありませんが、HDD コントローラー自体の時間を制限するために使用できます。このアプローチは ddrecue
の使用と組み合わせることができます もちろんです。
Linux には smartctl
というツールがあります (smartmontools
で パッケージ)
現在の設定を確認するには (「無効」とは無制限の時間を意味しますが、これは望ましくありません):
# smartctl -l scterc /dev/sda
固定値 (この例では 5.0 秒。0 に設定すると TLER が無効になります) に設定するには:
# smartctl -l scterc,50,50 /dev/sda
TLER のソース:http://en.wikipedia.org/wiki/TLER
このソフトウェアを使用すると、他の方法では読み取れないディスクから良い結果が得られました。
http://www.cgsecurity.org/wiki/TestDisk
この次のものもしっかりした回復ツールです。ファイル テーブルが壊れていたり、ファイルが削除されていたりしても、ファイルを取得できます。これは非常に優れた法医学ツールです。本当に整理されていない方法で物をダンプしますが、すべてのデータを移動できます。
http://www.cgsecurity.org/wiki/PhotoRec
ディスクをレスキューするための迅速かつ迅速なオプションとして、sh スクリプト ファイルを使用し、sh でファイルを実行できます。この行が含まれています。sudo ddrescue
を繰り返すだけです と sleep 3
あと数回。スリープは、ドライブを数秒間休ませるために使用されます:
#! /bin/sh -e
sudo ddrescue -d -r0 -e +0 -T 1s -n /dev/drivepartition file.img log.logfile
sleep 3
上記で使用したオプション:
-r0
:再試行なし-e +0
:最初のエラーで終了-T 1s
:1 秒の読み取り失敗で終了-d
:ダイレクト I/O-n
:擦り傷なし
-R
を使用できます オプション -A
で終了した後 一度、それはすべてのエラーサイズを逆にして削除し、逆方向に再開します。エラーの読み方が異なることを意味します。