¿Por qué Android 5 corrompe mi tarjeta SD (mueve archivos a LOST.DIR o los pierde)?

He estado usando tarjetas SD con formato VFAT durante años para transferir archivos entre dispositivos (tabletas, cámaras, GPS, computadoras) bajo diferentes sistemas operativos (Linux, Windows, Symbian, Android) sin, según recuerdo, ningún problema significativo. En algunos casos (el GPS), esa es la única forma de copiar archivos.

Recientemente (mayo de 2016) obtuve un teléfono nuevo e intenté copiar un archivo de mi tableta Android (4.2.2) al teléfono Android (5.1.1) a través de una tarjeta SD, colocando la tarjeta de la tableta en el teléfono. El teléfono destrozó mi tarjeta SD. Se cambió el nombre de cientos de archivos y se movieron a LOST.DIR, y creo que algunos se eliminaron (recuperé más con photorec en Linux, y la mayoría tiene metadatos como EXIF ​​desde los que puedo restablecer la fecha y el nombre, pero fue molesto).

Esto parece ser repetible; Probé con una nueva tarjeta, originalmente en el teléfono, e intenté crear archivos bajo Linux (Fedora 9). Si creo un nuevo archivo en Android 4.2, luego muevo la tarjeta SD a Android 5.1, cambiará el nombre del archivo a LOST.DIR. Parece que 5.1 está ejecutando un pase fsck cuando se inserta la tarjeta, "reparándola". Si pruebo "fsck.vfat -r" en Fedora, no le gusta el archivo .android_obb, dice que es un nombre de archivo ilegal, pero no desecha el FS.

Pensé en usar una tarjeta SD con formato EXT4, que Android y Linux reconocerán, pero parece que Android no la montará automáticamente. Puedo montarlo manualmente en mi tableta con jailbreak, como root desde adb, pero eso parece torpe y, además, no he liberado el teléfono.

Hay cientos de quejas en línea sobre LOST.DIR, por lo que es difícil encontrar una buena respuesta técnica. ¿Alguien sabe más sobre esto, por ejemplo, por qué sucede o cómo evitarlo (aparte de no hacer esa transferencia en particular)? Por ejemplo, ¿se puede deshabilitar el fsck en la inserción?

¿Estás intercambiando las tarjetas en caliente?
Intercambio en caliente como en "no apagado". Pero después de desmontar con "expulsar la tarjeta de forma segura" en la sección "almacenamiento" de la configuración, o desmontar en Linux. Un corresponsal en otro lugar sugiere que hay un problema con 5.1 frente a 4.1.

Respuestas (1)

Probablemente debería montar la tarjeta SD con un lector USB en la PC, para ver si la tarjeta SD o el sistema de archivos están dañados.

Tuve ese problema un par de veces y fue que la tarjeta SD estaba dañada o rota. Por lo tanto, una verificación del sistema de archivos podría solucionarlo o sabrá que debe reemplazarse.

En Linux, puede verificar el sistema de archivos con fsck.vfat . Funciona bien para un sistema de archivos fat32 (no así para ntfs), así que podrías intentarlo. O use alguna otra utilidad GUI como Gparted, Disks o lo que quiera.

En Windows, debe hacer clic derecho en su unidad SD (en mi computadora), seleccionar propiedades , la pestaña de herramientas y verificar ahora . Puede dejar marcados los errores de corrección automática si no le importa perder archivos. (Descargo de responsabilidad: no uso Windows, por lo que la forma de llegar a esto podría haber cambiado en las últimas versiones).

Si la tarjeta tiene sectores corruptos, lo más inteligente es formatearla (en vfat/fat32) y llenarla con archivos (como mp3 o películas), luego ejecutar otra verificación del sistema de archivos. Si vuelve a fallar, debe reemplazar la SD.

ps1. Incluso si no tiene sectores corruptos, volver a formatear el sistema de archivos puede solucionar los problemas subyacentes. Y si el problema persiste, deberás reemplazar la SD.

ps2. Con respecto a ext4 , no es compatible con Android por defecto, puede usarlo con una partición si tiene el teléfono rooteado y Link2SD instalado, pero no se recomienda. ext4 tiene un sistema de diario que leería y escribiría más a menudo en la SD y disminuiría la vida útil de las tarjetas. En su lugar, se recomienda ext2 (es el último sistema de archivos ext sin diario).

Actualización después de volver a leer:

Android 4 (kitkat), 5 (lollipop) y 6 (marshmallow) usan todos los métodos diferentes para manejar el almacenamiento externo (tarjetas SD).

Al principio no entendí muy bien que estabas moviendo la tarjeta SD de un teléfono a otro.

Como el método de acceso al almacenamiento externo cambió entre versiones, esto podría ser un problema de permisos y podría estar rompiendo algunas configuraciones internas de Android.

Debe intentar compartir el archivo con otra utilidad de Android o almacenamiento basado en la nube (dropbox, mega, wetransfer, etc.) de igual a igual (correo electrónico, telegrama, sincronización, bluetooth o sincronización bittorrent).