Individuare e correggere i problemi di spazio su disco nei volumi NTFS

Questo articolo illustra come controllare l'allocazione dello spazio su disco di un file system NTFS per individuare file e cartelle danneggiati o cercare il danneggiamento del volume nei computer basati su Microsoft Windows Server 2003.

Si applica a: Windows Server 2003
Numero KB originale: 814594

Riepilogo

NTFS supporta molte funzionalità a livello di volume e file che possono causare la perdita o la segnalazione errata dello spazio disponibile su disco. Ad esempio, un volume NTFS può sembrare improvvisamente pieno senza motivo e un amministratore non riesce a trovare la causa o individuare le cartelle e i file che causano l'errore. Ciò può verificarsi se si è verificato un accesso dannoso o non autorizzato a un volume NTFS in cui si sono verificati file di grandi dimensioni o una quantità elevata di file di piccole dimensioni copiati in segreto. Questi file hanno quindi le autorizzazioni NTFS rimosse o limitate. Questo comportamento può verificarsi anche dopo un malfunzionamento del computer o un'interruzione dell'alimentazione che causa il danneggiamento del volume.

L'allocazione dello spazio su disco di un volume NTFS può sembrare non segnalata correttamente per uno dei motivi seguenti:

  • Le dimensioni del cluster del volume NTFS sono troppo grandi per i file di dimensioni medie archiviati in tale posizione.
  • Gli attributi dei file o le autorizzazioni NTFS impediscono a Esplora risorse o a un prompt dei comandi di Windows di visualizzare o accedere a file o cartelle.
  • Il percorso della cartella supera i 255 caratteri.
  • Le cartelle o i file contengono nomi di file non validi o riservati.
  • I metafile NTFS ,ad esempio la tabella file master, sono cresciuti e non è possibile deallocarli.
  • I file o le cartelle contengono flussi di dati alternativi.
  • Il danneggiamento NTFS fa sì che lo spazio disponibile venga segnalato come in uso.
  • Altre funzionalità NTFS possono causare confusione nell'allocazione dei file.

Le informazioni seguenti consentono di ottimizzare, ripristinare o ottenere una migliore comprensione del modo in cui i volumi NTFS usano lo spazio su disco.

Le dimensioni del cluster sono troppo grandi

Solo i file e le cartelle che includono metafile NTFS interni, ad esempio MFT (Master File Table), indici di cartelle e altri, possono utilizzare spazio su disco. Questi file e cartelle utilizzano tutte le allocazioni di spazio file usando multipli di un cluster. Un cluster è una raccolta di settori contigui. Le dimensioni del cluster sono determinate dalle dimensioni della partizione quando il volume è formattato.

Quando viene creato un file, usa almeno un singolo cluster di spazio su disco, a seconda delle dimensioni iniziali del file. Quando i dati vengono aggiunti successivamente a un file, NTFS aumenta l'allocazione del file in multipli delle dimensioni del cluster.

Per determinare le dimensioni correnti del cluster e le statistiche del volume, eseguire un comando chkdsk di sola lettura da un prompt dei comandi. A tale scopo, seguire questa procedura:

  1. Fare clic su Start, fare clic su Esegui, digitare cmd e quindi fare clic su OK.

  2. Al prompt dei comandi digitare il comando : chkdsk d:.

    Dove d: è la lettera dell'unità che si desidera controllare.

  3. Fare clic su OK.

  4. Visualizzare l'output risultante. Ad esempio:

    4096543 kb di spazio totale su disco. <--- Capacità totale del disco formattato.
    2906360 KB nei file del 19901. <--- Spazio utilizzato dai dati dei file utente.
    6344 KB in 1301 indici. <--- Spazio utilizzato dagli indici NTFS.
    0 KB in settori non validi. <--- spazio perso a smarrimento dei settori.
    49379 KB in uso dal sistema. <--- include MFT e altri metafile NTFS.
    22544 KB occupato dal file di log. <--- file di log NTFS - (può essere regolato usando chkdsk /L:size)
    1134460 KB disponibile su disco. <--- Spazio disponibile su disco

    4096 byte in ogni unità di allocazione. <--- dimensioni del cluster. (4K)
    1024135 unità di allocazione totali su disco. <--- totale cluster su disco.
    283615 unità di allocazione disponibili su disco. <--- Cluster gratuiti disponibili.

