WindowsTemelDosya sistemi

$MFT (NTFS Ana Dosya Tablosu)

NTFS Ana Dosya Tablosu: her dosya için $STANDARD_INFORMATION ve $FILE_NAME zamanlarını, adları, üst dizinleri ve veri dizilerini tutan FILE kayıtları.

01Konum

  • <NTFS volume>\$MFT (MFT entry 0)
  • <NTFS volume>\$MFTMirr (MFT entry 1, copy of the first four entries)

02Yanıtladığı sorular

  • Hangi dosya ve dizinler var veya vardı (henüz yeniden kullanılmamış ayrılmamış girdiler)?
  • Üst dizin referanslarıyla yeniden oluşturulan tam dosya yolu nedir?
  • Dört $STANDARD_INFORMATION ve dört $FILE_NAME zaman damgası nedir?
  • Bir dosyanın sabit bağlantıları veya adlandırılmış veri akışları var mı?

03Biçim ve sürümler

BiçimGenellikle 1024 baytlık (boyut birim başlığında tanımlanır) MFT girdilerinden oluşan dizi; her girdi 'FILE' imzası, düzeltme değerleri ve öznitelikler içerir. Dosya referansı 48 bitlik girdi dizini ile 16 bitlik sıra numarasından oluşur. $STANDARD_INFORMATION 48 veya 72 bayttır; $FILE_NAME değişken boyutludur ve UTF-16LE ad saklar.
Geçerli olduğu sürümlerWindows'un kullandığı tüm NTFS birimleri; libfsntfs NT4 (NTFS 1.2) için yapısal farkları belirtir.

04Temel alanlar

AlanNe anlatır
Entry headerİmza, $LogFile sıra numarası (LSN), sıra numarası, bağlantı sayısı, bayraklar (kullanımda, dizin), temel kayıt referansı.
$STANDARD_INFORMATIONOluşturma, değiştirme, MFT girdisi değiştirme ve son erişim zamanları; öznitelik bayrakları; güvenlik tanımlayıcısı; USN.
$FILE_NAMEÜst dosya referansı, dört zaman damgası, ayrılmış ve veri boyutları, ad alanı ve ad; her ad veya sabit bağlantı için bir tane.
$DATAYerleşik veri veya veri dizileri; adlandırılmış $DATA öznitelikleri alternatif veri akışlarıdır.
$ATTRIBUTE_LISTDiğer MFT girdilerinde saklanan özniteliklere referanslar.

05Zaman damgaları

AlanKodlamaNot
$STANDARD_INFORMATION C / M / E / AFILETIME (UTC)Oluşturma, son değiştirme, MFT girdisi değiştirme ve son erişim.
$FILE_NAME C / M / E / AFILETIME (UTC)Aynı dört zaman, her $FILE_NAME özniteliğinde ayrıca tutulur.

Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.

06İnceleme akışı

  1. $MFT'yi (ve $MFTMirr'i) birimi okuma-yazma bağlamadan imajdan çıkarın.
  2. Kullanımda olarak işaretlenmeyenler dahil tüm girdileri ayrıştırın.
  3. Yolları üst referanslardan yeniden oluşturun; yeniden kullanılmış girdilere bağlanmamak için sıra numaralarını denetleyin.
  4. $STANDARD_INFORMATION ve $FILE_NAME zamanlarını karşılaştırın; $UsnJrnl (USN) ve $LogFile (LSN) ile ilişkilendirin.

07Yorum tuzakları

  • Silinen dosyaların girdileri boş olarak işaretlenip yeniden kullanılır; MFT küçülmez, bu nedenle eski girdiler yeniden kullanılana kadar kalabilir.
  • Bir girdi her serbest bırakıldığında sıra numarası artırılır; farklı sıra numaralı referanslar önceki bir dosyayı gösterir.
  • $FILE_NAME içindeki boyut değerleri her zaman doğru değildir; boyutları $DATA'dan alın.

09Kaynaklar

  1. New Technologies File System (NTFS) libyal / libfsntfs (J. Metz) · erişim 2026-10-14
  2. Master File Table (Local File Systems) Microsoft Learn · erişim 2026-10-14
  3. MFTECmd README Eric Zimmerman (GitHub) · erişim 2026-10-14