7 votos

Reformatear exFat con un tamaño de bloque de dispositivo y un tamaño de clúster específicos

Tengo un SSD de 512 GB en mi MacBook Retina con uno de los volúmenes discos0s6 formateado con exFat para utilizarlo tanto en Mac como en 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

Tengo muchos archivos pequeños en ese volumen y mis archivos pequeños ocupaban demasiado espacio físico, así que quiero reformatear el volumen con un tamaño de bloque de dispositivo y un tamaño de clúster mínimos para que mis archivos pequeños no ocupen espacio adicional. ¿Cómo puedo hacerlo en OS X?

Este es un ejemplo de archivos en la carpeta bower_components que es 46.1 MB tomando 9.75 GB espacio en el disco (impreso desde Windows):

enter image description here

ACTUALIZACIÓN 1

No he encontrado la forma de comprobar el tamaño del cluster en Mac, así que arranco en Windows y ejecuto chkdsk en esa unidad: enter image description here

Como se puede ver 131072 bytes en cada unidad de asignación - que es mi tamaño de clúster actual que se crea por defecto Mac DiskUtil

ACTUALIZACIÓN 2

Acabo de arrancar de nuevo a Mac y ejecutar el 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

Parece que chkdisk mostró lo mismo 131072 bytes por clúster

1 votos

Totalmente anecdótico, pero hoy en día, me estremezco cada vez que veo exfat en un Mac. He perdido datos con él demasiadas veces. Recomiendo encarecidamente Fat32 (si puedes lidiar con el límite de tamaño de 4 GB por archivo), o NTFS + los controladores Tuxera.

12voto

klanomath Puntos 19587

El número máximo de bloques de asignación (o clústeres) para exFAT es 2^32 = 4.294.967.296.

Para obtener el tamaño mínimo de un cluster de asignación en su partición divida el tamaño de su partición entre 2^32.

Ejemplos:

  • para una partición de 100 GB el tamaño mínimo es de 100.000.000.000 bytes/4.294.967.296=~23,3 bytes. Dado que el tamaño de bloque de dispositivo más pequeño es de 512 bytes, el tamaño del bloque de asignación no puede ser menor.

  • Para una partición de 3 TB el tamaño mínimo es de 3.000.000.000 bytes/4.294.967.296=~698,5 bytes. El tamaño mínimo posible del bloque de asignación es entonces de 1024 bytes.

Para formatear una partición utilice newfs_exfat [options] /dev/disk*s*

Existen las siguientes opciones en cuanto al tamaño de los bloques de asignación:

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

Para reformatear su volumen exFAT primero copie el contenido a otro volumen. A continuación, introduzca:

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

El comando creará un bloque de asignación (o clúster) y renombrará el volumen como exFAT .

También puede utilizar

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

La mayoría de los discos duros o SSD modernos utilizan tamaños de bloque de dispositivo de 4096 bytes y el tamaño de bloque de dispositivo mostrado de 512 bytes es sólo un tamaño de bloque de dispositivo "lógico" probablemente por razones de compatibilidad. Así que se recomienda un tamaño de bloque de asignación mínimo de al menos 4096 bytes.

También el tamaños de bloque de clúster por defecto de particiones exFAT de distintos tamaños en Windows "mencionan" al menos 4 kb.


Para obtener el tamaño de bloque del cluster actual (y otras informaciones) de un volumen exFAT haga lo siguiente:

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

0 votos

¿Cómo puedo comprobar cuál es el tamaño actual del clúster? Puedo ver que el tamaño del bloque de mi dispositivo es de 512 bytes, pero no puedo encontrar una manera de comprobar cuál es el tamaño actual del clúster.

0 votos

@Riapp ha añadido la explicación de cómo obtener los valores actuales

0 votos

Acabo de actualizar la pregunta con detalles. Parece que el tamaño de mi clúster es de 131072 bytes que está siendo creado por Mac DiskUtil por defecto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X