ソフト名:GNU ddrescue
開発者:Antonio Diaz氏
ライセンス:GNU GPL v3またはそれ以降
配布元:http://www.gnu.org/software/ddrescue/ddrescue.html

 GNU ddrescueは,読み出しエラーが多発するような壊れかけの記録媒体からデータを回収するツールです。読み出し可能なデータを先に回収する方式を採用しているので,一刻を争う事態でもより多くのデータを救出できます。

 HDDに不良が生じた際,最も重要なのはデータをいち早く回収することです。不良の原因がコントローラか機械的なものかを問わず,多くの場合で時間経過と共に問題が大きくなってしまい,回収できないデータが増えるからです。

 データ回収のポイントは「問題なく回収できるデータを優先して作業」することです。読み出しエラーが生じるデータにこだわってリトライを繰り返すと,その操作が原因でHDDの不良個所が広がる可能性があります。そうなれば,読み出せたはずのデータも失われてしまいます。

 データをファイルの形で記録しているならば,回収可能なファイルを優先的に回収することで被害を小さくできるでしょう。しかしHDDの故障状況によってはファイル・システムの動作そのものに支障が出て,データをうまく回収できないこともあります。また,データベース管理システムのデータ・ディスクやRAID(Redundant Arrays of Inexpensive/Independent Disks)の構成ディスクなどの場合は,ファイル・システム経由ではデータを回収できません。

 こうしたケースで役立つのが「GNU ddrescue」(以下,ddrescue)というデータ回収ツールです。ddrescueを利用すると,指定したブロック・デバイスのデータを読み出して,別のブロック・デバイスにコピーできます。ddrescueは,ほとんどのUNIX系OSで利用できます。WindowsにUNIX互換APIを提供する「Cygwin」環境下でも利用可能です。