データ復旧の現場では、ストレージ上の「ファイルシステム(FileSystem)」と「ファイルカービング(FileCarving)」という2つの考え方を理解することが不可欠です。これらは、障害の内容や状態によって適切な復旧手法を選ぶための基礎となります。
ファイルシステムとは?
ファイルシステムは、ストレージ上のデータを整理・管理する仕組みです。ファイル名、保存場所、作成・更新日時などの「メタデータ」を保持し、ユーザーがデータにアクセスできるようにしています。言い換えれば、ファイルシステムはストレージ内にあるすべての情報に対する「目次」のような存在です。
代表的なファイルシステムには以下のようなものがあります:
- NTFS:Windowsで標準採用されており、アクセス制御や暗号化など高度な機能を備えた信頼性の高い形式。
- FAT32:古くから使われている形式でUSBメモリなどに多く採用されますが、4GBのファイルサイズ制限があります。
- exFAT:FAT32の後継で、大容量メディア向けに設計されており、WindowsとmacOSの両方に対応します。
- APFS:Appleの新しいファイルシステムで、スナップショットや暗号化に対応。macOSやiOSで使用されます。
- ext4:Linuxで広く使われる形式で、高速で安定しているのが特徴です。
- ZFS:大規模なデータ管理を想定して設計され、自己修復機能や圧縮機能を持つ高機能なファイルシステムです。
ファイルシステムが破損してしまうと、これらの「目次情報」が失われ、通常の方法ではファイルにアクセスすることが難しくなります。
ファイル削除の真実
一般的にファイルを削除すると、ストレージから完全に消去されたように見えますが、実際にはファイルの本体データはそのまま残っているケースが多くあります。削除とは、あくまでファイルシステム上の参照情報(目次)を消して、空き領域としてマークする処理です。
ただし、その空き領域に新しいデータが上書きされてしまうと、元のデータの復旧は困難になります。HDDでは比較的データが残りやすい一方で、SSDではTRIMという仕組みによって、削除と同時に物理的にデータが消去されることもあるため、復旧の可能性は低くなります。
ファイルカービングとは?
ファイルシステムの情報が使えない場合でも、ストレージ上に残る「データの中身」を頼りに復旧を試みる技術がファイルカービングです。これは、ファイルのヘッダー(開始部分)やフッター(終了部分)など、ファイル特有のデータ構造(シグネチャ)を手がかりにして、データを復元する方法です。
例えば:
- JPEGファイル:0xFF 0xD8(開始)、0xFF 0xD9(終了)
- PNGファイル:0x89 0x50 0x4E 0x47 で始まる
- MP4ファイル:ftypという識別子が含まれる
このようなパターンを検出し、ファイルの中身を切り出すことで復旧します。ファイル名や元の保存場所は分かりませんが、データそのものの復旧が可能です。
ファイルカービングの限界
ファイルカービングは強力な復旧手法ですが、以下のような制約もあります:
- ファイル名が復元できない:ファイルシステムを使わないため、自動で付けられた仮名(例:file0001.jpg)になります。
- 重複データの抽出:同じファイルが複数箇所に存在すると、それらすべてが復元対象になります。
- 断片化の影響:ファイルがストレージ上で分断されて保存されていた場合、正確に結合することが難しく、一部しか復元できないことがあります。
- 暗号化データの復旧困難:BitLockerやFileVaultなどで暗号化されたファイルは、復号キーがなければカービングによる復元はほぼ不可能です。
まとめ
ファイルシステムは「目次」、ファイルカービングは「本文からの直接復元」とも言える技術です。ストレージ障害の内容や媒体の特性に応じて、どちらのアプローチが適切かを判断することが、データ復旧の成功率を大きく左右します。
万が一の際には、データ上書きを防ぐためにも、早期の診断と専門的な復旧作業が重要です。