ファイルシステム別の基本構造と誤操作破壊耐性を比較


データ復旧のプロが教えるデータ復元から消去までの豆知識:メールマガジン

================================================================================
 ■■      ■             ■      豆知識  Vol.03-02
■  ■     ■             ■ ■ファイルシステムと誤操作耐性
■  ■ ◆■■ ■■■ ■ ■ ■■◆ ■■ ■ ■  ■  ■
■  ■ ■ ■ ■  ■■ ■  ■ ■   ■■  ■■ ■ ■■ ■ ■ ■
■  ■ ■ ■ ■  ■  ■  ■ ■ ■ ■ ■  ■ ■■ ■ ■ ■■■■
 ■■  ■ ■ ■■ ■   ■■◆ ■■ ■ ■ ■  ■ ■■  ■ ■
=============================================================2005.02.28=========

 過去にもファイル構造や一般の作業の中で起きる誤操作でのデータの喪失について触れ
 ましたが、もう一度取り上げてみる事に致しました。

 カメラ用の媒体やUSBメモリースティック等の様に容量の少ない媒体であれば内容を
 確認する手段がありますので、市販のソフトでデータ回収を行えるものか、諦めざるを
 得ないかの判断をお手元で行う事が可能です。 この方法をちょっと最後に追記して
 おきますので、万一の折には思い出していただければと思います。

 画像データそのものが上書きされてしまっていては私共のサービスでも回収してさし
 上げることは出来ませんので、誤ってフォーマットした、全削除をしたといった場合
 ご自身で確認して頂ければ無駄なお金を掛ける必要はありませんから。
--------------------------------------------------------------------------------
【FAT ファイルシステム】

┏━┳━┳━┳━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━━━━━━━┓
┃M┃ ┃B┃ ┃    ┃    ┃    ┃               ┃
┃B┃ ┃P┃ ┃FAT1┃FAT2┃ROOT┃ データ領域         ┃
┃R┃ ┃B┃ ┃    ┃    ┃    ┃               ┃
┗━┻━┻━┻━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━━━━━━━┛

-基本構造

・ MBR(Master Boot Record)   起動区画であれば起動プログラムと区画割当情報を格納
・ BPB(Boot Parameter Block) 起動区画であれば起動プログラムと自身の区画制御情報
               を格納
・ FAT1 & 2         ファイルが次にどこに書かれているかを示す情報を格納
               FATの先頭は “F8FFFFFF”h で始まり、2クラスタ目を
               示す位置から使用される。 “0000”h は未使用、
               “FFFF”hはファイルの最後を示す。
               FAT1 と FAT2 は全く同じ値を持つミラーとなっている
               為データ復旧ソフトではこのいずれを使うか選択出来る
               ものがある。
・ Root           当該区画を示すボリュームの最初に並ぶフォルダや
               ファイルの名称、書込み開始位置、作成/更新日付等が
               記録される。 標準では510個のフォルダ若しくは
               ファイル情報を記録する。
・ データ領域        サブフォルダ情報やファイル本体となるデータを記録
               する。

-FATシステムでのディレクトリとファイル本体の関係

・ 個別ファイルの情報はディレクトリに格納され、ここにはRootの項に上げた情報
  が格納されています。 この書込み開始位置情報がデータ本体が書かれている場所
  とFATの先頭からのオフセットを示しています。
・ ファイルが1クラスタで終わるサイズであれば、先のFATオフセットには
  “FFFF”hが書かれ、これがファイルの終わりである事を示します。
・ クラスタ・サイズを超えるファイルであれば、FATオフセットには次のデータを
  書いた位置(FATオフセット)が書き込まれています。

  このつながりの終端が“FFFF”hですので、これを追えば1つのファイルが
  完結します。
  最初に書き込んだ位置に続くクラスタが、ファイルの最後迄連続していない場合、
  分断ファイルとなります。 FATが失われるとこのファイルを書いた位置情報が
  失われますので、正常な回収が難しくなる訳です。

【NTFS ファイルシステム】
     0 Starting Cluster
┏━┳━┳━┳━━━┳━━━┳━━━━┳━━━┳━━━━━━━━━━━━━┳━┓
┃M┃ ┃B┃データ┃   ┃データ ┃MFT┃             ┃B┃
┃B┃ ┃P┃ 領域┃MFT┃ 領域 ┃ミラー┃ データ領域       ┃P┃
┃R┃ ┃B┃   ┃   ┃    ┃   ┃             ┃B┃
┗━┻━┻━┻━━━┻━━━┻━━━━┻━━━┻━━━━━━━━━━━━━┻━┛

