Esplorazione della gestione dei file nel file system NTFS
Scopri la guida essenziale per comprendere i file nel sistema NTFS con questo tutorial completo. Se sei curioso di sapere come NTFS gestisce i file o hai bisogno di approfondimenti sulla sua funzionalità, sei nel posto giusto. Forniamo soluzioni ed spiegazioni di esperti per aiutarti a navigare e gestire i file senza sforzo all’interno di NTFS. Apprendi i passaggi fondamentali e ottieni indicazioni per garantire la sicurezza dei tuoi dati preziosi memorizzati nei file system NTFS.

Che cos’è NTFS?
Microsoft ha sviluppato il New Technology File System come file system per sostituire l’oramai obsoleto FAT. Invece di tentare di mantenere la compatibilità con i sistemi più vecchi, RAID 50 Microsoft decise di sviluppare il nuovo file system da zero. Di conseguenza, NTFS fu un progetto completamente nuovo, abbandonando l’eredità della file allocation table e implementando un approccio modulare rivoluzionario, rendendo il nuovo design del file system più logico e semplice che mai.
Rispetto a FAT, il nuovo file system è stato realizzato per essere estremamente robusto e ricco di funzionalità. Ancora oggi NTFS rimane tra i migliori file system, funzionando in modo affidabile su milioni di computer.
| Parametro | FAT | NTFS |
|---|---|---|
| Nome completo | File Allocation Table | New Technology File System |
| Anno di sviluppo | 1977 | 1993 |
| Dimensione massima del file | 4 GB | 16 TB (o più a seconda della versione) |
| Dimensione massima del volume | 8 TB | 256 TB |
| Supporto journaling | No | Sì |
| Prestazioni | Elevate su volumi piccoli | Migliori su volumi grandi e con file di grandi dimensioni |
| Sicurezza | Nessuna protezione integrata | Supporta crittografia e controllo degli accessi |
| Compatibilità | Ampia, supportato da quasi tutti i dispositivi | Meno compatibile di FAT, ma supportato da Windows e da alcuni altri sistemi operativi |
| Utilizzo | Dispositivi di archiviazione piccoli, unità USB | Dischi rigidi, partizioni di sistema, gestione di file di grandi dimensioni |
Come riparare un disco RAW e recuperare dati da un HDD con partizioni RAW
Tutto è un file
In FAT nessuna singola entità poteva essere definita un “file”. NTFS elevò la definizione di file a un livello completamente nuovo, introducendo un concetto completamente rielaborato di memorizzazione delle informazioni. Nel nuovo file system tutti i tipi di dati, comprese le strutture di sistema, sono rappresentati universalmente come file. Inoltre, in NTFS il file system stesso è memorizzato in file individuali!
NTFS memorizza tutti i dati di sistema e di amministrazione del file system in file. Queste sono le stesse informazioni che altri file system tengono in aree nascoste normalmente situate all’inizio del disco con indirizzi fisici fissi. In NTFS non è necessario riservare indirizzi fisici specifici sul disco per alcun tipo particolare di dato, come tabelle di allocazione dei file, tabelle delle partizioni o log delle transazioni. Queste informazioni sono memorizzate come normali file che possono essere fisicamente collocati ovunque sul volume NTFS. Se necessario, questi file possono essere ridimensionati (di solito aumentati; le tabelle dei file crescono rapidamente quando aumenta il numero di file memorizzati sul volume). Quando si ridimensionano tali file, il file system utilizza esattamente gli stessi meccanismi applicabili a tutti gli altri file, come immagini e documenti. Inoltre, se sul volume non è disponibile un blocco contiguo di spazio libero, il file system frammenterà semplicemente il file usando i blocchi liberi disponibili.
Questo concetto rappresenta una differenza fondamentale tra NTFS e la maggior parte degli altri file system. Diversamente dagli altri file system, NTFS non ha una struttura fissa legata a determinati indirizzi fisici sull’HDD. A differenza di FAT, non possiede aree specifiche dedicate a strutture di sistema, tabelle dei file o dati. In NTFS, l’intero file system è considerato un’area dati, quindi qualsiasi file può essere memorizzato in qualsiasi parte del volume. L’unica eccezione inevitabile è il settore di avvio e il codice di avvio situati nei primi settori del volume.
Come recuperare i dati dopo aver formattato un disco rigido, una chiavetta USB / scheda di memoria
Tabella principale dei file (Master File Table, MFT)
NTFS memorizza le informazioni sui file e sulle directory nella Master File Table (MFT). Questa tabella dei file contiene informazioni su ogni file e directory elencati nel file system. Ogni file o directory ha almeno un record nella MFT.
Il formato dei record MFT è estremamente semplice. Ogni record è esattamente di 1 KB di dimensione. I primi 42 byte nell’intestazione hanno una struttura fissa, mentre il resto del record è utilizzato per memorizzare attributi come il nome del file o attributi di sistema. Il numero di attributi così come la dimensione di ciascun attributo possono variare.
Caratteristica unica di NTFS è la capacità di memorizzare file di piccole dimensioni direttamente “in loco”. L’intero contenuto di un file piccolo può essere conservato come attributo in un record MFT, migliorando notevolmente le prestazioni di lettura e riducendo lo spazio su disco sprecato (spazio “slack”).

