← Torna al blog

Dati residenti: piccoli file che vivono dentro l'MFT

· 2 min di lettura

Ogni file NTFS ha un attributo $DATA che ne contiene il contenuto. Per la maggior parte dei file $DATA è non residente — punta a una lista di cluster run altrove sul volume. Ma quando un file è abbastanza piccolo, i suoi byte vivono dentro al record MFT stesso.

Quanto piccolo è abbastanza piccolo?

Un record MFT occupa 1024 byte. Sottraendo l'intestazione del record, $STANDARD_INFORMATION, almeno un $FILE_NAME e altri metadati, restano circa 700 byte di spazio utilizzabile per $DATA.

File più piccoli di tanto — frammenti di configurazione, valori di registro, target di collegamenti, script batch, alcune righe di log — vivono spesso interamente dentro l'MFT.

Perché conta

Un attributo $DATA residente può essere recuperato senza leggere il resto del disco. Se hai una copia di $MFT, hai già:

  • Il contenuto integrale dei file di testo piccoli
  • Una grande quantità di dati $INDEX_ROOT per le cartelle
  • Flussi di dati alternativi corti
  • Reparse point e target di link simbolici

È una quantità sorprendente di prove in un unico estratto da 200 MB.

Residente non vuol dire stabile

Quando un file residente supera lo spazio libero del record, NTFS lo converte in non residente — i dati si spostano nei cluster e $DATA diventa una runlist. Può accadere anche il contrario: un file ridotto sotto la soglia può tornare residente, anche se Windows lo fa raramente di propria iniziativa.

In triage, un file che un tempo era grande e oggi è residente è inusuale. Vale uno sguardo più attento.

Risorse esterne