always one step forward

バッファロー社製NAS (LS-CH1.0TL) のHDD復旧記 by TestDisk

購入から約2年弱、通常のバックアップとTime Machine用に併用していた1TBのNASが "故障" し、かなり遠回りしたあげく、HDD中身のデータを取り出せたので、備忘の復旧記として残しておく。

さっとフォーマットしてしまう道もあったけれど、iTunesライブラリや、残しておきたい10年近く前の書類など、簡単にあきらめきれないデータがあった。

これまでの知識をわりと総動員した感もあり、あきらめずに取り組めば結果が残る、といういい経験にもなった。

(※ 厳密にいうと、元のNAS用HDDとして使用可能な状態にしたわけではなく、中のHDDを再活用した、という内容です)

結論:思い返せば最短ルートは‥

  • 前者に早めに気づき、後者を知っていれば何と言うことのない作業だったと思う
    • HDDの該当パーティションはXFS形式でフォーマットされていた
    • Linuxがそれを読み取れる環境の一つ。fsck.xfs コマンド実行で対処

故障を" "でくくったのも、物理的に故障したのではなく、システム上で単に認識されなくなっただけ、という状況は、対処の中で徐々にはっきりしていた。最終的には以下を組んでHDDのデータを読み出せた:

ハードウェア:

パソコン本体 MacBook Air (Mid 2013) ⇔ USB接続のHDDケース - HDD

ソフトウェア:

Mac OS X 10.8.4 - VMWare 5.0.3 - LinuxUbuntu 12.04 LTS 64ビット版) ⇔ HDDのXFSパーティション

ちなみにNASはこれ↓

BUFFALO ネットワーク対応HDD LinkStation 1.0TB LS-CH1.0TL

BUFFALO ネットワーク対応HDD LinkStation 1.0TB LS-CH1.0TL

現在はさすがに終息していて、後継モデルはこれ↓

BUFFALO NAS(ネットワークHDD) 【iPhone5対応(WebAccess i)】 1TB LS-X1.0TLJ

BUFFALO NAS(ネットワークHDD) 【iPhone5対応(WebAccess i)】 1TB LS-X1.0TLJ

原因

何かの拍子に(*)パーティションテーブルが壊れ、NAS本体のソフトウェア側からデータ格納領域が認識できなくなったもよう。結局(*)の直接の原因は不明

ただ、1つのHDDを複数パーティションに分け、

  • 一方をデータ置き場(iTunesライブラリ含む)に:アクセス頻度小
  • 他方をTime Machine用(いわゆる逐次バックアップ)に:アクセス頻度大

という運用をしていたのは、遠い一因かもしれない。頻度の異なるアクセスが、長期間、たまに同時に起こったりする状況は、HDDの構造を考えれば、いかにもよろしくない

発端

  • ある日、NAS本体のインジケータが赤でゆっくり3回点滅を繰り返していた
  • 最初は、ああファームウェアアップデートかな、とWeb管理画面から確認するも更新なし。再起動しても現象変わらず
    • おや、とサポートページを見てみると「エラーコードE30」「ハードディスクが故障しています。弊社修理センターへ修理をご依頼ください」のパターン
  • 保証期間は終わっていて、いくらくらいかかるのかな、と金額を確認すると、予想通り、新しく1台買えるオーダーと判明

USB接続で状態を確認

  • まあ、修理に出してもデータ内容が保証されるはずはなく(データ復旧サービスではないので当然と言えば当然)分解の道へ
  • 分解の時点で、保証期間有無にかかわらず、メーカー修理対象にもならない点も理解しつつ‥
  • 本体サイズから予想した通り3.5インチHDDが鎮座。Seagate

 20130824_0908_NAS - 01

  • 接続はSATAだった
    • ※もう少し細かく撮った写真をおまけとして末尾へ置きました

 20130824_0908_NAS - 06

  • このケースにHDDを差し込み、パソコン(MacBook Air)にUSB接続
  • (ここでマウントされてフォルダが見えるかな、と浅い期待をしていたものの)「認識されません」とつれない表示。苦難の始まり

 20130824_0908_NAS - 08

  • とりあえず [無視] としてディスクユーティリティを試すもさんざん(=検証、修復とも不可能)

 20130824_0908_NAS - 10

  • Windows 8 からはどう見えるだろう?とVMWare Fusionを起動
  • 同じUSB接続のまま物理ドライブは認識されるものの(E, F, G, H, I, Jドライブ)、「ファイル システム」が「RAW」
    • RAW なんて見たことないけど、いろいろ調べると、要は未フォーマットとしか認識できない状態
    • そのパーティションに何か設定しようとすると「フォーマットしますか?」ウィンドウが表示
    • [キャンセル] で粘って方法を探る

 20130824_0908_NAS - 09

  • この時点で、なぜかデータを読み取れはしないものの、ディスクユーティリティでもWindowsでも、パーティション自体は認識されているし、Windowsからは各容量も参照できていることがわかった
    • 落下衝撃などで物理障害を起こすと、これらの情報さえ読み取れない状態でアウト、なのを(学生時代含めて)何件か経験している。接続してもマウントさえされない状態
  • これは何となく、いわゆるパーティションテーブルが壊れた状態かな、といろいろ検索を始めた

サルベージソフトウェア調査

  • Mac上で使用可能なディスク復旧ソフトウェアがいくつか見つかる。Amazon上には例えば:

データレスキュー3

