¿Cómo me recupero de una migración de almacenamiento adoptada fallida? no puedo hacer fotos ni capturas de pantalla

TL;DR: Me equivoqué. Ahora mi teléfono no almacenará imágenes porque probablemente esté tratando de escribir en algún directorio que no existe. ¿Cómo puedo arreglar esto? ¿Qué estructura de directorios se espera? Lo causé tal vez por equivocarme un poco cuando me mudé a Adopted Storage, pero eso puede no ser importante para la respuesta.


Migré al almacenamiento adoptado esta mañana. Quería una partición mixta, pero accidentalmente obtuve la adopción de la tarjeta completa (utilicé la GUI). Como parte de eso, supongo que migré el /storage/emulatedalmacenamiento existente al adoptado.

Como quería una configuración mixta y tenía copias de seguridad de mis datos, simplemente ejecuté sm partition ... mixed 25y eliminé el almacenamiento adoptado existente.

Ahora no puedo tomar ninguna foto. Si hago una captura de pantalla, dice que no pudo guardarla. Si tomo una foto con OpenCamera, dice lo mismo.

Me gustaría evitar la molestia de restablecer los valores de fábrica si solo se trata de crear algunos directorios y/o crear algunos enlaces simbólicos. Intenté configurar un enlace simbólico /media/expand/<my-adopted-storage>/user -> /storage/emulatedy creé DCIM(modo 1777) en /storage/emulated/0/DCIM(donde solía estar). Eso no ayuda.

¿Estoy en el camino correcto y me estoy equivocando en los detalles, o estoy jodido?


Como puede ver en las etiquetas, estoy en CyanogenMod 13 / Android 6 / Marshmallow.


Investigación exahustiva:

Miró hacia donde está mirando OpenCamera, y está mirando a /sdcard/DCIM. /sdcardes un enlace simbólico a /storage/self/primaryy ese es un enlace simbólico a /mnt/user/0. Intenté crear un enlace simbólico al existente DCIMallí, no ayudó. ¿Tal vez necesita señalar el lugar correcto en el sistema para pasar por las pistas de seguridad? Probar un reinicio y ver dónde terminan las cosas.

EDITAR: Fue /sdcard -> /storage/self/primary -> /mnt/user/0/primary. creé /mnt/user/0/primary -> /mnt/expand/*/user/0_ No vayas.


Hay un usuario secundario en el teléfono. Cuando cambio a eso, recibo un montón de "Desafortunadamente, YouTube/Gallery/foo se detuvo". y no puedo ejecutar ninguna de las aplicaciones instaladas, luego recibo el mismo mensaje.


Tenía tres "Tarjetas" SD enumeradas en Almacenamiento y USB : Púrpura (adoptada con éxito), Gris (primera adopción, ahora abandonada, dijo "no montada") y sdcard1 . Pensé que tal vez todavía anhela esa partición desmontada (inexistente), así que hice clic y elegí "Olvidar". Ahora sdcard1 está dañado (!). Se reiniciará de nuevo y verá qué hace con él.


¡Progreso! Después de olvidar esa adopción original y reiniciar, ahora tenemos /sdcard -> /storage/self/primary -> /storage/emulated/0.

/storage/emulated/0es un sistema FUSE que parece tener el mismo tamaño que /data, por lo que ahora todo parece bastante normal. Tomé una captura de pantalla, y /sdcard/Picturesfue creado.

sdcard1está de vuelta y se ve bien.


Ahora había un comando Migrar datos tanto en el almacenamiento interno como en el almacenamiento adoptado. Cuando hice clic en el almacenamiento adoptado, emulated/0se volvió a montar como un proxy FUSE para el almacenamiento adoptado y las capturas de pantalla ahora van allí en lugar de interno-interno. Creo que esto es como lo quiero ahora.

No tengo experiencia con el almacenamiento adoptable, pero si la ubicación es de alguna ayuda: las capturas de pantalla suelen ir a /sdcard/Pictures/Screenshots(al menos ahí es donde estaban en todos los dispositivos que he comprobado; nunca las he visto ir a DCIM, que es la cámara predeterminado de la aplicación). Supongo que Android crea este directorio automáticamente si no existe, por lo que tal vez pueda verificar los registros mientras intenta tomar una captura de pantalla. Eso podría dar algunas pistas sobre lo que está yendo mal.
@Izzy Gracias por las pistas. Comprobaré esto.

Respuestas (1)

Creo que lo que resolvió mi problema fue que ejecuté Migrar datos en el almacenamiento adoptado más reciente. Hasta entonces, el sistema se encontraba en un estado en el que el almacenamiento adoptado abandonado era el "almacenamiento principal", pero no estaba presente.

No estoy seguro de por qué Migrar datos en el almacenamiento interno no estaba disponible antes de abandonar el primer almacenamiento adoptado. Tal vez todo lo que hubiera tenido que hacer fuera reiniciar y el comando hubiera estado disponible.

Voy a mover más parte de la historia de la respuesta a la pregunta, para crear una imagen de preguntas y respuestas más coherente.