壊れかけたHDDからのデータ復旧として、以前GNU ddrescueを紹介しましたが、より強力なツールがあるので紹介を。ただ、基本的には過去に、こういったケースが必要になった場合でもddrescueで困ったことがないのと、現時点で必要ないので、簡単な紹介程度に。
なお、不良セクタを持つドライブからのデータ救出に専用ツールが必要なのは、cpやrsyncでコピーしようとするとエラーが出た時点で処理が止まってしまいますが、データ救出専用ツールは読めるセクタを最優先に回収しながら、読めない箇所は後回しにするという「マルチパス戦略」を取り、ドライブへの負担を最小限にしつつ、回収できるデータを最大化するためです。
3つのツール比較
まず代表的な3つのツールを比較します。
GNU ddrescue
Linuxデータ救出の定番として長年使われてきたコマンドラインツールです。
sudo ddrescue -d -r3 /dev/sdb /mnt/rescue/disk.img rescue.log
強み
- インストールが簡単で、情報も豊富
- ログファイル(mapfile)で途中中断・再開が確実にできる
- 依存関係が少なく、ほぼどの環境でも動く
- スクリプトへの組み込みが容易
弱み
- GUIなし。コマンドライン操作のみ
- カーネルのSCSIエラーハンドラーを経由するため、ドライブが応答しなくなった際の検出が遅れることがある
- ヘッド単位での障害把握はできない
HDDSuperClone
2015〜2022年にScott Dwyer氏(ハンドルネーム「Maximus」)が開発した、より高度なデータ救出ツールです。2022年にオープンソース化されました。
強み
- ATAパススルーコマンドによるドライブとの直接通信
- 不良ヘッドを検出し、そのヘッドが担当するLBA領域をスキップして健全な部分を先に回収する「ヘッドマップ」機能
- ドライブが応答停止した際に即座に検出して処理を止める
- GUIあり(セクタマップをリアルタイム表示)
弱み
- 開発は2022年で終了
- 新しいLinuxカーネルではドライバーが動作しないことがある
OpenSuperClone
HDDSuperCloneのオープンソースフォークとして、ISpillMyDrink氏が現在も活発に開発しています。
HDDSuperCloneからの主な改善点
- カーネル 6.18 までOSCDriver(DKMS対応)が対応
- リトライ回数の上限が 8回 → 1000回 に拡張(SSD復旧に有効)
- ほぼすべての操作にツールチップを追加したUI改善
- SMART属性・Identifyフラグの大幅拡充
- リカバリー設定の保存・読み込みに対応
比較表
| 項目 | GNU ddrescue | HDDSuperClone | OpenSuperClone |
|---|---|---|---|
| 開発状況 | 現役 | 終了(2022年) | 現役 |
| GUI | ✗ | ✔ | ✔ |
| ATAパススルー | ✗ | ✔ | ✔ |
| ヘッドマップ機能 | ✗ | ✔ | ✔ |
| 現行カーネル対応 | ✔ | △ | ✔(〜6.18) |
| リトライ上限 | 無制限 | 8回 | 1000回 |
| 難易度 | 低〜中 | 中〜高 | 中〜高 |
| Live環境 | Clonezilla等 | HDDLiveCD | OSC-Live |
どれを選ぶべきか
状況に応じた使い分けはこのようになります。
GNU ddrescue で十分な場面
- ある程度健全なドライブのバックアップ・救出
- サーバーや自動化スクリプトに組み込みたい
- とにかくすぐに作業を始めたい
OpenSuperClone が必要な場面
- 異音・ヘッド不良など重度の物理障害が疑われる
- どのセクタ・どのヘッドが壊れているか把握しながら慎重に進めたい
- ddrescue で救出しきれなかったデータを諦めたくない
インストール不要でそのまま使えるOpenSuperClone-Liveを使用
強力なOpenSuperCloneですがビルドが面倒で、下記のような流れとなります。
git clone https://github.com/ISpillMyDrink/OpenSuperClone
cd OpenSuperClone
# READMEに従ってビルド・インストール
sudo make install
sudo opensuperclone
ただ、OSC-Live というLive Linux環境が公開されているので、これを使うのが良いでしょう。HDDSuperClone時代の「HDDLiveCD」の現代的な後継として開発されたLive ISOです。USBメモリに書き込んでPCを起動するだけで、OpenSuperCloneがすぐに使えます。
手軽なだけでなく、データを安全に保てるのもポイント。データ救出作業では、救出対象のドライブをOSがマウントしていない状態で作業するのが基本ですが、OSが起動しているストレージとは別のドライブから起動するLive環境は、この条件を自然に満たします。また、OSC-Liveにはddrescueも含まれているため、このライブ環境で両方のツールが使えます。
入手とUSBへの書き込み
SourceForgeからISOをダウンロードし、dd または Ventoy、Balena Etcher などでUSBに書き込みます。
Ventoy を使う場合はUSBを初期化後、ISOをコピーするだけ。dd を使う場合は下記(/dev/sdX はUSBデバイスに置き換えること)。もしくはディスクユーティリティを使ったほうが楽ですね。
sudo dd if=OSC-Live-*.iso of=/dev/sdX bs=4M status=progress
sync
使い方の流れ
- OSC-Live USBでPCを起動
- OpenSuperClone を起動(root権限で自動起動)
- 新規プロジェクトを作成
- OSCDriverをインストール(初回のみ)
- ソースドライブ(救出元)とターゲット(別HDD or イメージファイル)を指定
- クローンモードを選択して開始





