NTFS v3.0 include diverse nuove funzionalità rispetto ai suoi predecessori: supporto file sparse, quote di utilizzo del disco, punti di analisi, tracciamento dei collegamenti distribuiti e crittografia a livello di file chiamata Encrypting File System (EFS).
ScalabilitàEdit
NTFS è ottimizzato per cluster da 4 KB, ma supporta una dimensione massima del cluster di 2 MB. (Implementazioni precedenti supportano fino a 64 KB) La dimensione massima del volume NTFS che la specifica può supportare è 264 − 1 cluster, ma non tutte le implementazioni raggiungono questo massimo teorico, come discusso di seguito.,
La dimensione massima del volume NTFS implementata in Windows XP Professional è di 232-1 cluster, in parte a causa delle limitazioni della tabella delle partizioni. Ad esempio, utilizzando cluster da 64 KB, la dimensione massima del volume NTFS di Windows XP è di 256 TB meno 64 KB. Utilizzando la dimensione predefinita del cluster di 4 KB, la dimensione massima del volume NTFS è 16 TB meno 4 KB. Entrambi questi sono di gran lunga superiore al limite di 128 GB in Windows XP SP1., Poiché le tabelle delle partizioni sui dischi MBR (master Boot Record) supportano solo le dimensioni delle partizioni fino a 2 TB, è necessario combinare più volumi GUID Partition Table (GPT o “dynamic”) per creare un singolo volume NTFS superiore a 2 TB. L’avvio da un volume GPT a un ambiente Windows in modo supportato da Microsoft richiede un sistema con UEFI (Unified Extensible Firmware Interface) e supporto a 64 bit.
Il limite teorico massimo NTFS sulla dimensione dei singoli file è 16 EB (16 × 10246 o 264 byte) meno 1 KB, che ammonta a 18.446.744.073.709.550.592 byte., Con Windows 10 versione 1709 e Windows Server 2019, la dimensione massima del file implementato è 8 PB meno 2 MB o 9.007.199.252.643.840 byte.
JournalingEdit
NTFS è un file system di journaling e utilizza il registro NTFS (Log LogFile) per registrare le modifiche dei metadati al volume., È una funzionalità che FAT non fornisce e fondamentale per NTFS per garantire che le sue complesse strutture di dati interne rimangano coerenti in caso di arresti anomali del sistema o spostamenti di dati eseguiti dall’API di deframmentazione e consentire un facile rollback delle modifiche non committed a queste strutture di dati critici quando il volume viene rimontato. Strutture particolarmente interessate sono la bitmap di allocazione del volume, le modifiche ai record MFT come le mosse di alcuni attributi di lunghezza variabile memorizzati nei record MFT e negli elenchi di attributi e gli indici per le directory e i descrittori di sicurezza.,
La ($LogFile) formato si è evoluto attraverso diverse versioni:
Versione di Windows | $LogFile versione in formato |
---|---|
Windows NT 4.0 | 1.1 |
Windows 2000 | |
Windows XP | |
Windows Vista | |
Windows 7 | |
Windows 8 | |
Windows 8.,1 | 2.0 |
Windows 10 |
L’incompatibilità dei file di registro $versioni implementato da Windows 8.1 e Windows 10 impedisce a Windows 8 (e versioni precedenti di Windows) da elaborare correttamente i file di registro $nel caso in cui il volume NTFS è lasciato in stato danneggiato da un arresto improvviso o ibernazione per il disco in stato di disconnessione (un.k.un.: Ibrido di Avvio o di Avvio Veloce, che è attivata per impostazione predefinita in Windows 10). Questa incapacità di elaborare il v2.,0 del file di registro $su volumi sporchi da queste versioni precedenti di Windows si traduce in invocazione dell’utilità di riparazione del disco CHKDSK quando si esegue il doppio avvio di Windows 10 con questi sistemi precedenti. Esiste un’impostazione del Registro di Windows per impedire l’aggiornamento automatico del file di registro $alla versione più recente.
USN Journal (Update Sequence Number Journal) è una funzione di gestione del sistema che registra (in Extend Extend\Us UsnJrnl) le modifiche a file, flussi e directory sul volume, nonché i loro vari attributi e impostazioni di sicurezza., Il giornale è reso disponibile per le applicazioni per tenere traccia delle modifiche al volume. Questo giornale può essere abilitato o disabilitato su volumi non di sistema.
Hard linksEdit
La funzione hard link consente a nomi di file diversi di fare riferimento direttamente allo stesso contenuto del file. I collegamenti rigidi sono simili alle giunzioni di directory, ma si riferiscono invece ai file. Hard link possono collegare solo ai file nello stesso volume, perché ogni volume ha il proprio MFT. Gli hard link hanno i propri metadati del file, quindi una modifica delle dimensioni del file o degli attributi in un hard link potrebbe non aggiornare gli altri fino a quando non vengono aperti., I collegamenti rigidi sono stati originariamente inclusi per supportare il sottosistema POSIX in Windows NT.
Windows utilizza collegamenti rigidi per supportare nomi di file brevi (8.3) in NTFS. Il supporto del sistema operativo è necessario perché ci sono applicazioni legacy che possono funzionare solo con nomi di file 8.3. In questo caso, viene aggiunto un record di nome file aggiuntivo e una voce di directory, ma sia 8.3 che il nome di file lungo sono collegati e aggiornati insieme, a differenza di un normale collegamento rigido.
Il file system NTFS ha un limite di 1024 hard link su un file.,
Flussi di dati alternativi (ADS)Modifica
I flussi NTFS sono stati introdotti in Windows NT 3.1, per consentire a Services for Macintosh (SFM) di memorizzare fork di risorse. Sebbene le versioni attuali di Windows Server non includano più SFM, i prodotti Apple Filing Protocol (AFP) di terze parti (come Extremez-IP di GroupLogic) utilizzano ancora questa funzionalità del file system. ANNUNCI molto piccoli (denominati ” Zona.,Identifier”) vengono aggiunti da Internet Explorer e di recente da altri browser per contrassegnare i file scaricati da siti esterni come potenzialmente non sicuri da eseguire; la shell locale richiederebbe quindi la conferma dell’utente prima di aprirli. Quando l’utente indica che non desidera più questa finestra di conferma, questo ANNUNCIO viene eliminato.
I flussi alternativi non sono elencati in Esplora risorse e la loro dimensione non è inclusa nella dimensione del file. Quando il file viene copiato o spostato in un altro file system senza il supporto ADS, l’utente viene avvertito che i flussi di dati alternativi non possono essere conservati., In genere non viene fornito alcun avviso di questo tipo se il file è allegato a un’e-mail o caricato su un sito web. Pertanto, l’utilizzo di flussi alternativi per i dati critici può causare problemi. Microsoft fornisce uno strumento chiamato Streams per visualizzare i flussi su un volume selezionato. A partire da Windows PowerShell 3.0, è possibile gestire gli ANNUNCI in modo nativo con sei cmdlet: Add-Content, Clear-Content, Get-Content, Get-Item, Remove-Item, Set-Content.
Il malware ha utilizzato flussi di dati alternativi per nascondere il codice. Di conseguenza, gli scanner di malware e altri strumenti speciali ora controllano i flussi di dati alternativi.,
File compressionEdit
NTFS può comprimere i file utilizzando l’algoritmo LZNT1 (una variante di LZ77) I file vengono compressi in 16 blocchi di cluster. Con cluster da 4 KB, i file vengono compressi in blocchi da 64 KB. Gli algoritmi di compressione in NTFS sono progettati per supportare cluster di dimensioni fino a 4 KB. Quando la dimensione del cluster è maggiore di 4 KB su un volume NTFS, la compressione NTFS non è disponibile. Se la compressione riduce 64 KB di dati a 60 KB o meno, NTFS tratta le pagine da 4 KB non necessarie come cluster di file sparsi vuoti—non vengono scritti., Ciò consente ragionevoli tempi di accesso casuale in quanto il sistema operativo deve semplicemente seguire la catena di frammenti.
Nota: La sezione seguente si riferisce a test, ricerche e raccomandazioni fatte e destinate a dispositivi di archiviazione con un tempo di accesso elevato, come un HDD meccanico, in cui le teste interne utilizzate per la lettura dei dati devono essere spostate fisicamente e posizionate correttamente, quindi attendere che i dati sui dischi rotanti passino sotto di essi. Vedi più in basso per informazioni aggiornate su SSD e dispositivi simili con tempi di accesso ridotti.,
Tuttavia, i file comprimibili di grandi dimensioni diventano altamente frammentati poiché ogni blocco inferiore a 64 KB diventa un frammento. Secondo una ricerca del team di sviluppo NTFS di Microsoft, 50-60 GB è una dimensione massima ragionevole per un file compresso su un volume NTFS con una dimensione cluster (blocco) di 4 KB (predefinita). Questa dimensione massima ragionevole diminuisce drasticamente per volumi con dimensioni di cluster più piccole. I sistemi a singolo utente con spazio su disco rigido limitato possono beneficiare della compressione NTFS per file di piccole dimensioni, da 4 KB a 64 KB o più, a seconda della comprimibilità., I file più piccoli di circa 900 byte sono memorizzati all’interno della voce di directory del MFT.
Memoria flash, come unità SSD non hanno i ritardi di movimento della testa di unità disco rigido, quindi la frammentazione ha solo una penalità più piccola. Gli utenti di processori multi-core veloci troveranno miglioramenti nella velocità delle applicazioni comprimendo le loro applicazioni e dati, nonché una riduzione dello spazio utilizzato. Si noti che gli SSD con controller Sandforce già comprimono i dati. Tuttavia, poiché vengono trasferiti meno dati, vi è una riduzione dell’I/O.,
La compressione funziona meglio con i file che hanno contenuti ripetitivi, sono raramente scritti, di solito sono accessibili in sequenza e non sono essi stessi compressi. I file di registro sono un esempio ideale.
Se i file di sistema che sono necessari al momento dell’avvio (come driver, NTLDR, winload.exe, o BOOTMGR) sono compressi, il sistema potrebbe non riuscire ad avviarsi correttamente, perché i filtri di decompressione non sono ancora caricati. Le edizioni successive di Windows non consentono la compressione di file di sistema importanti.,
I file possono essere compressi o decompressi individualmente (modificando gli attributi avanzati) per un’unità, una directory o un albero di directory, diventando un valore predefinito per i file all’interno.
Sebbene l’accesso in lettura–scrittura ai file compressi sia trasparente, Microsoft consiglia di evitare la compressione su server o condivisioni di rete che detengono profili di roaming, poiché apporta un carico considerevole al processore.
COMPACTOS algorithmsEdit
Da Windows 10, Microsoft ha introdotto algoritmi aggiuntivi, vale a dire XPRESS4K/8K / 16K e LZX., Entrambi gli algoritmi sono basati su LZ77 con codifica di entropia di Huffman, che mancava a LZNT1. Questi algoritmi sono stati presi dal formato di imaging di Windows. Essi sono utilizzati principalmente per la nuova funzione CompactOS, che comprime l’intera partizione di sistema utilizzando uno di questi algoritmi. Possono anche essere attivati manualmente per file con il flag/exe
del comandocompact
. Quando viene utilizzato sui file, l’algoritmo CompactOS evita la frammentazione scrivendo dati compressi in blocchi contigui allocati.,
File sparse
Un file sparse: i byte vuoti non devono essere salvati, quindi possono essere rappresentati dai metadati.
I file sparsi sono file intervallati da segmenti vuoti per i quali non viene utilizzato spazio di archiviazione effettivo. Per le applicazioni, il file si presenta come un file normale con regioni vuote viste come regioni piene di zeri. Un file sparse non include necessariamente aree sparse di zeri; l’attributo” file sparse ” significa solo che il file è autorizzato ad averli.,
Le applicazioni di database, ad esempio, possono utilizzare file sparsi. Come per i file compressi, le dimensioni effettive dei file sparsi non vengono prese in considerazione quando si determinano i limiti delle quote.
Volume Shadow CopyEdit
Il Volume Shadow Copy Service (VSS) mantiene le versioni storiche di file e cartelle su volumi NTFS copiando i vecchi dati appena sovrascritti in shadow copy tramite la tecnica copy-on-write. L’utente può successivamente richiedere il ripristino di una versione precedente. Ciò consente anche ai programmi di backup dei dati di archiviare i file attualmente in uso dal file system., Su sistemi pesantemente caricati, Microsoft consiglia di impostare un volume di copia shadow su un disco separato.
Windows Vista ha anche introdotto copie shadow persistenti per l’utilizzo con funzionalità di Ripristino configurazione di sistema e versioni precedenti. Le copie shadow persistenti, tuttavia, vengono eliminate quando un sistema operativo precedente monta quel volume NTFS. Ciò accade perché il sistema operativo precedente non comprende il formato più recente delle copie shadow persistenti.,
TransactionsEdit
A partire da Windows Vista, le applicazioni possono utilizzare Transactional NTFS (TxF) per raggruppare più modifiche ai file in un’unica transazione. La transazione garantirà che tutte le modifiche si verifichino o nessuna di esse e che nessuna applicazione esterna alla transazione vedrà le modifiche fino a quando non verranno eseguite.
Utilizza tecniche simili a quelle utilizzate per le copie Shadow del volume (es., copy-on-write) per garantire che i dati sovrascritti possano essere ripristinati in modo sicuro e un registro CLFS per contrassegnare le transazioni che non sono ancora state commesse o quelle che sono state commesse ma non ancora completamente applicate (in caso di arresto anomalo del sistema durante un commit da parte di uno dei partecipanti).
Transactional NTFS non limita le transazioni al solo volume NTFS locale, ma include anche altri dati o operazioni transazionali in altre posizioni, come i dati memorizzati in volumi separati, il registro locale o database SQL o gli stati correnti dei servizi di sistema o dei servizi remoti., Queste transazioni sono coordinate a livello di rete con tutti i partecipanti che utilizzano un servizio specifico, il DTC, per garantire che tutti i partecipanti ricevano lo stesso stato di commit e per trasportare le modifiche che sono state convalidate da qualsiasi partecipante (in modo che gli altri possano invalidare le loro cache locali per i vecchi dati o ripristinare le loro modifiche Transactional NTFS consente, ad esempio, la creazione di file system distribuiti coerenti a livello di rete, anche con le loro cache locali live o offline.,
Microsoft sconsiglia ora l’uso di TxF: “Microsoft consiglia vivamente agli sviluppatori di utilizzare mezzi alternativi” poiché “TxF potrebbe non essere disponibile nelle versioni future di Microsoft Windows”.
SecurityEdit
In NTFS, a ciascun file o cartella viene assegnato un descrittore di sicurezza che ne definisce il proprietario e contiene due Access Control list (ACL). Il primo ACL, chiamato Discretionary Access Control list (DACL), definisce esattamente quale tipo di interazioni (ad esempio lettura, scrittura, esecuzione o eliminazione) sono consentite o vietate da quale utente o gruppi di utenti., Ad esempio, i file nel C:\Program File
cartella può essere letto ed eseguito da tutti gli utenti, ma modificato solo da un utente che detiene privilegi amministrativi. Windows Vista aggiunge informazioni di controllo di accesso obbligatorio a DACLs. I DACL sono l’obiettivo principale del controllo dell’account utente in Windows Vista e versioni successive.
Il secondo ACL, chiamato System Access Control List (SACL), definisce quali interazioni con il file o la cartella devono essere controllate e se devono essere registrate quando l’attività è riuscita, non riuscita o entrambe., Ad esempio, il controllo può essere abilitato sui file sensibili di un’azienda, in modo che i suoi manager sappiano quando qualcuno tenta di eliminarli o di crearne una copia e se riesce.
EncryptionEdit
Encrypting File System (EFS) fornisce una crittografia forte e trasparente per l’utente di qualsiasi file o cartella su un volume NTFS. EFS funziona in combinazione con il servizio EFS, CryptoAPI di Microsoft e la libreria di runtime del file system EFS (FSRTL)., EFS funziona crittografando un file con una chiave simmetrica di massa (nota anche come chiave di crittografia dei file, o FEK), che viene utilizzata perché richiede una quantità relativamente piccola di tempo per crittografare e decrittografare grandi quantità di dati rispetto a quando viene utilizzato un cifrario a chiave asimmetrica. La chiave simmetrica utilizzata per crittografare il file viene quindi crittografata con una chiave pubblica associata all’utente che ha crittografato il file e questi dati crittografati vengono memorizzati in un flusso di dati alternativo del file crittografato., Per decrittografare il file, il file system utilizza la chiave privata dell’utente per decrittografare la chiave simmetrica memorizzata nel flusso di dati. Quindi utilizza la chiave simmetrica per decifrare il file. Poiché questo viene fatto a livello di file system, è trasparente per l’utente. Inoltre, nel caso in cui un utente perda l’accesso alla propria chiave, il supporto per ulteriori chiavi di decrittografia è stato integrato nel sistema EFS, in modo che un agente di ripristino possa ancora accedere ai file, se necessario., La crittografia fornita da NTFS e la compressione fornita da NTFS si escludono a vicenda; tuttavia, NTFS può essere utilizzato per uno e uno strumento di terze parti per l’altro.
Il supporto di EFS non è disponibile nelle versioni Basic, Home e MediaCenter di Windows e deve essere attivato dopo l’installazione delle versioni Professional, Ultimate e Server di Windows o utilizzando gli strumenti di distribuzione enterprise all’interno dei domini Windows.
QuotasEdit
Quote disco sono state introdotte in NTFS v3., Consentono all’amministratore di un computer che esegue una versione di Windows che supporta NTFS di impostare una soglia di spazio su disco che gli utenti possono utilizzare. Consente inoltre agli amministratori di tenere traccia di quanto spazio su disco ogni utente sta utilizzando. Un amministratore può specificare un certo livello di spazio su disco che un utente può utilizzare prima di ricevere un avviso e quindi negare l’accesso all’utente una volta raggiunto il limite superiore di spazio. Le quote disco non tengono conto della compressione dei file trasparente di NTFS, se questa opzione è abilitata., Le applicazioni che interrogano la quantità di spazio libero vedranno anche la quantità di spazio libero lasciato all’utente a cui è stata applicata una quota.
Reparse pointsEdit
Introdotto in NTFS v3, i punti di reparse NTFS vengono utilizzati associando un tag reparse nell’attributo spazio utente di un file o directory. Microsoft include diversi tag predefiniti tra cui collegamenti simbolici, punti di giunzione directory e punti di montaggio del volume., Quando Object Manager analizza una ricerca del nome del file system e incontra un attributo reparse, ripartirà la ricerca del nome, passando i dati di reparse controllati dall’utente a tutti i driver di filtro del file system caricati in Windows. Ogni driver del filtro esamina i dati di analisi per vedere se è associato a quel punto di analisi e, se tale driver del filtro determina una corrispondenza, intercetta la richiesta del file system ed esegue la sua funzionalità speciale.
ResizingEdit
A partire da Windows Vista Microsoft ha aggiunto la capacità integrata di ridurre o espandere una partizione., Tuttavia, questa capacità non riloca frammenti di file di pagina o file che sono stati contrassegnati come inamovibili, quindi la riduzione di un volume richiede spesso il trasferimento o la disattivazione di qualsiasi file di pagina, l’indice di ricerca di Windows e qualsiasi copia Shadow utilizzata da Ripristino configurazione di sistema. Vari strumenti di terze parti sono in grado di ridimensionare le partizioni NTFS.