He estado experimentando con una tarjeta MicroSD formateada como ExFAT y me he encontrado con algo que me deja perplejo.
Parece que mi nuevo teléfono Android monta la tarjeta MicroSD como /storage/[UUID]
, así que, por ejemplo, en lugar de /mnt/sdcard-ext
como estoy acostumbrado, actualmente es /storage/0CCE-1C48
.
Como eso es bastante arbitrario, pensé en cambiarlo por algo más fácil de recordar, como 1234-DFDF
(mis iniciales en la segunda mitad). Usé tune2fs para especificar un nuevo UUID y pude confirmar el cambio abriendo el disco sin procesar en un editor hexadecimal.
De hecho, descubrí que el UUID se almacena en el desplazamiento hexadecimal 0x100064
, al menos para mi disco en particular. Y debido a Endian-ness, se almacena al revés (por lo que 481CCE0C
el dispositivo lo analiza como 0CCE-1C48
).
De todos modos, pude verificar que cambió a 0xDFDF3412
, como debería ser. Lo puse en mi teléfono, encendí el teléfono... ¡voilá! era /storage/1234-DFDF
ahora
PERO... tan pronto como desmonté y volví a montar la tarjeta (o reinicié el teléfono, etc.) ¡cambió de nuevo a 0CCE-1C48
! ¿Cómo puede ser esto? ¡Cambié el UUID, reemplazando el original por uno nuevo!
Esto hace que me pregunte si hay algún algoritmo integrado en ExFAT que genere un UUID basado en... cualquier cosa... el tamaño de la partición, la etiqueta, lo que sea. Obviamente, el teléfono está tratando de "validar" el número de serie y sigue sobrescribiendo el mío personalizado con el arbitrario que me dieron cuando formateé el disco por primera vez.
No tengo idea de cómo te las arreglaste tune2fs
para cambiar el UUID, ya que solo debería poder manipular ext2/3/4.
En cualquier caso, aparentemente exFAT tiene un sector de arranque de respaldo como FAT (32). Entonces, supongo que solo logró cambiar el UUID en el sector de arranque principal pero no en el de respaldo. Entonces, cuando lo desmonta, el controlador del sistema de archivos revierte el cambio de acuerdo con el sector de arranque de respaldo automáticamente.
tom yan