3 votos

Los archivos con nombres con caracteres unicode se corrompen en la tarjeta SD

Al montar mi tarjeta SD en mi galaxy SIII los archivos y carpetas de la tarjeta con caracteres que no están en el rango ASCII se corrompen. Esto sucede simplemente seleccionando "Desmontar tarjeta" en los ajustes de almacenamiento y volviendo a montarla. No es necesario retirar físicamente la tarjeta y volver a colocarla. Apagar y volver a encender el teléfono también da lugar a la corrupción.

Las carpetas cuando se ven con un gestor de archivos en el teléfono aparecen como archivos de tamaño 0 con una fecha de 31 de diciembre de 1969 (que es la época de linux) y no se puede navegar para ver su contenido. Se muestran como carpetas vacías. Los archivos se vuelven de tamaño cero con esa misma fecha y no se pueden abrir ni mostrar en la Galería, el reproductor de música, etc. Se abren como una carpeta vacía. (Ver imagen de abajo)

Estoy usando la versión 4.1.2 de Android.

La tarjeta es una SanDisk 64gb micro sdxc (clase 10). El problema ocurrió cuando la tarjeta se formó de fábrica (con exFAT) y también después de formatearla con el teléfono (ajustes > almacenamiento).

Algunos ejemplos de nombres de archivo que provocan la corrupción de la carpeta son "Aṣa" o "דניאל". Es indiferente que el archivo se haya copiado a la tarjeta mediante transferencia usb o sacando la tarjeta y usando un lector en un PC con Windows, o que se haya cambiado el nombre (usando el teléfono) una vez que el archivo estaba en la tarjeta.

Los archivos con esos mismos nombres no se corrompen si están en la memoria interna del teléfono y puedo utilizarlos sin problema.

Al sacar la tarjeta y utilizarla en un PC con Windows 7 se pueden ver los archivos. Pero a veces las carpetas afectadas aparecen duplicadas. Es decir, dos veces con el mismo nombre ambas. Comprobando el disco con Windows informa de errores e intenta solucionarlos. Pero luego al volver a poner la tarjeta en el teléfono los archivos se vuelven a corromper.

¿Cómo puedo evitar que se produzca esta corrupción?

This is how the file manager shows the corrupted file or folders

Actualización: con una tarjeta de 2GB formateada con FAT32 los archivos no se corrompieron. Pero después de formatearla a exFAT pude reproducir la corrupción de archivos. Creo que puedo descartar una tarjeta sd mala.

Más información, este es un informe de Windows 7 después de ejecutar checkdisk. Tenga en cuenta que los 3 archivos existían en el directorio TestFolder, que estaba dañado:

[Window Title]
Checking Disk Removable Disk (M:)

[Main Instruction]
Some problems were found and fixed

[Content]
Any files that were affected by these problems were moved to a folder named "Found" on the device or disk. Your device or disk is now ready to use.

If you removed the device or disk before all files were fully written to it, parts of some files might still be missing. If so, go back to the source and recopy those files to your device or disk.

[^] Hide details  [Close]

[Expanded Information]
Volume Serial Number is 6518-E54A
Windows is verifying files and folders...
Corruption was found while examining files in directory \TestFolder\ (0).
Corruption was found while examining files in directory \TestFolder\ (3).
Corruption was found while examining files in directory \TestFolder\ (6).
Corruption was found while examining files and directories.
File and folder verification is complete.
Windows has made corrections to the file system.

  62363648 KB total disk space.
  41656576 KB in 43 files.
       768 KB in 6 indexes.
       256 KB in use by the system.
  20706048 KB available on disk.

    131072 bytes in each allocation unit.
    487216 total allocation units on disk.
    161766 allocation units available on disk.

Las carpetas no se corrompen si se crean en el teléfono con nombres hebreos, luego se desmontan y se comprueban en Windows. Sólo después de volver a montar en el teléfono.

MÁS DATOS: esto es, creo, información relevante de adb logcat :

I//system/bin/fsck.exfat( 1897): fsck.exfat 1.1.0p2

I//system/bin/fsck.exfat( 1897): [fsck] Invalid dir entry: (92675,0)
I//system/bin/fsck.exfat( 1897): [fsck] Wrong dir entry name hash
I//system/bin/fsck.exfat( 1897): [fsck] Successfully recovered

I//system/bin/fsck.exfat( 1897): Filesystem was modified.
I/logwrapper( 1897): /system/bin/fsck.exfat terminated by exit(4)

