日曜日, 2月 2, 2025

壊れかけた HDD / SSD からデータ復元( ddrescue )

HDDやSSDの読み書きが不安定で直ぐに交換したいけど可能な限りデータを残して移行した。
そんな時に活躍するのが ddrescue です。



クローンならddコマンドと思う方もいると思います。
しかし、動作が不安定な状況でddコマンドを使用してもクローンに失敗します。
そこで、ddrescueコマンドを使用します。



ddrescueはクローンをしながら読み込めないデータは0埋め等を行いログを吐いてくれます。
そしてそのログからエラー箇所だけ再度リトライする事も可能という優れたコマンドなんです。



デバイスが認識しているかとクローン元と先をシリアル番号でしっかり確認しましょう

[root@ubuntu:~]# hdparm -i /dev/sda
[root@ubuntu:~]# hdparm -i /dev/sdb



ddrescueのインストール

[root@ubuntu:~]# apt-get update
[root@ubuntu:~]# apt-get install gddrescue



クローン開始(クローン元とクローン先は何度も確認してください)

[root@ubuntu:~]# ddrescue -f -n -v /dev/sda /dev/sdb rescue_logfile.log

-f:上書き
-n:エラーを0埋め
-v:ステータス表示
デバイス:コピー元 コピー先
ログ:任意のファイル名



エラーが出た場合のクローンリトライ(エラーが出なければやる必要ありません)

[root@ubuntu:~]# ddrescue -d -f -r3 -v /dev/sda /dev/sdb rescue_logfile.log

-d:ダイレクトアクセス(キャッシュを介さずにアクセス)
-f:上書き
-r:リトライ回数
-v:ステータス表示
デバイス:コピー元 コピー先
ログ:任意のファイル名(初回実施の名前と同じにする)



上記のリトライを数回繰り返してもクローンができない場合はその個所のデータ復元の可能性は低いです。
まれに読み込める事はあるので何度もリトライする事はお勧めします。