Tengo una tarjeta sdcard vieja de 64 GB y una nueva de 128 GB, ¿cómo puedo copiar todos los archivos de mi tarjeta vieja a la nueva de manera que Android trate la nueva tarjeta igual que la vieja?
Intenté simplemente copiar y pegar sobre mi carpeta DCIM, luego puse la nueva sdcard y reinicié mi teléfono, en el arranque el teléfono recreó la carpeta /Android y todas las aplicaciones tenían derechos a sus nuevas carpetas.
Maneras en que traté de mover los archivos:
1)
- dd old card to disk
- dd a la nueva tarjeta
- después de esto la tarjeta funciona pero se ve que tiene 64 GB en lugar de 128 GB espacio
- utilizar gparted para redimensionar la partición
- esto hace que Android vea la tarjeta como si hubiera usado 64 GB de espacio pero sin archivos o carpetas
2)
- dd tarjeta vieja a disco a disco
- dd a la nueva tarjeta
- utilizar fdisk para redimensionar la partición
- esto hace que Android vea la tarjeta como si sólo tuviera carpetas vacías, pero aún así utiliza 64 GB de espacio
3)
- crear una partición de 128 GB
- esto lo he probado tanto con FAT32 como con exFAT
- montaje vía mtp
- Actualización: También he intentado copiar y pegar todos los archivos y carpetas directamente a la tarjeta sd desde la tarjeta antigua mediante el comando cp en linux (eso fue lo primero que intenté... Sólo probé todas las otras cosas porque esto no funcionó)
- rsync todos los archivos y carpetas a la tarjeta sdcard
- 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 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 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.
Así que en resumen... ¿cómo puedo copiar todos mis archivos de la antigua tarjeta sdcard a la nueva... o tengo que restablecer mi teléfono y volver a descargar todas mis aplicaciones de tal manera que todas las carpetas y premisiones apropiadas son creadas por Android... que parece ser mi única opción
información adicional
- mi teléfono es un unrooted z5 compact
- corre Android 5.1
- Tengo acceso a un ordenador con Linux y con Windows, pero preferiría soluciones con Linux.
- No me importa el sistema de archivos de mi tarjeta SD externa.
- Estoy familiarizado con la línea de comandos y preferiría una solución con una lista de comandos que necesito copiar y pegar
Como Firelord sugirió, reiniciar el teléfono hace que Android "muestre" la carpeta DCIM, por lo que ésta puede ser copiada, sin embargo, parece que las carpetas /Android/data/com.company.app/ tienen que ser creadas por las propias aplicaciones, de lo contrario no pueden escribir en ellas, pero posteriormente se pueden copiar archivos en estas carpetas
Restablecer de fábrica y restaurar desde la copia de seguridad me lo hizo... es una solución fea... pero al menos funciona.
Asumí erróneamente que los permisos de los archivos 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 los permisos de las carpetas se guardan en la tarjeta interna, o están vinculados a la aplicación de alguna manera no trivial.
Reinicié mi teléfono de nuevo, y luego algunas de mis aplicaciones perdieron los permisos para escribir en sus carpetas de la tarjeta SD?!?!, es decir, podcastaddict que había descargado 300 podcasts durante la noche no podía escribir en sdcard1/Android/data/com.bambuna.podcastaddict/files/podcasts
Al borrar y reinstalar podcastadditc regeneró su carpeta y desde entonces funciona.
1 votos
¡Vaya, esto tiene un voto negativo! Estoy un poco sorprendido. De todos modos, jcr, ¿tu dispositivo tiene soporte OTG? Aunque creo que simplemente copiando los archivos de una tarjeta a otra seguido de un reinicio debería funcionar, quiero ver qué pasaría si copias los archivos de una tarjeta a otra cuando ambas están conectadas y montadas en Android?
0 votos
@programacion buen punto lo que hice fue "rsync -rtvu --size-only /media/local/Share/microSD/ SD\ Card/", voy a tratar de añadir un "-a" o hay una mejor bandera para establecer... Estoy en medio de un restablecimiento de fábrica de mi teléfono para asegurarse de que no es porque Android se coruptede alguna manera
0 votos
@Firelord No sé si tengo soporte OTG, ¿cómo haría para montar ambos en Android?, sí tengo soporte MTP ya que era el protocolo que utilizaba para montar en linux
1 votos
El problema de la carpeta DCIM se ha solucionado porque el mediaserver (indexa los archivos multimedia y las imágenes) se ejecuta en cada reinicio. No estoy seguro de cómo se solucionó el problema de Android/data/.
0 votos
No te ofendas, 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 el ordenador, hacer una carpeta temporal en mi directorio de inicio, abrir un terminal y cd a la carpeta temporal, a continuación, emitir 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, y luego invierta el proceso de copia, luego vuelva a insertar la nueva tarjeta SD en el teléfono y arranque. Ya está hecho. No debería ser más complicado que eso.