cómo transferir archivos a una nueva tarjeta SD externa

Tengo una tarjeta SD antigua de 64 GB y una tarjeta SD nueva de 128 GB, ¿cómo copio todos los archivos de mi tarjeta anterior a la nueva de una manera que haga que Android trate la tarjeta nueva como si fuera la tarjeta anterior?

Intenté simplemente copiar y pegar sobre mi carpeta DCIM, luego puse la nueva tarjeta SD y reinicié mi teléfono, al iniciar el teléfono recreó la carpeta /Android y todas las aplicaciones tenían derechos sobre sus nuevas carpetas.

Formas en que traté de mover los archivos:

1)

  • agregar tarjeta antigua al disco
  • dd a nueva tarjeta
    • después de esto, la tarjeta funciona, pero se considera que tiene 64 GB en lugar de 128 GB de espacio
  • use gparted para cambiar el tamaño de la partición
    • esto hace que Android vea que la tarjeta ha usado 64 GB de espacio pero sin archivos ni carpetas

2)

  • agregar tarjeta antigua a disco a disco
  • dd a nueva tarjeta
  • use la partición de cambio de tamaño fdisk
    • esto hace que Android vea que la tarjeta solo tiene carpetas vacías, pero aún usa 64 GB de espacio

3)

  • crear una partición de 128 GB
    • esto lo he probado tanto con FAT32 como con exFAT
  • montar a través de mtp
    • Actualización: también intenté copiar y pegar todos los archivos y carpetas directamente a la tarjeta SD desde la tarjeta anterior a través del comando cp en Linux (eso fue lo primero que intenté ... solo probé todas las demás cosas porque esto no no trabajo)
  • rsync todos los archivos y carpetas a la tarjeta sd
    • esto parece hacer que Android vea todas las carpetas y archivos, pero ahora mis aplicaciones no pueden escribir en sus propias carpetas
    • por ejemplo, el problema en todos los casos anteriores es que Android igher a) no ve el archivo, simplemente ve la tarjeta como un archivo con 64 GB de espacio utilizado pero no puede ver ninguna de las carpetas, o lo copia pero el las aplicaciones no tienen "acceso" a sus propios directorios, por ejemplo, Android/data/com.bambuna.podcastaddict/files/podcast/ es donde están mis podcasts, pero la aplicación podcastaddict no tiene permisos de escritura para la carpeta.

en resumen... ¿cómo copio todos mis archivos de la tarjeta sd antigua a la nueva... o tengo que restablecer mi teléfono de fábrica y volver a descargar todas mis aplicaciones para que todas las carpetas y permisos apropiados sean creados por android... que parece ser mi única opción

Información Adicional

  • mi teléfono es un z5 compacto no rooteado
    • corre android 5.1
  • Tengo acceso a una computadora Linux y Windows, pero preferiría soluciones Linux.
  • No me importa qué sistema de archivos esté en mi tarjeta SD externa.
  • Estoy familiarizado con la línea de comandos y preferiría que la solución enumerara algunos comandos que necesito copiar y pegar

Como sugirió Firelord, reiniciar el teléfono hace que Android "muestre" la carpeta DCIM, por lo que esta se puede copiar, sin embargo, todavía parece que las carpetas /Android/data/com.company.app/ tienen que ser creadas por las propias aplicaciones. , de lo contrario no pueden escribir en ellos, pero posteriormente puede copiar archivos en estas carpetas

El restablecimiento de fábrica y la restauración desde la copia de seguridad hicieron esto por mí... es una solución fea... pero al menos funciona.

Supuse erróneamente que los permisos de archivo estaban ocultos en algún lugar de la tarjeta SD y, por lo tanto, traté de encontrar la "forma correcta" de copiar, pero parece que el permiso de la carpeta se guarda en la tarjeta interna, o están vinculados a la aplicación en algún otro lugar. manera trivial.

Reinicié mi teléfono nuevamente, y luego algunas de mis aplicaciones perdieron permisos para escribir en sus carpetas de tarjetas SD?!?!, es decir, podcastaddict que había descargado 300 podcasts durante la noche no pudo escribir ensdcard1/Android/data/com.bambuna.podcastaddict/files/podcasts

Al eliminar y reinstalar podcastadditc, regeneró su carpeta y ha estado funcionando desde entonces.