Fig. 1. Un record MFT che include l’intestazione e tre attributi.
Formato del record MFT
Secondo le specifiche, la dimensione del record MFT è determinata dal valore di una variabile nel settore di avvio. In termini pratici, tutte le versioni correnti di Microsoft Windows utilizzano record di dimensione pari a 1024 byte. I primi 42 byte contengono l’intestazione. L’intestazione contiene 12 campi. Gli altri 982 byte non hanno una struttura fissa e vengono utilizzati per conservare gli attributi.
Il formato del record MFT è semplice e ben organizzato, garantendo operazioni di file veloci per l’uso normale e fornendo anche strumenti per individuare file eliminati.
È possibile considerare i record MFT come cassette di sicurezza con un’etichetta. L’etichetta (i primi 42 byte) identifica e descrive la cassetta, mentre lo spazio all’interno della cassetta (982 byte) permette di inserire una varietà di elementi (attributi). Il loro numero e la loro dimensione sono limitati solo dallo spazio disponibile.
Indirizzamento dei record MFT
I record MFT sono indirizzati in un sistema a 48 bit. Il primo record ha indirizzo zero. L’indirizzo dell’ultimo record cambia man mano che la MFT cresce. L’indirizzo dell’ultimo record può essere calcolato dividendo la dimensione del file $MFT per la dimensione di ciascun record. Considerando che ogni record è di esattamente 1 KB in tutte le versioni esistenti di Windows, questo compito è banale.
Tutti i record MFT sono numerati. Ogni record ha un numero di indice a 16 bit chiamato numero del record MFT. Questo numero aumenta ogni volta che viene creato un nuovo record.
Prendiamo, ad esempio, il record MFT 313 con un numero di indice pari a 1. Se eliminiamo un file assegnato a quel record e lo assegniamo a un file diverso, il record MFT riceverà un valore di indice pari a 2.
L’indirizzo del file è formato nel seguente modo. L’indirizzo di un record MFT è unito con il numero del record MFT che occupa i 16 bit più alti. In questo modo il sistema crea un indirizzo base del file unico a 64 bit.

Fig. 2. Indirizzo base del file ottenuto unendo l’indirizzo del record MFT con il suo numero.
Per indirizzare un record MFT, NTFS utilizza il numero del record MFT. L’uso di un numero univoco offre un’ulteriore comodità quando si tratta di rilevare e correggere danni nel file system. Ad esempio, se si verifica un errore nel momento in cui una struttura dati viene assegnata a un nuovo file, il sistema può determinare se il record appartiene al nuovo file o al suo predecessore tramite il numero del record MFT. Per noi, questo significa che il numero del record MFT può essere utilizzato per recuperare informazioni dai volumi NTFS.
Attributi MFT
Come abbiamo già discusso, NTFS è un file system unico. Diversamente da FAT, NTFS non ha una struttura di record fissa. Ogni record MFT possiede una strutturazione minima. Ogni record ha un’intestazione e uno spazio per memorizzare una varietà di attributi. In NTFS, qualsiasi cosa può essere un attributo, fino e compreso il contenuto effettivo di un file.
Gli attributi possono contenere molti tipi di informazioni. Ovviamente, differenti tipi di dati possono essere memorizzati in formati diversi e occupare più o meno spazio nel record MFT.

Fig. 3. Un record MFT con un’intestazione, due attributi e spazio inutilizzato.
Come abbiamo visto, gli attributi possono contenere qualsiasi tipo di dato. Tuttavia, ogni attributo ha un’intestazione. Il formato dell’intestazione è standard per tutti gli attributi; il contenuto può variare notevolmente.
Nell’articolo “All’interno di NTFS: algoritmo di recupero dei file”, descriveremo il processo di ricerca e recupero di un file eliminato.