Nota

Moltiplicare ogni valore segnalato dall'output in kilobyte (KB) per 1024 per determinare conteggi di byte accurati. Ad esempio: 2906360 x 1024 = 2.976.112.640 byte. È possibile usare queste informazioni per determinare come viene usato lo spazio su disco e le dimensioni predefinite del cluster.

Per determinare se si tratta delle dimensioni ottimali del cluster, è necessario determinare lo spazio sprecato sul disco. A tale scopo, seguire questa procedura:

  1. Fare clic su Start, fare clic su Risorse del computer, quindi fare doppio clic sulla lettera di unità (ad esempio, D) del volume in questione per aprire il volume e visualizzare le cartelle e i file contenuti nella radice.

  2. Fare clic su un file o una cartella qualsiasi e quindi scegliere Seleziona tutto dal menu Modifica .

  3. Con tutti i file e le cartelle selezionati, fare clic con il pulsante destro del mouse su qualsiasi file o cartella, scegliere Proprietà e quindi fare clic sulla scheda Generale .

    La scheda Generale visualizza il numero totale di file e cartelle nell'intero volume e fornisce due statistiche sulle dimensioni dei file: SIZE e SIZE ON DISK.

Se non si usa la compressione NTFS per file o cartelle contenuti nel volume, la differenza tra SIZE e SIZE ON DISK può rappresentare uno spazio sprecato perché le dimensioni del cluster sono maggiori del necessario. È possibile usare dimensioni del cluster più piccole in modo che il valore SIZE ON DISK sia il più vicino possibile al valore SIZE. Una grande differenza tra il valore SIZE ON DISK e size indica che le dimensioni predefinite del cluster sono troppo grandi per le dimensioni medie del file archiviate nel volume.

È possibile modificare solo le dimensioni del cluster in uso riformattando il volume. A tale scopo, eseguire il backup del volume e quindi formattare il volume usando il comando format e l'opzione /a per specificare l'allocazione appropriata. Ad esempio: format D: /a:2048 in questo esempio viene usata una dimensione del cluster di 2 KB.

Nota

In alternativa, è possibile abilitare la compressione NTFS per recuperare spazio perso a causa di dimensioni del cluster non corrette. Tuttavia, ciò può comportare una riduzione delle prestazioni.

Attributi file o autorizzazioni NTFS

Sia Esplora risorse che il comando dir /a /s elenco directory visualizzano le statistiche totali dei file e delle cartelle solo per i file e le cartelle a cui si dispone delle autorizzazioni di accesso. Per impostazione predefinita, i file nascosti e i file del sistema operativo protetti vengono esclusi. Questo comportamento può causare la visualizzazione di statistiche di dimensioni e totali di file e cartelle imprecisi da parte di Esplora risorse o del comando dir.

Per includere questi tipi di file nelle statistiche complessive, modificare Opzioni cartella. A tale scopo, seguire questa procedura:

  1. Fare clic su Start, fare clic su Risorse del computer, quindi fare doppio clic sulla lettera di unità (ad esempio: D) del volume. Verrà aperto il volume e verranno visualizzati le cartelle e i file contenuti nella radice.
  2. Scegliere Opzioni cartella dal menu Strumenti e quindi fare clic sulla scheda Visualizza.
  3. Selezionare la casella di controllo Mostra file e cartelle nascosti e quindi fare clic per deselezionare la casella di controllo Nascondi file del sistema operativo protetti .
  4. Fare clic su quando si riceve il messaggio di avviso e quindi fare clic sul pulsante Applica . Questa modifica consente a Esplora risorse e al dir /a /s comando di totalizzare tutti i file e le cartelle contenuti nel volume a cui l'utente ha le autorizzazioni per accedere.

