2014-04-10 9 views
9

Ho trovato ci sono alcuni file sul mio disco, che
1) la dimensione reale non è pari a zero, ma è piccola, circa 500 byte
2) la "dimensione su disco" mostra a zero quando si controlla le sue proprietà
3) se faccio il file più piccolo, la "dimensione su disco" è ancora 0
4) se faccio il file più grande, anche 1 byte più grande, la dimensione sul disco cambierà in 4096
5) il disco è non compresso"dimensione su disco" è zero per file diverso da zero in Windows 8?

Com'è possibile? Il mio sistema operativo è Windows 8.1: questa è una nuova funzionalità di Windows 8?
Windows 8 è così intelligente da poter unire questi piccoli file in un settore di dischi?

Qualcuno può confermarlo?

E se si tratta di una nuova funzione, come disabilitarla?

risposta

17

I file in NTFS sono costituiti da (almeno uno) record di file nella tabella di record del file master (chiamato MFT - ogni record di file è costituito da attributi come nome, informazioni sui file, ecc.) I dati si trovano solitamente in uno o più cluster su disco. Il record di file nella MFT contiene riferimenti a quei cluster (chiamati attributi non residenti). Quando la dimensione dei dati è veramente piccola, anche i suoi dati sono all'interno del record MFT - l'attributo dei dati è residente. Quindi NTFS non deve allocare alcun cluster. La dimensione su disco è il numero di cluster allocati * dimensione di un cluster, quindi se l'attributo dati è residente, la dimensione su disco è zero. Se si raggiunge la dimensione massima per il record del file, l'attributo data viene reso non residente e NTFS alloca il primo cluster, quindi la dimensione sul disco è 1 cluster - 4096 byte.

+1

Corretto. Lo spazio disponibile in un record MFT dipende dalla lunghezza del nome file, dagli attributi di sicurezza presenti e da altri fattori (solitamente rari). In fase di test, i dati residenti più grandi possibili sono circa 700 – byte con normale durata di sicurezza e nome file. – wallyk

0

Questo non è specifico per Windows 8 (quindi ho modificato la domanda). È vero per tutti gli NTFS gestiti dal driver del filesystem di Microsoft.

Non riesco a immaginare perché vorreste disabilitare questo tipo di efficienza: è una caratteristica particolarmente eccellente poiché molti file di computer tendono ad essere piccoli.

Ho confermato che le versioni NT fino a XP NT non spostano i dati nel record MFT (e rilasciano il (i) cluster (i) se il file si riduce. Pertanto è possibile aggiungere alcuni dati a tali file per renderli almeno 1024 byte e quindi troncarli di nuovo alla dimensione originale.

+0

Voglio disabilitarlo perché a volte ho bisogno di confrontare 2 directory e assicurarmi che siano esattamente uguali. ma questa caratteristica lo rende impossibile. Non riesco a controllare la dimensione su disco per un file. un file è solo 1 byte, ma usa 4096 byte sul disco, ma un altro file è di 500 byte, ma la dimensione sul disco è zero. sembra che non ci sia una regola rigida per le dimensioni sulla proprietà del disco. –

+4

@MingDong In che modo la conoscenza della dimensione del file su disco ti aiuta a confrontare le directory? Sembra che la lunghezza effettiva del file sia più utile e più prontamente disponibile che è possibile utilizzare prima di ricorrere ai confronti binari. –

Problemi correlati