結論: NTFS 上で削除されたファイルは、通常、MFT レコード スロットが再利用され、データ クラスタが上書きされるまで復元可能です。小さなファイルなら、内容は MFT レコード自体 の中に格納されていることが多く、クラスタが消えても生き残ります。信頼できるワークフローは、ボリュームの使用を止め、イメージング し、その後フォレンジック パーサーで MFT をリプレイするか、ディスクから FILE シグネチャをカービングすることです。
削除が消去にならない理由
Windows が NTFS ボリュームからファイルを削除すると、3 つのことが起こり、1 つのことは起こりません。
- ファイルの MFT レコードの 使用中 フラグがクリアされる。
- ファイルのデータを保持していたクラスタが
$Bitmap内で空きとしてマークされる。 - 親ディレクトリのインデックス エントリが削除される。
起こら ない こと: 実際にレコードやクラスタを上書きするものは何もありません。次の割り当てに使えるとマークされるだけです。何か他のものがそれらを取るまで、ファイルは復元可能です。フィールド単位の詳細は NTFS でファイルを削除したときに何が残るか を参照してください。
ステップ 1: ボリュームへの書き込みを止める
ボリュームへの書き込みのたびに、削除レコードのスロットやデータ クラスタが再利用されるリスクがあります。ファイルが重要なら:
- そのファイルに触れたアプリケーションを停止する。
- ファイルがシステム ドライブにあり、システムがまだ動いている場合、OS 自体が絶えず書き込んでいます。電源を落とすか、外部メディアからブートしてください。
- 外付けドライブなら、直ちにアンマウントしてください。
ステップ 2: ディスクをイメージング する
オリジナルではなく、必ずコピーで作業します。標準的な選択肢:
- FTK Imager — 無償、GUI、
.ddや.E01イメージを生成。読み出し時にソースをハッシュ化します。 dd(Linux/macOS)— ビット単位コピー。dd if=/dev/sdX of=disk.img bs=4M conv=noerror,sync status=progress。ddrescue— 遅いが、故障しかけのドライブの読み取りエラーに耐えます。
取得直後にイメージを SHA-256 でハッシュ化してください。以降のすべての手順はイメージに対して行います。
ステップ 3: 3 つのアプローチのいずれかで復元する
MFT リプレイ — $MFT を解析し(イメージから抽出するか、その場で読む)、削除済みレコードを列挙するツールにかけます。削除ファイルの名前、タイムスタンプ、そして(小さなファイルでは)データがレコード自体から復元できます。
- MFTECmd は削除レコードを列挙し、常駐データにタグを付けます。
- 本サイトのブラウザ パーサー はワン クリックで削除エントリにフィルタし、そのメタデータを CSV にエクスポートできます。
ファイル システム認識型の復旧ツール — ライブ ファイル システム(またはイメージ)を読み、削除ファイルを選択的に復元します。
- R-Studio — 商用、NTFS のアナリストご用達。複雑な損傷に対応します。
- TestDisk + PhotoRec — 無償、成熟、パーティション損傷とシグネチャ カービングに強い。
- Recuva — コンシューマ向けですが、単一ドライブ・単一ファイルの復元には十分。
シグネチャ カービング — MFT が失われた場合、scalpel、foremost、PhotoRec が既知のファイル シグネチャ(JPEG FF D8 FF、PNG 89 50 4E 47、ZIP 50 4B 03 04 など)を生イメージから走査し、見つかったものを再構築します。カービングされたファイルはファイル名とタイムスタンプを失います — それらは MFT に入っていました — が、バイト自体は戻ってきます。
本当に復元不能なものは?
- 上書きされたクラスタ。 現代の HDD では、一度上書きされたデータを現実的に復元する道はありません。古いフォレンジック文献の「残留磁化」復元の話は、今十年に製造されたドライブには当てはまりません。
- TRIM で回収された SSD ブロック。 SSD コントローラが TRIM を完了すると、基盤の フラッシュ はガベージ コレクションの過程でゼロ化されます。データはすぐに失われます。
- キーのない暗号化ボリューム。 BitLocker、VeraCrypt、または LUKS で暗号化された NTFS ボリュームは、復元キーなしでは復元不能です — 平文はそもそもディスクに触れていません。
MFT 復元しか手がない場合
ファイルが小さなテキスト ファイル、小さな JSON 設定、小さなスクリプトだったなら、データはおそらく 常駐 — 別のクラスタではなく MFT レコード内にインラインで格納されていました。$Bitmap が何十回も上書きされても、スロットが再利用されるまで常駐バイトはレコードに残っています。resident data を参照してください。
こうしたファイルでは、ブラウザ パーサー がしばしば最速の経路です。エクスポートした $MFT をドロップし、削除エントリにフィルタし、常駐 $DATA を持つレコードを探し、バイトをコピーして取り出します。
よくある質問
NTFS の削除ファイルはどのくらい復元可能ですか?
MFT スロットが再利用され、データ クラスタが上書きされるまでです。多忙なシステムでは数時間、待機状態のシステムでは数か月になることもあります。固定のタイマーはありません。
ごみ箱を空にすると復元は難しくなりますか?
いいえ。ごみ箱は各ボリュームの隠しディレクトリ($Recycle.Bin)に過ぎません。「空にする」は通常通りファイルを削除します — 同じ復元手法が適用されます。
del /F や Shift+Delete で削除したファイルは復元できますか?
はい — ごみ箱をスキップしますが、削除の仕組みは同じです。MFT レコードは再利用されるまでそこにあります。
フォーマットされた NTFS ドライブからファイルを復元できますか?
クイック フォーマットはブート セクタと新しい $MFT を書き直すだけです。古いデータ クラスタの大部分は無傷で、以前の MFT レコードの多くも残ります(NTFS は同じ開始オフセットを再利用します)。シグネチャ カービングで多くが復元できます。フル フォーマットはボリュームをゼロ化します — そのデータは失われます。