-基本構造

・ MBRは基本的にFATと変わらず。
・ BPBも基本的にFATと変わらず。 いずれもOSの種類を示す情報は異なりあり
・ MFT(Master File Table) 全てのファイル名、ディレクトリ名称、日付情報、管理
              情報が格納されている。 小さなファイルはこの中に格納
              される場合もある。 MFTは1024バイトのレコード
              の集合として構成される。 初期に取られるサイズを
              超えると新たにMFTがデータ域の中に作られる。
  - metadata file    MFTの先頭16レコードは metadata file record と
              呼ばれるMFT構造定義情報域になっている。
  - Runlist       MFTの中にはRunlistという情報があり、ファイルをデータ
              領域のどこに書いたかを格納している。
・ MFT Mirror       MFTのコピー
・ BPB Mirror       BPBのコピー

- NTFSの種類     NT3.51/4.0/2000/XPの4種が存在する。

【UNIX系ファイルシステム】

UNIX系にはその成り立ちから、開発元により幾つかの系譜があり、夫々に異なりが
あります。 基本的な考えはほぼ同じですが、各々の論理ブロックの配置及びデータを
書く位置の決定法等に異なりがありますので、データ回収にも手間の掛かるシステム
です。 基本的な論理構成は次の様なものです。

┏━┳┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┳━━━┓
┃M┃┃Super ┃i-node┃データ┃i-node┃データ┃i-node┃データ┃i-node┃データ┃
┃B┃┃ Block┃ List ┃ 領域┃ List ┃ 領域┃ List ┃ 領域┃ List ┃ 領域┃
┃R┃┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┗━┻┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┻━━━┛
       |Cylinder Group|

-基本構造

・ MBR         MultiBootを構成出来るLinux系はFATと同じ
              他は固有の形態を有する。
・ Super Block       ここにはi-nodeの数等の情報が収められる。
・ i-node List       ディレクトリ、ファイルの情報が階層構造で収められる。
              i-node には構造情報を収める部分とデータをどう収めた
              かを示す情報がある。
・ データ領域       ファイルのデータ本体及びi-node の拡張情報を記録。

-UNIXの系統

Solaris            Sun Microsystems
AIX              IBM
BSD              Berklay (University of California, Berkeley)
UP-UX             Hewlet Packard
SGI              Silicon Graphics
SCO              Santa Crus Operation/Caldera
Linux             Red Hat/SuSE etc.

【FATとNTFSの一般的な誤操作破壊耐性比較】

(区画開放)   各トラックの先頭1セクタがFATシステムのルートの先まで
         “FF”hで埋められる

○ FAT    FAT1/FAT2双方の正常部で補間出来ればほぼ100%回収可
◎ NTFS   ファイル構造自体への破壊はないので、データ部に上書きがない限り
         100%回収可

(フォーマット)

▲ FAT    FAT及びROOTが初期化される為、サブディレクトリに残る
         ファイルの先頭を示す情報を基準に回収を行う以外手段がない。
         正常に回収されるか否かはそのファイルが分断されているか否かに
         左右される。
○ NTFS   MFT自体のRunlistが初期化される為、複数存在するMFT間の
         接続情報が失われるが、これを再構築する事が出来れば殆どを
         回収する事が出来る。 また、個別ファイルの接続情報は失われて
         ないので、回収されたファイルは上書きがない限り正常。

(削除)

▲ FAT    そのフォルダ及びファイルが使用しているFATの全てが消去され、
         ディレクトリツリーのメインパスの全てのファイルの先頭文字が
         “E5”hに置き換えられる。
         回収に当ってはDIRツリーの再構築を行う事になるが、クラスター
         サイズを超えているディレクトリについてはその接続先に関する情報
         が失われているため市販ソフトでは回収出来ないものが多い。
         FAT情報は消去されているので、当然ながら正常な形で回収される
         保証はない。
◎ NTFS   削除したフォルダやファイルに削除フラグが立ち、使用位置を示す
         マップテーブルの使用位置に該当するビットが消去される。
         回収に必要な情報は全て残っているので、上書きがない限り100%
         正常に回収可能。

以上は市販されるデータ復旧ソフトウェアでの回収にも当て嵌まります。

【UNIXの場合】

・ fsckの実行     与えたコマンドに従って構造を完全に書き換える為、
              これで失われた構造からの回収は不能。
