¿Por qué borrar "Datos" en la recuperación no borra mis medios en la tarjeta SD interna?

Mi teléfono no es compatible con la tarjeta SD extraíble.

  • Cuando abro la aplicación Titanium Backup en mi Oneplus One (CM12) rooteado, veo (en la parte inferior) en la Descripción general algunas especificaciones, incluido el uso de la ROM del sistema y Internal+Media , que dice 58.9GB (10.7 GB free).

  • En ES File Explorer veo un espacio libre similar.

  • En DiskInfo , veo en Datos :

    • Used: 45.8 GB,
    • Free: 10 GB,
    • Mount point: /data,
    • Filesystem: ext4,
    • Partition name: userdata,
    • Partition nickname: Data, entre otras cosas
  • Diskusage fue más allá y se mostró en la tarjeta de almacenamiento :

    • Media: 42966 MiB
    • Apps: 3001 MiB
    • Free space: 10262 MiB
  • Configuración -> Almacenamiento dice que el espacio total es 54.92GBy Disponible es 10.02GB.

Toda la información anterior me hace concluir que mis aplicaciones y datos de aplicaciones, y otros archivos personales, se almacenan en una sola partición llamada Datos en /data.

Pero mountdice que:

/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,nodiratime,noauto_da_alloc,errors=panic,data=ordered 0 0

/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,noatime,nodiratime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

También vi este emulatedtérmino debajo /storagey parece relacionado.

Pregunta : mencioné toda la información mencionada porque no entiendo, si mis medios (archivos personales) están debajo /data, ¿por qué la recuperación no los borra de forma predeterminada a menos que elija /data/mediahacerlo explícitamente? En el caso de fastboot, puedo eliminar todas las aplicaciones y medios usando fastboot erase userdata, pero ¿por qué Recovery y Android lo tratan de manera diferente?

Más aún, ¿cómo lo borra Recovery entonces?

Además, lo que estaba /dev/fuseen mountla salida y si todos son una sola partición, ¿por qué no puedo subir de nivel más allá de lo que se muestra como directorio de inicio o tarjeta SD interna o 0.

Respuestas (2)

Bueno, esta cosa de la tarjeta SD es un poco complicada para la OPO. Para mí, parece que el dispositivo no tiene una tarjeta SD (ni siquiera una interna). Lo que significaría que el espacio libre que ve es en realidad una tarjeta SD interna emulada tomada de la memoria flash de su dispositivo.

Para emular una tarjeta SD, se usa un demonio FUSE donde también entra en juego su dispositivo /dev/fuse. Esta es probablemente la presentación en bruto de su memoria flash accesible a través de su kernel. Que luego se monta en /mnt/shell/emulated.

Información adicional sobre FUSE: http://en.wikipedia.org/wiki/Filesystem_in_Userspace#Virtual_file_system .

Para respaldar mis suposiciones sobre el almacenamiento interno emulado, consulte el archivo de configuración de almacenamiento para OPO: https://github.com/evolve-bacon/android_device_oneplus_bacon/blob/lollipop-5.1/overlay/frameworks/base/core/res/res/ xml/lista_de_almacenamiento.xml

Ahora a su pregunta de por qué su directorio /data/media no se borra al hacer un restablecimiento de fábrica:

Esta es solo una buena característica cuando no hay una tarjeta SD externa física (o incluso interna). Para que no pierda sus datos de usuario importantes, como descargas de imágenes, etc. con un borrado de datos.

Lo que hizo Cyanogenmod aquí fue declarar una tarjeta SD externa en su tarjeta SD interna emulada que reside en /data/media.

Para una comprensión completa, consulte: https://github.com/TheOldUnas/Bacon-Lollipop-Boot/blob/master/boot/ramdisk/init.bacon.rc

Especialmente la declaración de: export EXTERNAL_STORAGE /storage/emulated/legacyy el demonio FUSE para /data/media:service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated

Para una comprensión final, compare en su dispositivo la salida entre ls -l /data/media/0y ls -l /storage/emulated/legacyy finalmente ls -l /sdcard. Es todo lo mismo que es tu emulación, tarjeta sd externa emulada: D

Para su comparación entre el borrado rápido y el borrado de datos a través de Android/Recovery. Fastboot es parte del cargador de arranque y no conoce todo este lío de emulación, por lo que borrará completamente los datos.

Significa que los datos de la aplicación y los medios pertenecen a una partición nombrada userdatay tal vez es por eso que el borrado rápido termina eliminando todos esos datos. ¿no es así?
sí, lo hiciste exactamente bien.
¿Hay algo que no te quede claro según tus preguntas? Si es así, por favor pregunte para que pueda aclararlo. De lo contrario, acepte esta respuesta, ya que me esforcé mucho en explicar todo lo más detallado posible.
+1 por cubrir todos los puntos y lo aceptaré después de una aclaración. ¿Cómo borra los datos una recuperación personalizada cuando toco "Borrar datos" y cómo la recuperación no termina eliminando "/datos/medios" a menos que se indique explícitamente?
esto depende en gran medida de la implementación de la recuperación. algunas recuperaciones realmente básicas no manejan la emulación (probablemente no tienen un demonio de fusible incorporado), por lo que simplemente borran completamente toda la partición. algunos reconocen la declaración EXTERNAL_STORAGE y tienen una implementación de borrado diferente para tales casos.
todavía algo no está claro?

Responda a su pregunta "Más aún, ¿cómo lo borra Recovery entonces?" /data/media es solo un enlace Borrar /data es para si instala una nueva rom, etc. y si también borraría /data/media, puede haber rom install zip-s, por lo que se debe al enlace o a la seguridad

¿Cómo limpiar una carpeta? Sé cómo borrar el dispositivo solamente
Ir a una carpeta y eliminarla