答え1
GNU はddrescue
、まず大きなブロック サイズを使用して正常なブロックをすばやくコピーし、次にオプションで、最初のパスで失敗したブロック内の小さなブロックを読み取って、より多くのデータを回復しようとします。これには、まだ欠落している領域を記録するログ ファイルが必要であり、出力はランダム アクセスが可能なファイルまたはディスクに送られる必要があります。ログ ファイルが存在する状態で再度実行すると、ddrescue
欠落している部分のみを再度読み取ります。
Kurt Garloff はdd_rescue
データを順番にコピーし、stdout にキャプチャできるようにします。たとえば、ファイルに書き込む前にデータを圧縮します。読み取りエラーが発生すると、dd_rescue
一時的に小さいブロック サイズに切り替えて、問題のある領域からデータを回復してから、ディスクの残りの部分を続行します。