MFT(Master File Table・マスターファイルテーブル)について
MFTは、Master File Tableの略で、NTFS(New Technology File System)ファイルシステムにおける中心的なデータベースです。
ハードディスクをNTFS形式でフォーマットを実行すると先頭にブートセクタが書き込まれます。そして、次の領域にMFT用の領域が用意されます。一般的にはハードディスクの容量において数%をMFT用の領域として確保します。
Windowsオペレーティングシステムで広く使われているNTFSファイルシステムは、その信頼性とパフォーマンスの高さから、ハードドライブやSSD、その他のストレージデバイスにおいて標準的に利用されています。MFTは、ファイルシステム上のすべてのファイルとフォルダーに関する情報を含む重要な部分です。
NTFS形式以前のFAT32だとファイル名や属性情報はディレクトリエントリに書き込まれ、データが書き込まれている部分の情報はFAT(ファイルアロケーションテーブル)に分割して情報を格納しています。
ハードディスクに保存されるファイル数が増えると、MFT(Master File Table)の容量が不足することがあります。その際、ハードディスク内でMFTの拡張用にあらかじめ予約されていた領域が自動的に使用され、MFTの領域が拡張されます。しかし、MFT領域が分散してしまうことで、アクセス速度の低下や動作の不安定化が生じる可能性があります。特に、小さなファイルを大量に書き込む場合、その分MFTが破損するリスクが高まります。
一度拡張されたMFTは、ファイルを削除しても元のサイズには戻りません。MFTのサイズを減らすためには、ハードディスクをフォーマットし、新しいMFTを作成する必要がありますが、フォーマットする前には必ずデータのバックアップを取ることが重要です。
さらに、ハードディスクへの頻繁なファイルの読み書きや削除を行うと、MFTやデータ領域が断片化し、パソコンのパフォーマンスに悪影響を及ぼすことがあります。Windowsにはデータ領域の断片化を解消するデフラグ機能が搭載されていますが、この機能ではMFTの断片化を解消することはできません。また、デフラグを行う際に、正常だったデータが消失する可能性もあるため、事前にデータのバックアップを取ることが推奨されます。
Windowsでファイルを削除すると、MFT内の情報が破棄され、ファイルにアクセスできなくなりますが、実際のファイルデータはデータ領域に残っているため、ファイルの痕跡を探してデータを復旧することが可能です。また、MFTが損傷し、コピーによる復帰が不可能な場合でも、データ復旧が可能な場合があります。
ハードディスク以外の場合では異なる仕組みでデータ管理が行われるため、断片化の影響は少なく、デフラグは基本的に不要です。むしろ、SSDにデフラグを行うと寿命を縮める可能性があるため、注意が必要です。
MFTの役割
MFTは、ファイルやフォルダーの属性を記録することで、NTFSファイルシステム上でのデータ管理を行います。書籍における目次のような役割を果たします。具体的には、以下のような情報が含まれます。
- ファイル名
- 作成日時、最終アクセス日時、最終変更日時
- ファイルサイズ
- アクセス許可(セキュリティ情報)
- ファイルの実際の内容へのポインタ
- その他のメタデータ
MFTには、特定のファイルやフォルダーに関連するすべての属性情報がエントリとして保存されており、これによりファイルシステムの操作が効率化されます。
MFTの特徴
- 中央集権的管理: MFTは、ファイルシステム上の全てのファイルとフォルダーに関する情報を一箇所で管理します。これにより、ファイルの検索やアクセスが迅速に行えます。
- 高速アクセス: ファイルやフォルダーへの高速アクセスを実現するため、MFTは通常、ディスクの最も速い部分に配置されます。
- 堅牢性: NTFSファイルシステムは、MFTのコピーを別の場所に保持することで、データの安全性とファイルシステムの堅牢性を向上させます。これにより、MFTが損傷した場合でもデータを復元することが可能です。
- 柔軟性:データファイルが小さい場合には、ファイル自体をMFTの中に直接保存することもあります。これによってデータが1か所に集中し、小さいファイルが多数ある際にMFT領域のみを使用するのでデータ領域を節約することができます。
MFTの管理
Windowsでは、ユーザーが直接MFTを編集することは推奨されていません。NTFSファイルシステムは、MFTの整合性を維持し、システムの安定性を保つために自動的に管理されます。しかし、デフラグツールなどを使用して、ディスクの断片化を解消することでMFTのパフォーマンスを向上させることは可能です。
MFTは、NTFSファイルシステムの効率的な動作を支える核心的な部分であり、Windowsがファイルやフォルダーを管理する上で欠かせない役割を果たしています。
MFTの構造
- レコードの構成: 各MFTレコードは、通常1KBまたは4KBのサイズで、ファイルやディレクトリごとに割り当てられます。このレコードには、ファイル名、作成日時、変更日時、ファイルサイズ、アクセス権限などの基本情報が含まれています。
- 属性の種類: MFTレコードは、複数の「属性」で構成されており、これには「$FILE_NAME」、「$STANDARD_INFORMATION」などの標準属性の他に、「$DATA」属性があり、これが実際のファイルデータへのポインタを含みます。
MFTの仕組み
- ファイルの追跡: OSがファイルにアクセスする際、MFTを参照してそのファイルの場所、サイズ、属性などを確認します。これにより、ディスク上のデータの読み書きが効率的に行われます。
- 空間管理: MFT自体もディスク上のスペースを消費しますが、NTFSは「MFTゾーン」と呼ばれる領域を予約して、MFTの拡大がその他のファイル操作に影響を与えないように管理しています。
特記事項
- 断片化: MFTが大きくなるにつれて、MFT自体が断片化することがあります。NTFSはこれを最小限に抑えるための機能も持っていますが、高度な管理が必要になることもあります。
- 一度拡張されたMFT:保存したファイルを削除したとしても不可逆で元のサイズに戻ることはありません。ハードディスクをフォーマットすることで新しいMFT領域を用意することによって容量を小さくすることは可能ですが、必ず事前にバックアップの作成をしてください。
- セキュリティ: MFTにはセキュリティ関連の情報も格納されており、ファイルのアクセス権限管理にも利用されます。
まとめ
MFTが壊れてしまうと、文字化け、フォルダへのアクセスが不能になったり、ファイルが消えてしまって見えないようになったりとさまざまなトラブルが発生します。こういった場合にはファイルシステムの破損が考えられますのでチェックディスクを走らせたいと思う方も少なくはないと思いますが、この際に上書きをしてしまってデータが消失してしまうことがあります。そのため、パソコンでチェックディスクの実行を促す画面が出てきても、実行したら中断することができないので、すぐには実行しないでおくことをおすすめします。
以下のエラーコードが表示されたとしてもデータ復旧の可能性は十分にございます。まずは初期調査を行うことができますので、データスマートにお気軽にご相談ください。
・マスターファイルテーブルが壊れています
・ディスクからマスターファイルテーブルを回復しようとしています
・マスターファイルテーブルを回復できません