Per determinare le cartelle e i file a cui non è possibile accedere, seguire questa procedura:

  1. Al prompt dei comandi creare un file di testo dall'output del dir /a /s comando.

    Ad esempio: al prompt dei comandi digitare il comando seguente: dir d: /a /s >c:\d-dir.txt.

  2. Avviare il backup o il ripristino guidato.

    1. Fare clic su Start, fare clic su Esegui, digitare ntbackup e quindi fare clic su OK.
    2. Fare clic su Modalità avanzata.
  3. Fare clic su Opzioni nel menu Strumenti , fare clic sulla scheda Log di backup , fare clic su Dettagliato e quindi su OK.

  4. Nell'utilità di backup fare clic sulla scheda Backup , quindi selezionare la casella di controllo per l'intero volume interessato ,ad esempio D:, e quindi fare clic su Avvia backup.

  5. Al termine del backup, aprire il report di backup e confrontare la cartella per la cartella l'output del log NTBackup con l'output d-dir.txt salvato nel passaggio 1.

Poiché il backup può accedere a tutti i file, il report può contenere cartelle e file non visualizzati da Esplora risorse e dal comando dir. Potrebbe essere più semplice usare l'interfaccia NTBackup per individuare il volume senza eseguire il backup del volume quando si vuole cercare file o cartelle di grandi dimensioni a cui non è possibile accedere usando Esplora risorse.

Dopo aver individuato i file a cui non si ha accesso, è possibile aggiungere o modificare le autorizzazioni usando la scheda Sicurezza mentre si visualizzano le proprietà del file o della cartella in Esplora risorse. Per impostazione predefinita, non è possibile accedere alla cartella System Volume Information. È necessario aggiungere le autorizzazioni corrette per includere la cartella nel dir /a /s comando .

È possibile notare cartelle o file che non dispongono di una scheda Sicurezza . In alternativa, potrebbe non essere possibile riassegnare le autorizzazioni alle cartelle e ai file interessati. Quando si tenta di accedervi, potrebbe essere visualizzato il messaggio di errore seguente:

D:\folder_name\ non è accessibile

Accesso negato

In caso di cartelle di questo tipo, contattare il Servizio Supporto Tecnico Clienti Microsoft per ulteriori informazioni.

Nomi di file non validi

Anche le cartelle o i file che contengono nomi di file non validi o riservati possono essere esclusi dalle statistiche di file e cartelle. Le cartelle o i file che contengono spazi iniziali o finali sono validi in NTFS, ma non sono validi dal punto di vista del sottosistema Win32. Pertanto, né Esplora risorse né un prompt dei comandi possono usarli in modo affidabile.

Potrebbe non essere possibile rinominare o eliminare questi file o cartelle. Quando si tenta di eseguire questa operazione, è possibile che venga visualizzato uno dei messaggi di errore seguenti:

Errore durante la ridenominazione di file o cartelle

Impossibile rinominare il file: impossibile leggere dal file o dal disco di origine.

Oppure

Errore durante l'eliminazione di file o cartelle

Impossibile eliminare il file: impossibile leggere dal file o dal disco di origine.

Se si dispone di cartelle o file che non è possibile eliminare o rinominare, contattare il Servizio Supporto Tecnico Clienti Microsoft.

Espansione della tabella file master NTFS (MFT)

Quando viene creato e formattato un volume NTFS, vengono creati metafile NTFS. Uno di questi metafile è denominato MFT (Master File Table). È piccolo quando viene creato (circa 16 KB), ma cresce man mano che vengono creati file e cartelle nel volume. Quando viene creato, un file viene immesso in MFT come segmento di record di file. Il servizio Replica file è sempre di 1024 byte (1 KB). Man mano che i file vengono aggiunti al volume, il MFT aumenta. Tuttavia, quando i file vengono eliminati, i file FRS associati vengono contrassegnati come gratuiti per il riutilizzo, ma rimangono i frs totali e l'allocazione MFT associata. Questo è il motivo per cui non si recupera lo spazio usato da MFT dopo l'eliminazione di un numero elevato di file, .

Per vedere esattamente quanto è grande il MFT, è possibile usare l'utilità di deframmentazione predefinita per analizzare il volume. Il report risultante fornisce informazioni dettagliate sulle dimensioni e sul numero di frammenti in MFT.

Ad esempio:

