7 votes

Reformater exFat avec une taille de bloc de périphérique et une taille de grappe spécifiques

J'ai un SSD de 512 Go sur mon MacBook Retina avec l'un des volumes suivants disks0s6 formaté avec exFat pour l'utiliser sur Mac et 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

J'ai beaucoup de petits fichiers dans ce volume et mes petits fichiers ont pris trop d'espace physique. Je veux donc reformater le volume avec une taille de bloc de périphérique et une taille de grappe minimales pour que mes petits fichiers ne prennent pas d'espace supplémentaire. Comment puis-je faire cela dans OS X ?

Voici un exemple de fichiers dans le dossier bower_components qui est 46.1 MB prendre 9.75 GB espace sur le disque (imprimé à partir de Windows) :

enter image description here

MISE À JOUR 1

Je n'ai pas trouvé de moyen de vérifier la taille du cluster sur Mac, j'ai donc démarré sous Windows et j'ai lancé chkdsk sur ce disque : enter image description here

Comme vous pouvez le voir, chaque unité d'allocation contient 131072 octets, ce qui correspond à la taille actuelle de mon cluster créé par défaut par Mac DiskUtil.

MISE À JOUR 2

Je viens de redémarrer sur Mac et de lancer la commande 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

Il semble donc que chkdisk ait montré la même chose 131072 octets par groupe

12voto

klanomath Points 63400

Le nombre maximal de blocs d'allocation (ou de clusters) pour exFAT est de 2^32 = 4 294 967 296.

Pour obtenir la taille minimale d'un cluster d'allocation sur votre partition, divisez la taille de votre partition par 2^32.

Exemples :

  • pour une partition de 100 Go, la taille minimale est de 100 000 000 000 octets/4 294 967 296=~23,3 octets. La plus petite taille de bloc de périphérique étant de 512 octets, la taille du bloc d'allocation ne peut être inférieure.

  • Pour une partition de 3 To, la taille minimale est de 3 000 000 000 000 octets/4 294 967 296=~698,5 octets. La taille minimale possible des blocs d'allocation est donc de 1024 octets.

Pour formater une partition, utilisez newfs_exfat [options] /dev/disk*s*

Les options suivantes sont disponibles en ce qui concerne la taille des blocs d'allocation :

 -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. 

Pour reformater votre volume exFAT, copiez d'abord son contenu sur un autre volume. Ensuite, entrez :

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

La commande créera un bloc d'allocation (ou de cluster) et un bloc d'appareil et renommera le volume en exFAT .

Vous pouvez également utiliser

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

La plupart des disques durs ou des disques SSD modernes utilisent des blocs de 4096 octets et la taille de bloc affichée de 512 octets n'est qu'une taille de bloc "logique", probablement pour des raisons de compatibilité. Il est donc recommandé d'utiliser une taille de bloc d'allocation minimale d'au moins 4096 octets.

De même, le taille par défaut des blocs de la grappe des partitions exFAT de différentes tailles dans Windows "mentionnent" au moins 4 kb.


Pour obtenir la taille actuelle des blocs de cluster (et d'autres informations) d'un volume exFAT, procédez comme suit :

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X