Riformatta exFat con dimensioni e dimensioni di blocco specifiche del dispositivo

3

Ho un SSD da 512 GB sul mio MacBook Retina con uno dei volumi disks0s6 formattato con exFat per usarlo sia su Mac che su Windows.

diskutil info disk0s6:

   Device Identifier:        disk0s6
   Device Node:              /dev/disk0s6
   Part of Whole:            disk0
   Device / Media Name:      Basic data partition

   Volume Name:              WORK
   Escaped with Unicode:     WORK

   Mounted:                  Yes
   Mount Point:              /Volumes/WORK
   Escaped with Unicode:     /Volumes/WORK

   File System Personality:  ExFAT
   Type (Bundle):            exfat
   Name (User Visible):      ExFAT

   Partition Type:           Microsoft Basic Data
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI
   SMART Status:             Verified
   Volume UUID:              40CF8BFC-3143-3BB9-B659-DE1A62DCA9E6

   Total Size:               54.1 GB (54117007360 Bytes) (exactly 105697280 512-Byte-Units)
   Volume Free Space:        36.1 GB (36128292864 Bytes) (exactly 70563072 512-Byte-Units)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         No
   Ejectable:                No

   Whole:                    No
   Internal:                 Yes
   Solid State:              Yes

Ho tanti piccoli file in quel volume e i miei piccoli file occupano molto spazio fisico, quindi voglio riformattare il volume con una dimensione minima del blocco dispositivo e delle dimensioni del cluster, in modo che i miei file piccoli non occupino spazio aggiuntivo. Come posso farlo in OS X?

Ecco un esempio di file nella cartella bower_components che è 46.1 MB che prende 9.75 GB spazio sul disco (stampato da windows):

UPDATE1

NonhotrovatounmodopercontrollareledimensionidelclustersuMac,quindiavvioinWindowsedeseguochkdsksutaleunità:

Come puoi vedere 131072 byte in ogni unità di allocazione - questa è la mia dimensione attuale del cluster creata da Mac DiskUtil default

UPDATE 2

Appena riavviato su Mac ed esegui il comando sudo newfs_exfat -N /dev/disk0s6:

Reformatting existing ExFAT volume
Partition offset : 871407616 sectors (446160699392 bytes)
Volume size      : 105697280 sectors (54117007360 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset       : 2048 sectors (1048576 bytes)
# FAT sectors    : 3328
Number of FATs   : 1
Cluster offset   : 6144 sectors (3145728 bytes)
# Clusters       : 412856
Volume Serial #  : 0227bd88
Bitmap start     : 2
Bitmap file size : 51607
Upcase start     : 3
Upcase file size : 5836
Root start       : 4

Quindi sembra che il chkdisk abbia mostrato lo stesso 131072 byte per cluster

    
posta Kuncevic 02.11.2015 - 10:57
fonte

1 risposta

5

Il conteggio massimo del blocco di allocazione (o cluster) per exFAT è 2 ^ 32 = 4,294,967,296.

Per ottenere la dimensione minima di un cluster di allocazione sulla tua partizione dividi la dimensione della tua partizione attraverso 2 ^ 32.

Esempi:

  • per una partizione da 100 GB la dimensione minima è 100.000.000.000 byte / 4.294.967.296 = ~ 23.3 byte. Poiché la dimensione del blocco del dispositivo più piccola è 512 byte, la dimensione del blocco di allocazione non può essere inferiore.

  • Per una partizione da 3 TB la dimensione minima è 3.000.000.000.000 byte / 4.294.967.296 = ~ 698.5 byte. La dimensione minima possibile del blocco di allocazione è quindi 1024 byte.

Per formattare una partizione usa newfs_exfat [options] /dev/disk*s*

Sono disponibili le seguenti opzioni relative alle dimensioni dei blocchi di allocazione:

 -b bytes-per-cluster
         File system block size (bytes per cluster).  Acceptable values
         are powers of 2 in the range 512 through 33554432.

 -c sectors-per-cluster
         Sectors per cluster.  Acceptable values are powers of 2 in the
         range 1 through 65536. 

Per riformattare il tuo volume exFAT, copia prima il contenuto in un altro volume. Quindi immettere:

diskutil list #to get the disk identifier of the exFAT partition
diskutil unmount /dev/disk0s6
sudo newfs_exfat -c 1 -v exFAT /dev/disk0s6
diskutil mount /dev/disk0s6

Il comando creerà un blocco di blocco / dispositivo di allocazione (o cluster) e rinomina il volume in exFAT .

In alternativa puoi usare

sudo newfs_exfat -b 512 -v exFAT /dev/disk0s6

La maggior parte dei moderni HDD o SSD utilizzano blocchi di dispositivo di 4096 byte e la dimensione del blocco di dispositivo visualizzata di 512 byte è solo una dimensione di blocco del dispositivo "logica" probabilmente per ragioni di compatibilità. Si consiglia quindi una dimensione minima del blocco di allocazione di almeno 4096 byte.

Anche le dimensioni dei blocchi di cluster predefinite di partizioni exFAT di varie dimensioni in Windows "menzionano" almeno 4 kb.

Per ottenere la dimensione del blocco del cluster corrente (e altre informazioni) di un volume exFAT, effettuare le seguenti operazioni:

diskutil list #to get the disk identifier of the exFAT partition
diskutil unmount /dev/disk0s6
sudo newfs_exfat -N /dev/disk0s6
diskutil mount /dev/disk0s6
    
risposta data 02.11.2015 - 12:11
fonte

Leggi altre domande sui tag