Regzaの外付けHDDが突然、 「新しいUSBハードディスクを検出しました。登録を行いますか?登録時にハードディスクは初期化されます。」となってしまいました。同じ現象だったかは確かではありませんが、4,5年前にもHDDが見えなくなった経験がありました。そのときのことはうろ覚えですが、Ubuntu上のddrescureでひと月くらいかかってコピーしたように思います。
今回は、ネットで定番の方法(REGZA HDD Easy Repair)をやってみましたが、この方法では修復に至りませんでした。色々調べてみると、この方法は今回の原因に対する修復方法ではないようでした。
適切な情報源
- (追記:REGZA HDD Easy Repairで使っている)xfsrepairは不良セクターを修復できない。
認識しなくなった原因の8割以上が不良セクターの発生によるため、xfsrepairで治しても不完全。⇒不良セクターはHDD Regeneratorで修復できる。
- xfs_repairでLost+Foundフォルダに移動されファイル名が失われることがある。ファイルはあってもファイル名が分からないと、タイトルがなくなり、全復旧が不可能になる。
⇒復旧天使(Raise Data Recovery for XFS)では全ファイルがそのまま読み出せる場合が多い。⇒testdiskでパーティションを復旧後、Ubuntuで全ファイルが読み出せることがある。
- したがって、HDD Regeneratorで不良セクター修復、復旧天使(Raise Data Recovery)で録画ファイルをワーク用HDDへバックアップ、レグザでの認識に必要なUUID取得、新しいHDDへUUIDと録画番組を書き戻すのがベストです。
まず、CrystalDiskInfo で原因調査
不良セクタがあるときは、第一に不良セクタを修復することにつきます。私はここにたどり着くまでに、色々と迷路をさまよってしまいました。
REGZA HDD EASY Repairやxfs_repairs では返って状況を悪化させる恐れがあります。これらのソフトでは、HDD内のファイルが新規に作られる"lost+found"フォルダに移動してしまい、名前の情報なども崩れて回復不能になるらしいです。 そうならないために、最初にCrystalDiskInfoでセクタの不良を見つけたら、まずセクタ不良の修復を行うことが最優先事項になります。そして、Freeでセクタ修復を行えるソフトはHDD Regeneratorの一択です。
不良セクタがある状態で、HDDのコピーでファイルを取り出そうとしても、通常のコピーコマンドは不良セクタが無いことを前提に作られているので、不良セクタ箇所で止まってしまいます。これは、Nautilusでも同じです。
HDD Regeneratorの一択
Freeの不良セクタの修復ソフトは、HDD Regenerator しかありません。難点は、無料のトライ版では不良セクタを1ヶ所修復をできるだけです。普通は何か所も不良セクタができているので、Freeのトライ版なら何回も繰り返さねばなりません。場合によっては、非現実的な日数がかかります。
スタートセクタと終了セクタを細かく指定できるようですが、使い方に慣れていないと、こういった使い方は無理です。私は、まずprescanモードで不良セクタの数と位置を確認しました。2TのHDDですので、これに12時間以上かかりました。(図はネット上からお借りしています。)
この12時間のあいだに考えていたことは、「91個の不良セクタがあるので、うまく開始/終了セクタをしていできたとしても、現実的には無理だ」と半ばあきらめると同時に代わりのソフトを探していました。
ところが、CristalDiskInfo とHDD Regenerator は不良セクタの数え方が違うようです。今回のケースではHDD Regeneratorの 修復モードを1回走らせたら、直ってしまいました。
下図は説明のためにネット上からお借りしてきたのですが、
precsan で、
B - 1 sectors remain bad
R - 0 sectors recoverd
が、1回の修復によって、
B - 0 sectors remain bad
R - 1 sectors recoverd
になりました。そして、TVで問題なく再生できました。
EaseUS Partition Master;HDD Regeneratorの代替ソフト:Freeでは×
HDD Regeneratorでの不良セクターの修復には、論外の日数がかかりそうなので、一度に修復できそうな代替ソフトをGoogleで探してみました。
EaseUS Partition Master は一度に修復できそうですが、体験版では紹介記事にある下図のような修復メニューが出てきませんでした。
FromHDDtoSSD:Freeでは×
■ 不良セクタ修復 不良セクタレストレーション 操作方法本機能はサポートエディション・リカバリエディション・プロエディション・スマートエディションで対応いたします。
修復したHDDのクローンを作る
- 新HDDのフォーマット;REGZA TVで行う
- REGZAのHDD用の規定ファイル(.toshiba・・・・)のコピー;ubuntu Nautilusなどで行う
- 録画ファイル(1タイトルあたり4~5拡張子)のコピー;ubuntu Nautilusなどで行う
- REGZA TVの認識情報(UUID)のコピー;ubuntu コマンドで行う
もし、コピーが成功しなかったら
寿命が来ているHDDなら、読み書きしているうちに不良セクタがまたできることもあると思います。そのとき、HDD Regenerator と REGZA HDD Easy Copy を繰り返すのが正攻法だと思いますが、時間(日にち)がまたかかります。
試したことはないけど、こういうことを示しているブログがありました。
ここで、再度「REGZA HDD Easy Copy」を実行しても、実行のたびに最初からコピーのやり直しになるので、コピーできないファイルが多いと時間がとてつもなくかかります。
そこで、次は代わりにターミナルから次のコマンドを実行します。
xxxxxx,yyyyyyの部分はコピー元・コピー先ハードディスクのUUIDです。rsync が完了したら、次のサイトの (4)UUIDコピー を押すのを忘れずに実行してください。rsync -av --ignore-errors /media/ubuntu/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/* /media/ubuntu/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/
ddrescue
以前、REGZA HDDの調子がおかしくなったときは、ddrescueを使ったことを思い出しました。
ddrescue コマンドは、通常の dd コマンドとは違い不良セクタがあるハードディスクに(最適化)されたコマンドです。不良セクタは無視して、とりあえずクローン(コピー)を優先しのちに、不良部分を読み取りを行うというアルゴリズムになっています。
うまくいかなかった事例
- Ubuntu 12.04 Live USB を作成
- 「REGZA HDD Easy Repair」と「REGZA HDD Easy Copy」をインストール
- この段階で故障したHDDをPCに繋ぐと、Ubuntu のNautilusでHDD内のファイルアイコンが並んでいるのが確認できる。マウントはできている。
- 「REGZA HDD Easy Repair」で修復を試みるも、すぐ Fatal error input/output error となる。
- Windows上で、TestDisk を実施。URLの内容どうりに処置を実施。
- 再度、「REGZA HDD Easy Repair」で修復を試みるも、すぐ Fatal error input/output error となる。
- この段階で、xfsprogs パッケージのバージョンを確認(dpkg -l)すると、3.1.7 だったので、2.9.4-2 に入れ替えを実施。dpkg -l で変わったことを確認。
- 「REGZA HDD Easy Repair」で修復を試みると、Phase 3 - agno = 2 まで進むが、Input/output error で止まる。
- Terminalから、$ sudo xfs_repair -Lv /dev/sdc1 とやると、「REGZA HDD Easy Repair」と同じ段階で同じエラー(下記)でとまる。
【補足事項】
- ubuntu 12.04 を使う理由は、「REGZA HDD Easy Repair」が適応可能な最終バージョンだから。
- 今、ubuntu 12.04 を使うには、リポジトリ情報を古いサーバへ変更する必要がある。
リポジトリ情報が古く参照先サーバが404エラーで見つからず追加インストールが出来なかった。
引用元:パソコン経済学:REGZA HDD復旧メモ
対処1:リポジトリ情報の変更を行う。
参考③ /etc/apt/sources.listの参照先をold-releaes.ubuntu.comに変更。
sudo sed -i -e 's/archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
- REGZAのHDDは、xfsprogsが2.9.4-2までしか適用できない。インストールされているパッケージのバージョンを調べる(dpkg -l | grep xfs*)と 3.1.7 だったので、2.9.4-2をダウンロードして入れ替える必要がある。
$ sudo dpkg -i /aaa/ダウンロードしたフォルダ/xfsprogs_2.9.4-2_i386.deb
フォルダの指定は、太字まで打ち込んでおき、Nautilusからのペーストでできる。 - TestDiskは、パーティションの復旧。HDDに残っているブートセクタの痕跡をたどって、パーティションに関する情報を書き換える。