Wow, esto tiene un voto negativo! Estoy un poco sorprendido. De todos modos, jcr, ¿su dispositivo es compatible con OTG? Aunque creo que simplemente copiar los archivos de una tarjeta a otra seguido de un reinicio debería funcionar, quiero ver qué sucedería si copia los archivos de una tarjeta a otra cuando ambas están conectadas y montadas en Android.
@programming buen punto lo que hice fue "rsync -rtvu --size-only /media/local/Share/microSD/SD\ Card/", intentaré agregar un "-a" o hay una marca mejor para establecer ... Estoy en medio del restablecimiento de fábrica de mi teléfono para asegurarme de que no se deba a que Android se corrompió de alguna manera
@Firelord No lo sé. Tengo compatibilidad con OTG, ¿cómo haría para montar ambos en Android? Tengo compatibilidad con MTP, ya que ese fue el protocolo que solía montar en Linux.
El problema de la carpeta DCIM se solucionó porque el servidor de medios (indexa archivos e imágenes multimedia) se ejecuta en cada reinicio. No estoy seguro de cómo solucionó el problema de Android/datos/.
Sin ofender, pero he hecho esto muchas veces en mi caja de Linux, todo lo que he hecho es apagar el teléfono, insertar la tarjeta SD original en la computadora, crear una carpeta temporal en mi directorio de inicio, abrir una terminal y cd a la carpeta temporal, luego emita el comando cp -r /media/.../*(ajuste para el punto de montaje adecuado), luego retire la tarjeta, inserte la nueva, formatéela como FAT32 con el mismo nombre de volumen, luego invierta el proceso de copia, luego vuelva a insertar la nueva tarjeta SD en el teléfono una bota Hecho. No debería ser más complicado que eso.

Respuestas (2)

Obtuve una tarjeta real de 128 gb, aquí simplemente copié y pegué mi carpeta DCIM, luego puse la nueva tarjeta SD y reinicié mi teléfono, al iniciar el teléfono recreó la carpeta /Android y todas las aplicaciones tenían derechos sobre sus nuevas carpetas.

entonces mi método:

  1. haga una copia de seguridad y elimine todas las aplicaciones que usan la tarjeta SD
  2. formatear la tarjeta sd
  3. toma una foto para generar la carpeta DCIM
  4. inserte la tarjeta SD en su computadora
  5. elimine la carpeta /Android (se regenerará cuando inserte la tarjeta en su teléfono)
  6. mover archivos relevantes a la carpeta DCIM
  7. inserte la tarjeta sd en el teléfono
  8. reinicia el celular
  9. reinstalar aps desde la copia de seguridad
  10. hacer algo que les haga regenerar sus carpetas (es decir, descargar un archivo, tomar una foto, etc.)
  11. reiniciar el teléfono
  12. para todas las aplicaciones que no pueden escribir en su propia carpeta, elimine la aplicación y elimine su carpeta /Android/data/com.company.app_name y luego vaya a 8
¿Cómo es que borraste la guía para detectar si la tarjeta era falsa?
La detección de tarjetas SD falsas es otro tema. Esto no es un foro. Una pregunta, una respuesta. Por cierto, mi método a continuación parece ser mucho más fácil. Copie la identificación del volumen seguida de una copia directa, eso es todo.

TLDR

  • copie la identificación del volumen de la tarjeta anterior a la tarjeta nueva
  • luego copie todo el contenido de la tarjeta vieja a la tarjeta nueva (o cópielo primero a un disco duro y luego del disco duro a la nueva tarjeta, no hay diferencia).

Paso a paso

Usé mi computadora Fedora Linux para hacer esto, ya que es un Thinkpad con ranura para tarjeta SD.

  1. Primero miré cuál era la identificación del volumen de la tarjeta SD anterior. Todavía no he encontrado una herramienta de línea de comandos para esto. Entonces usé (KDE) partitionmanager(ya gpartedque no es compatible con extfat ). Lo instalé con

    dnf install kde-partitionmanager
    
  2. Luego inserté la nueva tarjeta SD y la formateé agregando la identificación del volumen de la tarjeta SD anterior. Para eso tuve que instalar varias herramientas exfat.

    dnf install -y fuse-exfat exfat-utils
    

    Luego formateé una nueva tarjeta con la identificación del volumen anterior (en el ejemplo, la identificación del volumen es 01234567)

    mkfs.exfat -i 01234567 /dev/mmcblk0p1
    
  3. Luego intenté copiar de la tarjeta SD antigua a la nueva, rsync -aPpero sorprendentemente no funcionó (la velocidad de datos era realmente baja (20-40 MB/s) y resultó que solo se copiaron algunos archivos a la nueva tarjeta, tengo no tengo idea de por qué sucedió eso, la primera vez que lo veo, pero como no tuve tiempo, no investigué más). Luego simplemente lo copié con cp -a, que tenía una velocidad de más de 100 MB/s.

    cp -a /mnt/oldcard/. /mnt/newcard/
    

Inserté la nueva tarjeta en el teléfono, la reinicié (creo que no tenía que hacerlo). Trabajado como un encanto. Todo funcionó como antes (Antennapod, Osmand, MapsMe, diccionario Aard 2 con Wikipedias sin conexión, fotos, etc.). No faltaba nada. Pero ahora me queda mucho más espacio en la tarjeta SD. :-D