データレスキュー3

  • ただ市販品というくくりではWindows版のほうが種類豊富だった。本質的には扱えるファイルシステムが多少異なるだけ、と思うけれど、ニーズの大きさに差があるのだろうか。(あまり追っていない)
  • Mac対応版はたとえば以下のようなページによくまとまっている。海外製が多い

  • いくつかの試用版でHDDをスキャンすると、各パーティションのファイルの情報は読み取れる

    • 試用版なので「スキャンだけで、データ復旧は出来ません」「64kBまでのファイル1つは復旧できます」と制限があり、全領域を対象にするには購入しかない
    • 数千〜1万円、この金額でも仕方ないか、と思っていたところ、下記のフリーソフトを見つけた。これでうまくいかなければどれかを購入していたと思う

TestDiskとの邂逅

TestDisk is powerful free data recovery software! It was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software, certain types of viruses or human error (such as accidentally deleting a Partition Table). Partition table recovery using TestDisk is really easy.

  • 試訳:TestDiskは強力なデータ復旧ソフトです。失われたパーティション(情報)の復旧、および/または、起動しなくなったディスクを再度起動可能な状態にできます。このような兆候が、ソフトウェアの過失、ウイルス感染、あるいは人間のミス(パーティションテーブルをうっかり削除してしまった場合など)により生じたような場合に有効です。TestDiskを使用するとパーティションテーブルの復旧が容易です。

  • 今回の目的にあった方法だ。素っ気ないCUIだけのソフトウェアだけど、よく読むとかなりのファイルシステムに対応していて汎用性が高い

  • 日本語情報はこのページが参考になった
  • いろいろ試して、結果の見方がよくわからず、ログファイルをフォーラムへ書き込み、以下のようにもらった返事で確証を得て、復旧へ至ることができた
  • 2013.12 - スクリーンショットを順に撮ったので、別エントリを書きました

You have choosen to write the wrong partition table. The original one was correct. Please run TestDisk, Analyse, Quick Search, Write, confirm, Quit and restart your computer. Once it's done, as root, run fsck.xfs /dev/disk1s4

Ubuntu登場

  • XFSフォーマットのHDDは、そのままではWindowsでもMacでも認識できなかった
    • MacFUSEなどそれらしいドライバ導入を試すもうまくいかず
  • UNIX系のファイルシステムなので、面倒だけどVMware上にUbuntu環境をこしらえた

  • ようやくゴールか!? と思いきや認識してくれない

    • ls /mediamount では見えていて、下図のようにディスクユーティリティでも対応するパーティションは表示されている
    • 右下に小さく「xfsprogs, xfsdump が要ります」メッセージが(このあたりはLinuxの親切なところ)

 20130824_0908_NAS - 41

  • なるほどXFS自体がもうUNIX時代のものなのか、と自分がたどってこなかった過去を望郷しつつ、ソフトウェアセンターで検索してインストール

 20130824_0908_NAS - 42

  • インストール後、使用可能になった xfs がつくコマンド一覧を眺め、ようやくゴールの光が見えてきたと実感

 20130824_0908_NAS - 43

  • fsck.xfs を実行して、マウントされたパーティション内のデータも正常に見える状態に!welcome back, 長かった

 20130824_0908_NAS - 44

無事取り出し完了

  • 取り出したかったデータをあらかたUSBメモリや別のHDDへ退避し、安堵しながらHDDをフォーマット
    • どうせMac側で再フォーマットするので、ここでは確実に認識されるFAT32にした

 20130824_0908_NAS - 47

  • Ubuntuは終了、Mac側でHDDを認識できたので「Mac OS 拡張」でフォーマット。ディスクユーティリティでの検証でも無事なことを確認

 20130824_0908_NAS - 49

 20130824_0908_NAS - 50

  • 結局、パーティションテーブルが壊れただけで、物理的には(まだ)大丈夫ぽかったので、普通の外付けHDDとして使用中

現代のバックアップ考

  • とっておきたいデータが数十GB単位の場合。スマートに、より確実にバックアップできる環境は何だろうか?
    • もはやCD-Rの時代ではなく、DVDでも足りない
    • 1つはブルーレイディスク、あるいはクラウドストレージ。消極的な選択肢としてUSBメモリ
    • けれど価格vs容量のトレードオフを考えると一番こなれているのがやっぱり外付けHDD
    • 5年もすればSSDかもしれない。あるいはいま開発段階のまったく別の保存方法か
  • 要は何らかの形で、消したくないデータはまめにバックアップしておかなければ、と思った(結局これ)

おまけ写真:NAS分解の儀

バッファロー社製NAS LS-CH1.0TL(現在は生産終了)の分解後写真。HDDのほかは小さい基板で、ああこんなもんかという印象。もちろんここにNASの機能が集約されていて、この基板がむしろ「NAS本体」ともいえる

  • カバーをあけた

 20130824_0908_NAS - 02

  • 小さいファンが接続されている。電源は基板から

 20130824_0908_NAS - 03

  • LAN接続端子(単純なHDDケースと違って、これがあるのがNASならでは)

 20130824_0908_NAS - 05

  • NAS本体基板の表側
    • 左下に縦長のSATA接続端子、左上に電源端子、右上にUSB接続端子、その左に電源On/Off/Autoのディップスイッチ

 20130824_0908_NAS - 07

  • 基板の裏側はこう

 20130824_0908_NAS - 04