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í, 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). Utilicé tune2fs para especificar un nuevo UUID, y pude confirmar el cambio abriendo el disco en bruto en un editor hexadecimal.
En realidad descubrí que el UUID se almacena en el offset hexadecimal 0x100064
al menos para mi disco en particular. Y debido a la Endianidad, se almacena al revés (así que 481CCE0C
es analizado por el dispositivo como 0CCE-1C48
).
De todos modos, he podido comprobar que ha cambiado a 0xDFDF3412
...como debería. Lo puse en mi teléfono, encendí el teléfono... ¡voilá! Ahora era /storage/1234-DFDF
.
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? ¡He cambiado el UUID, sustituyendo el original por uno nuevo!
Esto me hace preguntarme si hay algún algoritmo incorporado en ExFAT que genera un UUID basado en... cualquier cosa... el tamaño de la partición, la etiqueta, lo que sea. El teléfono obviamente está tratando de "validar" el número de serie y sigue sobrescribiendo mi número personalizado con el arbitrario que me dieron cuando formateé el disco por primera vez.