W/Vold    ( 1897): exfat -> Filesystem modified - rechecking (pass 2)
E/Vold    ( 1897): MDM :: sdCardWriteAccessBlocked 0
D/Vold    ( 1897): Detected exFAT file system.

Y al arrancar sin nombres de archivos problemáticos, en su lugar me aparece un bonito

I//system/bin/fsck.exfat( 1897): No errors
I/Vold    ( 1897): exfat -> Filesystem check completed OK 

Y de adb shell Puedo probar y ver a los que dan problemas (después de remontar, nota 2 directorios con aparentemente el mismo nombre, que en una consola de Windows parece ser la salida de 2 caracteres por unicode):

shell@android:/storage/extSdCard/Test $ ls * -l
ls * -l
drwxrwxr-x system   media_rw          2013-02-18 18:39 אבג
אבג: No such file or directory
1|shell@android:/storage/extSdCard/Test $

2voto

user36129 Puntos 11

He experimentado lo mismo con mi tarjeta Sandisk Micro SD de 32gb clase 10 usando en el Galaxy Tab 2. La tarjeta SD es genuina, así que sé que no es el problema.

Sin embargo, he comprobado que esto me funciona.

  1. Formatea la tarjeta en tu PC o Mac, al sistema de archivos NTFS.
  2. Descarga la aplicación Paragon NTFS / HFS apk para tu dispositivo Android
  3. Sin ninguna aplicación NTFS para el Android, el Android NO reconocerá el formato de la tarjeta SD insertada ya que el Android sólo reconoce el sistema de archivos FAT
  4. Introduce la tarjeta Micro SD en el dispositivo y reinicia el dispositivo (si el icono de la tarjeta aparece en la barra de notificaciones, abajo a la derecha, ignóralo)
  5. Goto y abrir en Android Paragon NTFS / HFS herramienta apk y comprobar el disco / formato utilizando la aplicación para Android
  6. Reinicie el dispositivo de nuevo, con la tarjeta SD insertada, deje la tarjeta insertada y conecte el dispositivo Android al PC, el Disco Externo debería estar ahora disponible formateado a NTFS

La tarjeta debería AUTO MONTARSE a través de la aplicación NTFS de Paragon cuando se enciende el dispositivo.

He probado todos los métodos posibles para tener la tarjeta SD en la FAT 32, pero no dura, los nombres de las carpetas cambian, los archivos desaparecen.

1voto

wavelet Puntos 16

Actualicé mi S3 de Android 4.1.2 (ROM de Samsung) a 4.3 hace un par de días. El problema me había sucedido constantemente durante un año y medio, exactamente como se ha descrito anteriormente, en dos versiones 4.0.x (ICS), así como en Jelly Bean 4.1, pero en 4.3 parece que finalmente se ha solucionado: Después de la actualización copié muchos archivos con nombres en hebreo Unicode a mi tarjeta microSD, y han sobrevivido a numerosos desmontajes/remontajes de la tarjeta y reinicios del teléfono sin problemas.

Por cierto, otro problema con el que me había encontrado era que los reescaneos automáticos de las carpetas multimedia de la tarjeta (realizados por la aplicación del sistema "Media Storage" de Android), que se producen cada vez que se inserta una tarjeta o se desconecta el teléfono del USB, tardaban mucho tiempo (a veces horas). Esto, a su vez, causó problemas con la sincronización de mi gran biblioteca de música entre mi Mac y el teléfono utilizando la utilidad iSyncr. Este problema también ha desaparecido por completo, y sospecho que el escáner multimedia de Android no estaba tratando bien los archivos corruptos.

Detalles adicionales: Teléfono: GT-I9300 versión internacional, sin rootear, corriendo el firmware oficial israelí sin marca de Samsung. Tarjeta: SanDisk 64GB Clase 10 (igual que la IIUC del solicitante original), formateada a exFAT en un Mac. Ni siquiera me molesté en reformatearla después de la actualización 4.3 - simplemente monté la tarjeta en el Mac para borrar todos los archivos corruptos de longitud 0 existentes, que como se ha señalado no pueden ser eliminados por las diversas utilidades de archivos de Android.

0voto

frozenkoi Puntos 163

Según el Samsung sitio se trataba de un error que ya está solucionado y que se publicará en la próxima actualización del firmware (sea cuando sea).

-3voto

Amine Puntos 1

No tienes otra solución que comprar otro. De nada. ;)

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android 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