El diskutil
es más fiable que la aplicación Utilidad de Discos cuando se crean dos particiones ExFAT en una unidad. No creo que se pueda especificar el tamaño del bloque de asignación cuando se formatea una partición ExFAT con el comando diskutil
o la aplicación Utilidad de Discos. Sin embargo, puede con el newfs_exfat
comando.
El tamaño del bloque de asignación se denominaba originalmente tamaño del clúster. Microsoft define el tamaño del clúster de la siguiente manera:
El tamaño del clúster representa la menor cantidad de espacio en disco que puede utilizarse para mantener un archivo. Cuando los tamaños de los archivos no llegan a un múltiplo par del tamaño del clúster, se debe utilizar espacio adicional para mantener el archivo (hasta el siguiente múltiplo del tamaño del clúster).
Básicamente, un mayor tamaño del clúster da lugar a tiempos de acceso más rápidos, pero a costa de un mayor espacio desperdiciado. Ciertamente, si tienes un gran número de archivos significativamente más pequeños que el tamaño del cluster, entonces encontrarás que el volumen está consumiendo mucho más espacio que la suma de los tamaños de los archivos. No hay una manera fácil de responder a lo que debe elegir para un tamaño de clúster. Esto realmente depende de la cantidad y el tamaño de los archivos en sí.
Existen alternativas, si se utiliza el disco para archivar documentos. Por ejemplo, puedes crear un archivo comprimido de muchos documentos en un solo fichero. Esto elimina el espacio desperdiciado que normalmente se produce al final de cada archivo. De nuevo, el acceso a un archivo suele llevar más tiempo. Puede crear fácilmente un archivo comprimido utilizando la aplicación Finder. Sin embargo, no puede utilizar el Finder para ver el contenido de un archivo zip sin descomprimir primero el archivo. Puedes listar el contenido de un archivo zip utilizando comandos introducidos en una ventana de Terminal. O puede instalar una herramienta de terceros con una interfaz gráfica de usuario. También puede utilizar la Utilidad de Discos para crear un archivo dmg comprimido. En este caso, puede utilizar el Finder para montar y ver los contenidos de un archivo dmg sin tener que extraer primero el contenido.
Ejemplo
A continuación se muestra un ejemplo en el que un disco de 1 TB se particiona en dos volúmenes ExFAT de 500 GB. En este caso se utiliza el esquema de partición heredado de Master Boot Record (MBR). El identificador de este disco es disk1
. Básicamente, se especifica el tamaño de la primera partición y el resto del espacio se asigna a la segunda partición. Los nombres de los volúmenes son MyExFAT1
y MyExFAT2
.
diskutil partitiondisk disk1 MBR exfat MyExFAT1 500G exfat MyExFAT2 R
A continuación se muestra la salida de este comando.
Started partitioning on disk1
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk1s1 as ExFAT with name MyExFAT1
Volume name : MyExFAT1
Partition offset : 2 sectors (1024 bytes)
Volume size : 976562504 sectors (500000002048 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset : 2048 sectors (1048576 bytes)
# FAT sectors : 30720
Number of FATs : 1
Cluster offset : 32768 sectors (16777216 bytes)
# Clusters : 3814569
Volume Serial # : 5faa3183
Bitmap start : 2
Bitmap file size : 476822
Upcase start : 6
Upcase file size : 5836
Root start : 7
Mounting disk
Formatting disk1s2 as ExFAT with name MyExFAT2
Volume name : MyExFAT2
Partition offset : 976562507 sectors (500000003584 bytes)
Volume size : 976562533 sectors (500000016896 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset : 2048 sectors (1048576 bytes)
# FAT sectors : 30720
Number of FATs : 1
Cluster offset : 32768 sectors (16777216 bytes)
# Clusters : 3814569
Volume Serial # : 5faa3186
Bitmap start : 2
Bitmap file size : 476822
Upcase start : 6
Upcase file size : 5836
Root start : 7
Mounting disk
Finished partitioning on disk1
/dev/disk1 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme +1.0 TB disk1
1: Windows_NTFS MyExFAT1 500.0 GB disk1s1
2: Windows_NTFS MyExFAT2 500.0 GB disk1s2
Si desea utilizar el esquema de tabla de partición GUID (GPT) en lugar del esquema de partición MBR, deberá introducir lo siguiente.
diskutil partitiondisk disk1 GPT exfat MyExFAT1 500G exfat MyExFAT2 R
A continuación se muestra la salida de este comando. Observe que también se crea una pequeña partición EFI.
Started partitioning on disk1
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk1s2 as ExFAT with name MyExFAT1
Volume name : MyExFAT1
Partition offset : 411648 sectors (210763776 bytes)
Volume size : 976562176 sectors (499999834112 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset : 2048 sectors (1048576 bytes)
# FAT sectors : 30720
Number of FATs : 1
Cluster offset : 32768 sectors (16777216 bytes)
# Clusters : 3814568
Volume Serial # : 5faa32d6
Bitmap start : 2
Bitmap file size : 476821
Upcase start : 6
Upcase file size : 5836
Root start : 7
Mounting disk
Formatting disk1s3 as ExFAT with name MyExFAT2
Volume name : MyExFAT2
Partition offset : 976973824 sectors (500210597888 bytes)
Volume size : 976150528 sectors (499789070336 bytes)
Bytes per sector : 512
Bytes per cluster: 131072
FAT offset : 2048 sectors (1048576 bytes)
# FAT sectors : 30720
Number of FATs : 1
Cluster offset : 32768 sectors (16777216 bytes)
# Clusters : 3812960
Volume Serial # : 5faa32d7
Bitmap start : 2
Bitmap file size : 476620
Upcase start : 6
Upcase file size : 5836
Root start : 7
Mounting disk
Finished partitioning on disk1
/dev/disk1 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +1.0 TB disk1
1: EFI EFI 209.7 MB disk1s1
2: Microsoft Basic Data MyExFAT1 500.0 GB disk1s2
3: Microsoft Basic Data MyExFAT2 499.8 GB disk1s3
En cualquier caso, la salida del comando diskutil info MyExFAT1 | grep "Block Size"
sería lo siguiente.
Device Block Size: 512 Bytes
Allocation Block Size: 131072 Bytes
Por lo tanto, si quiere un tamaño de bloque de asignación de 4096 bytes, entonces podría introducir los siguientes comandos. A continuación, el identificador del disco es disk1
y el disco está utilizando el esquema de partición MBR.
Nota: Si lo desea, disk1s1
puede sustituirse por rdisk1s1
al entrar en el newfs_exfat
que se indica a continuación. Sin embargo, utilizando rdisk1s1
resultados en el newfs_exfat
comando completando más rápido.
diskutil info MyExFAT1 | grep Identifier
diskutil unmount disk1s1
newfs_exfat -R -v MyExFAT1 -b 4096 /dev/rdisk1s1
diskutil mount disk1s1
diskutil info MyExFAT1 | grep "Block Size"
Estos comandos producirían la siguiente salida.
Marlin-3:imac2015 davidanderson$ diskutil info MyExFAT1 | grep Identifier
Device Identifier: disk1s1
Marlin-3:imac2015 davidanderson$ diskutil unmount disk1s1
Volume MyExFAT1 on disk1s1 unmounted
Marlin-3:imac2015 davidanderson$ newfs_exfat -R -v MyExFAT1 -b 4096 /dev/rdisk1s1
Volume name : MyExFAT1
Partition offset : 2 sectors (1024 bytes)
Volume size : 976562504 sectors (500000002048 bytes)
Bytes per sector : 512
Bytes per cluster: 4096
FAT offset : 2048 sectors (1048576 bytes)
# FAT sectors : 954368
Number of FATs : 1
Cluster offset : 956416 sectors (489684992 bytes)
# Clusters : 121950761
Volume Serial # : 5faa919e
Bitmap start : 2
Bitmap file size : 15243846
Upcase start : 3724
Upcase file size : 5836
Root start : 3726
Marlin-3:imac2015 davidanderson$ diskutil mount disk1s1
Volume MyExFAT1 on disk1s1 mounted
Marlin-3:imac2015 davidanderson$ diskutil info MyExFAT1 | grep "Block Size"
Device Block Size: 512 Bytes
Allocation Block Size: 4096 Bytes
El resultado de este ejemplo se produjo utilizando High Sierra (MacOS 10.13.6).
0 votos
El enlace que has publicado en la respuesta aceptada sí explica cómo cambiar el tamaño de la asignación. El tamaño del bloque del dispositivo no se puede cambiar por software.
0 votos
Gracias, @DavidAnderson por la respuesta detallada. Ah, sí, gracias por la aclaración sobre el bloque del dispositivo frente al tamaño de la asignación. ¿También es recomendable cambiar el
sectors-per-cluster
(-c
bandera)? Mientras que HFS por defecto es4096 bytes
¿tenemos algún problema con el uso de la misma en exFAT?0 votos
Puede utilizar el
-b
o-c
con la opciónnewfs_exfat
comando. Si utiliza ambos-b
y-c
los argumentos deben dar como resultado el mismo número de bytes por grupo. En caso contrario, se producirá un mensaje de error. Dado que los SSD tienen un tamaño de bloque de dispositivo de 512 o 4096 bytes, al especificar-b 4096
debería ser aceptable.0 votos
Gracias de nuevo @DavidAnderson