Frammentazione MFT (Master File Table)
Dimensioni totali MFT = 26.203 KB
Conteggio record MFT = 21.444
Percentuale MFT in uso = 81 %
Frammenti MFT totali = 4

Tuttavia, per informazioni più complete sulla quantità di spazio (overhead) utilizzato dall'intero NTFS, eseguire il comando chkdsk.exe e quindi visualizzare l'output per la riga seguente:

In uso dal sistema.

Attualmente, solo i deframmentatori di terze parti consolidano i record FRS MFT inutilizzati e recuperano lo spazio allocato MFT inutilizzato.

Flussi di dati alternativi

NTFS consente a file e cartelle di contenere flussi di dati alternativi. Con questa funzionalità è possibile associare più allocazioni di dati a un singolo file o cartella. L'uso di flussi di dati alternativi in file e cartelle presenta le limitazioni seguenti:

  • Esplora risorse e il comando dir non segnalano i dati in flussi di dati alternativi come parte delle dimensioni del file o delle statistiche del volume. Vengono invece visualizzati solo i byte totali per il flusso di dati primario.
  • L'output di chkdsk segnala con precisione lo spazio usato dai file di dati di un utente, inclusi i flussi di dati alternativi.
  • Le quote del disco tengono traccia e segnalano accuratamente tutte le allocazioni del flusso di dati che fanno parte dei file di dati di un utente.
  • NTBackup registra il numero di byte di cui è stato eseguito il backup nel report del log di backup. Tuttavia, non mostra quali file contengono flussi di dati alternativi. Inoltre, non mostra dimensioni di file accurate per i file che includono dati in flussi alternativi.

Danneggiamento del file system NTFS

In rari casi, i metafile NTFS $MFT o $BITMAP potrebbero essere danneggiati e causare la perdita di spazio su disco. È possibile identificare e risolvere questo problema eseguendo il chkdsk /f comando sul volume. Verso la fine di chkdsk, si riceve il messaggio seguente se è necessario modificare gli errori $BITMAP:Correcting nell'attributo BITMAP della tabella file master (MFT). CHKDSK ha individuato lo spazio disponibile contrassegnato come allocato nella bitmap del volume. Windows ha apportato correzioni al file system.

Altre funzionalità NTFS che possono causare confusione nell'allocazione dei file

NTFS supporta anche collegamenti rigidi e reparse point che consentono di creare punti di montaggio del volume e giunzioni di directory. Queste funzionalità NTFS aggiuntive possono causare confusione quando si tenta di determinare la quantità di spazio che un volume fisico sta consumando.

Un collegamento rigido è una voce di directory per un file indipendentemente dalla posizione in cui si trovano i dati del file in tale volume. Ogni file ha almeno un collegamento rigido. Nei volumi NTFS, ogni file può avere più collegamenti rigidi e pertanto un singolo file può essere visualizzato in molte cartelle (o anche nella stessa cartella con nomi diversi). Poiché tutti i collegamenti fanno riferimento allo stesso file, i programmi possono aprire uno qualsiasi dei collegamenti e modificare il file. Un file viene eliminato dal file system solo dopo l'eliminazione di tutti i collegamenti. Dopo aver creato un collegamento rigido, i programmi possono usarlo come qualsiasi altro nome file.

Nota

Esplora risorse e un prompt dei comandi mostrano tutte le dimensioni di tutti i file collegati, anche se condividono tutti gli stessi dati e non usano effettivamente tale quantità di spazio su disco.

I punti di montaggio del volume e le giunzioni di directory consentono a una cartella vuota in un volume NTFS di puntare alla radice o alla sottocartella di un altro volume. Esplora risorse e un comando dir /s seguono il reparse point, conteggiare eventuali file e cartelle nel volume di destinazione e quindi includerli nelle statistiche del volume host. Questo potrebbe indurre l'utente a credere che nel volume host venga usato più spazio di quello effettivamente usato.

In riepilogo, è possibile usare l'output di chkdsk, la GUI NTBackup o i log di backup e la visualizzazione delle quote del disco per determinare come viene usato lo spazio su disco in un volume. Tuttavia, Esplora risorse e il comando dir presentano alcune limitazioni e svantaggi se usati a questo scopo.