MFTが破損してしまうと、そのパーティションに対して正常なアクセスができなくなってしまいます。
そのうえうまく復旧できず、手に負えなくなってしまうことも多いです。

というのも、MFT破損の原因がハードディスクそのものにある、
つまり、ハードディスクが正常に読み書きできていない場合もあるからです。
いざ調べてみると、ハードディスクがエラー吐きまくりなんてことも珍しくありません。

しかし、ハードディスクは交換するとしても、中のデータは買うことができないので、
復旧方法を考えること自体は、決して無意味なことではありません。

そのためにはまず、MFTが何かということをおさえておく必要があります。
ほとんどの場合、MFTの修復とは、MFTを元の状態に戻すことではないからです。

「MFT」とは何か

「MFT」とは、「Master File Table」(マスターファイルテーブル)の略です。
NTFSの中核をなすデータ領域です。

MFTはNTFSパーティションごとに存在し、
パーティション内のどこにどんなファイルがあるかを記録した、住所録のようなものです。
つまり、MFTはNTFSというファイルシステムのインデックスです。
また、データサイズの小さいファイル(1KB未満)は、MFT自体に保存してしまうという特徴を持ちます。

だからMFTが破損してしまうと、パーティション内のファイルを見つけられなくなってしまいます。
ファイルによっては、MFTが壊れると同時にデータが失われます。

MFTの破損というのは、ファイルシステムの破損を意味します。
MFTはNTFSにとって非常に重要なものであり、そんなに壊れやすいものではありません。
それでもMFTが破損してしまうのは、ハードウェア側に原因があったりするからです。
※単に「故障しているから」というだけではなく。
このように万が一、MFTが破損してしまった時のために、
NTFSパーティションには、MFTのミラーが保存されています

「MFTを修復する」ということの意味

MFTは、NTFSパーティションでファイル操作をするたびに書き換えられます。
つまり、パソコンを使っている限り、毎日、毎時、毎分でも変更されています。

だから、たとえMFTにバックアップがあったとしても、
それを破損したMFTと置き換えるというのは、あまり意味がない
のです。
MFTをバックアップした時と、MFTが破損した時とでは、ハードディスク内のデータ構造が異なるからです。

一方、バックアップではなく、ミラーというものがあります。
ミラーとは、まったく同じものを、予備として別に保存しておくというものです。

前述のとおり、NTFSパーティション内には、MFTのミラーが保存されています。
TestDisk」を使えば、現在のMFTがMFTミラーと異なる場合、
MFTミラーを用いてMFTを修復できる可能性があります。

ところが実際には、MFTとMFTミラーは一致していることが多いのです。※もっとも、ミラーとはそういうものですが。
つまり、MFTとMFTミラー双方が破損した状態で保存されているわけです。
こうなると、予備のデータを使ってどうこう、という話ではなくなってきます。

結局、ほとんどの場合で、破損した情報をもとにMFTを修正していく必要があるのです。
従って、MFTの修復には非常に大きなリスクを伴います
MFTが破損した状態では、どれが必要なデータか不明確だからです。
ユーザーの希望通りにMFTの修復作業が完了することは、まずないでしょう。

さらに、MFTを修正するということは、MFTを上書きします。
MFTの修復は、不可逆な操作なのです。
結果うまくいかなかったとしても、元に戻すことはできません。

今までアクセスできていたファイルが、見つからなくなるかもしれません。
ファイルが存在するように見えても、データサイズは「0」になってしまうかもしれません。
いずれにせよ、やってみなければわかりませんが、
MFTの修復は、データを復元するわけではないので、危険性はかなり高いということを認識しておいてください。
必要なデータは、事前に必ずバックアップを取っておくべきです。

MFTを修復する - その[1]

MFTは、Windowsによって作成、管理されているものです。
MFTを用いるNTFS自体がMicrosoftの作ったものであり、NTFSの仕様の詳細は公開されていないため、
良くも悪くもMFTを正しく扱えるのはWindowsだけなんです。

従って、MFTを修復する機能もWindowsに用意されています。
「チェックディスク」というプログラムがそれです。
たとえWindowsが通常起動できなくても、チェックディスクを実行する方法はあります。
詳細は下記ページにて。

NTFSの修復

MFTを修復する - その[2]

これは、ちょっとイレギュラーな方法です。
ただし、MFTの修復はリスクが高いと書いてきましたが、こちらは完全に動作保証対象外です。

MFTはチェックディスクで修復するのが基本ですが、
チェックディスクは指定したパーティション全体が対象となるため、MFTに対して大掛かりな変更を加えることになります。
変更箇所が多ければ多いほど、リスクも高まります。
本来なら、加える変更は最小限にして復旧できたほうがいいです。

そこで、別のシステムを使ってMFTに問題があるパーティションを確認してみます。
たとえば、KNOPPIX」を使って、MFTに問題があるパーティションを開いてみます
すると、Windowsでは正常認識できないパーティションでも、KNOPPIXでは普通に認識できることがあります

これは、WindowsとLinuxで、NTFSパーティションの解釈の仕方が違うからだと思います。
どちらかというとWindowsは厳密で、KNOPPIXはあいまいです。
ブートセクタやファイルシステムに多少問題があっても、
すんなり認識できてしまうこともあるのがKNOPPIXのいいところです。

もし、KNOPPIXを使って修復対象のパーティションにアクセスできた場合は、
修復対象の箇所にファイルを保存します。※もちろん、事前にバックアップは取っておいてください。
これは、ファイルを保存することが目的なので、ファイルは何でもいいです。
つまり、ファイルを保存することで、KNOPPIXによってMFTを書き換えてしまうのです。

無事、KNOPPIXでファイルを保存することができたら、再起動します。
うまくいけば、MFTが書き直されることで、Windowsからもファイルシステムを正常認識できるようになります。