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/emulated
almacenamiento existente al adoptado.
Como quería una configuración mixta y tenía copias de seguridad de mis datos, simplemente ejecuté sm partition ... mixed 25
y 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/emulated
y 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
. /sdcard
es un enlace simbólico a /storage/self/primary
y ese es un enlace simbólico a /mnt/user/0
. Intenté crear un enlace simbólico al existente DCIM
allí, 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/0
es 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/Pictures
fue creado.
sdcard1
está 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/0
se 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.
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.
izzy
/sdcard/Pictures/Screenshots
(al menos ahí es donde estaban en todos los dispositivos que he comprobado; nunca las he visto ir aDCIM
, 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.claqué