・ rmの実行       内部に持つマップテーブルと当該ディレクトリ、ファイル
              に関わる情報を完全に消去する為、構造からの回収は不能
              但し、Linux ext2/3はファイルのデータ接続
              情報が残っている為、論理情報は失うがデータ本体の回収
              は可能。

これらから出来る事はヘッダ切り出し(拡張子固有のヘッダ情報に基づく回収)しか
方法はありません。 これを一般のユーザーの手元で行うには、当該HDDを装置から
取り外し、Windows マシンのセカンダリーに接続し、復旧ソフトのRAW
リカバリー(ファイルヘッダ基準の回収)を使用すれば、ファイル名をはじめとする
論理情報は失われていますが、回収出来る可能性があります。

UNIXは基本的に階層構造をとりますので、ディレクトリ/ファイル等の情報の削除
には夫々の移動を伴います。 その結果として、削除された構造は残る構造の情報で
上書きされ、空き領域が増える形となります。

UNIXに関してはデータ復旧ソフトはLinux用しか存在しない様です。 ただ、
ソフト自体が高額ですので、汎用とはいえません。

UNIX系では先に掲げた様に多くのファイルシステムが存在します。 これら全てに
対応し、旧ファイル構造を再構築して回収可能なデータ復旧業者は殆どなく、俗に言う
ヘッダ切り出しでの回収がほとんどです。 外部に回収を依頼される場合は必ずこの点を
確認する様お勧めします。

最近多くなったネットワークに直接接続するディスク装置(Network Attached Server)に
使用されているOSの殆どは、Linux系のものです。 また、これらの装置の管理は
Webブラウザから行う様になっており、OS自体を操作する事は出来ません。 この為
これらの共有領域にアクセス出来なくなった場合は、一般使用者の環境では手の打ち様が
ありません。 必ず、バックアップを含む異常管理を考えた上で使用して下さい。

【Macの場合】

(区画開放)  これは区画構造情報のみを変更する為、下層構造は全て残っており、
        データの回収は可能。

(フォーマット)基本構造情報領域の全てがクリアされるので、このなかにあった
        ファイルの回収は不能。 只、最近はファイルの数が増えており
        拡張構造を使用するケースがある為、この場合は、拡張域にある
        ファイルは構造情報を使って回収する事が可能。

(削除)    UNIXと同じく階層構造を採る為、削除されたフォルダやファイル
        に関する情報は全て失われる。

MacにはNortonをはじめ幾つかの復旧機能を有するソフトが存在します。
これらをインストールし、必要な機能を使用していれば、データ領域に構造情報のミラー
が作られていますので、これを基に回収する事が出来ます。

これらを使用していない場合は、UNIX同様ヘッダ切り出し以外に方法はありません。

【カメラ用媒体の場合】

カメラ用媒体で気を付けなければならない点は、同じFAT12/16システムを採り
ますが、その切替の容量が異なる点です。 FAT12はPCでは32MB未満の媒体
迄ですが、カメラ用媒体では64MB迄FAT12を使います。 32/64MB媒体は
PCでフォーマットすると撮影時になにが起きるか分かりません。 場合によっては
循環上書きが発生し、ファイル構造を破壊してしまいますので、充分注意して下さい。

また、カメラには消去の方法として、フォーマット、全駒削除、1枚削除の3つが用意
されているものが殆どですが、媒体の種類、メーカー、機種でその動作はまちまちです。

媒体の仕様上は、スマートメディア、xD、MemoryStickは全削除、
フォーマットは全領域の書込み評価を行い、メモリーの再マッピングを行う事が推奨
されている様ですので、これを守っている機種では、フォーマット、全駒削除を行った
場合、回収の可能性は全くありません。

カメラ上で削除は行わないでおけば、全て連続して書き込まれますので、万が一の場合
市販ソフトで全てを回収出来ます。 一度PCにセーブし、その内容を確認したら
カメラでフォーマットして使い始める様にすると良いでしょう。

もし、誤ってこれらの消去動作を行ってしまった場合、媒体内容の確認手段があります
ので、まずお手元で確認して下さい。 データ復旧を依頼して駄目では無駄なお金を
使う事になります。 私共がWebでご提供しています、EasyRecovery
Professionalのトライアル版をダウンロードしてお使い頂ければ、以下の
手順で確認する事が可能です。

【カメラ用媒体の内容確認の方法】

1. EasyRecovery Professional Trialを以下のページ
  からダウンロードしてください。

   >> ER Trial ダウンロード <<

2. 手順に従ってインストールしてください。

3. 媒体をUSB等お手持ちのユニットにセットして、システムが認識した事を
  確認して下さい。

4. インストールが完了していれば、デスクトップにトライアル版のアイコンが
  できていますので、これをクリックします。

5. 左側の窓で“DataRecovery”を選択します。

6. 右側の窓で“AdvancedRecovery”を選択します。

7. システムにぶら下っている媒体のチェックが始まり、媒体識別が終わると
  “保存先の警告”が表示されますので、よく読んだ上で“OK”をクリックします。

8. 左側の窓に表示されたシステムにぶら下っている記録媒体で認識出来たものが
  一覧で図示され、ファイルシステム、容量が示されるはずです。

9. 該当の媒体のドライブマークをクリックし、右下中央の“ディスクビューワ”を
  クリックします。 ディスクビューワの新しいウインドが開き、此処で該当の媒体を
  物理的アドレスの内容を参照する事が出来ます。

【カメラで撮影した画像の検索法】

  一般的カメラで撮影した画像にはそのヘッダに“Exif”という文字列が含まれ
  ますので、これを探します。(“JFIF”というものもあります。)

 a) 虫眼鏡マークをクリックすると検索文字列入力画面になります。
   ここで先ほどの“Exif”(半角で大文字小文字を間違わずに)と入力
   します。

 b) もしヘッダが残っていれば、必ず検索に掛かります。 そのヘッダの位置情報は
   ウインドウ下枠の物理セクタに先頭を“0”とした値で表示されています。
   何個ヘッダが残っているかを調べたければ、右矢印の付いた虫眼鏡をクリック
   すれば次を探してくれます。
   このヘッダの位置情報の差に512を掛けた値が画像の物理的なサイズに
   なります。

  全くこの検索に引っかからなかった場合は、画像ファイルは存在しないという事に
  なります。

  詳細に確認したい場合は、右矢印(セクタにジャンプ)でボタンを押し、“0”を
  入力して、媒体の先頭に戻ってルートに続く部分をセクタ単位に見て下さい。
  10-a) の操作で、タイプを16進に切替え、“2E2E2020”(全て半角)と
  入力し、検索ボタンをおします。 これで、ルートの先頭に位置づけられますので、
  これから右破線矢印でセクタを進め“FF”hで埋まったセクタが出、これ以降
  “FF”hが続く様であれば全て消去されている事になります。

  全体が消去されているが確認するには2分検索法を採っても良いでしょう。
  媒体の総セクタ数は先の8.の表示で円グラブの方をクリックすると選択した部分の
  情報として最後のセクタの値が表示されますので、この値を2で割りながら、その
  アドレスを先頭に向かってみてゆけば確認出来るはずです。 尚、最初のセクタと
  いうのがBPBにあたります。

 ちなみに、FAT16の各エリアの識別文字は

 MBR/BPB     “55AA”h
 FAT         “F8FFFFFF”h
 ディレクトリ先頭    “2E202020”h  になります。

 上記の検索手順はEasyRecoveryが認識したデバイスには使用する事が
 出来ます。時間は掛かりますが、HDDの中身を自在に見て行く事が可能です。
 書込みは行いませんので、安心してトライしてみてください。

【ファイルのヘッダ情報の確認方法】

 お使いのカメラのヘッダ情報を確認するには、正常な撮影画像をバイナリエディタで
 開き、最初のセクタのオフセット100より前にある固有の文字列を見つけて下さい。
 これを先の“Exif”の代わりに使用すれば画像先頭を検索出来ます。

 ディジタルカメラで撮った画像には通常、そのメーカー名、カメラの型式、撮影日付が
 格納されており、大体先頭から512バイト以内に入っています。
 バイナリエディタがない場合、これらで検索する事も可能です。 ただし、これは
 全てに当てはまるものではありませんのでご注意を。 大文字/小文字も別のコード
 ですので、この点にも注意してください。 日付は通常、2005:02:28
 という形で格納されています。(全て半角ですよ。)

 尚、高級1眼レフ型ではRAWフォーマットという専用のフォーマットで書く場合が
 あります。 この場合は、一切ヘッダー情報がないものがありますのでご注意下さい。

							以上

================================================================================
   A1Data RecoveryServices--
======================================================豆知識===Vol.03-02=END====

※本記事は、A1データ株式会社の前身、株式会社ワイ・イー・データ時代に執筆・記載されたコラムです。