2 votos

Borre los /datos/ pero no los /datos/medios/ a través del shell ADB o del fastboot

Sé que puedo usar fastboot -w o fastboot erase userdata pero estos borran /data/media/ el almacenamiento interno que se encuentra en /data/media/0/... que no quiero.

¿Hay alguna forma que no incluya golpear la opción de restablecimiento de fábrica en tu recuperación, sino hacerlo manualmente? Estoy usando ClockWorkMod.

0 votos

No ha solucionado mi problema por completo, pero puede que sólo necesite más tiempo para limpiar. ¿cuánto tiempo suele tardar? no debería ser demasiado tiempo, ¿verdad?

2 votos

@Firelord Por favor, haz que sea una respuesta (pero incluye que requiere poderes Root) :) for dir in /data/*; do if [[ $dir =~ media ]]; then continue; else rm -rf $dir; done - Me encanta el poder del shell :) Oh: como la comparación regex podría fallar: if [ "$dir" = "/data/media" ] debería funcionar también. Puedes probarlo con seguridad sustituyendo el rm -rf con el echo comando.

2voto

Firelord Puntos 161

Arranque en su Recuperación personalizada, monte el datos partición ya sea usando la línea de comandos o a través de la GUI, y elegir cualquiera de los siguientes métodos:

( <strong>Nota </strong>que la TWRP ya tiene la opción de borrar /datos sin tocar /datos/medios. Utiliza los comandos rm -rf <sup><sup>1 </sup></sup>.)

Ir Inmunidad.

  1. Haga /data/media inmutable 2 es decir, inmunes a cualquier modificación. Puede hacerlo ejecutando:

    adb shell chattr +i /data/media

    También puedes usar -R para la inmunidad recursiva, aunque no era necesaria en mi caso de prueba.

    Puedes ver el atributo de inmunidad ( i ) en la salida de

    adb shell lsattr /data/
  2. Es hora de volverse loco

    adb shell rm -rf /data/*

    Todos los archivos y sus directorios internos /data/ deben ser ahora purgados, excepto los que están dentro medios de comunicación para lo cual obtendrías el error (no crítico) Permission denied para cada archivo dentro de ese directorio.

  3. Ahora revoca la inmunidad usando

    adb shell chattr -i /data/media

    Utilice -R si lo usaste anteriormente.

If-Else

Elija manualmente cada directorio bajo /data y usar rm -rf en él. Podría ser cansado, así que puede considerar El shell-fu de Izzy

adb shell for dir in /data/*; do if [[ "$dir" = "/data/media" ]]; then continue; else rm -rf "$dir"; fi; done;

Reemplazar rm -rf con echo para un ensayo general.

El comando recoge cada ruta de archivo 3 bajo /data entonces comprueba si la ruta de archivo es para medios de comunicación carpeta: si es así, entonces pasa; de lo contrario, bombardea el archivo.


1: <a href="https://twrp.me/faq/datamedia.html" rel="nofollow" title="When you choose a factory reset, instead of formatting, we use rm -rf commands to remove all the folders except for the media folder so that we can remove all of your apps and settings while leaving your “sdcard” intact.">PREGUNTAS FRECUENTES DE LA TWRP: ¿Qué es un dispositivo de datos/medios de comunicación?</a><br>2: <a href="https://en.wikipedia.org/wiki/Chattr" rel="nofollow" title="chattr is the command in the Linux operating system that allows a user to set certain attributes of a file residing on a Linux file system.">Wikipedia: chattr</a><br>3: <a href="http://www.tldp.org/LDP/intro-linux/html/sect_03_01.html" rel="nofollow" title="Directories: files that are lists of other files.">Visión general del sistema de archivos de Linux: Tipos de archivos</a>

0 votos

¿Hacer una partición inmune sería persistente después de un reinicio?

0 votos

La última vez que lo comprobé, la inmunidad se establece como un atributo de los archivos y no de un sistema de archivos. Si quieres que tu sistema de archivos no se modifique, entonces móntalo en modo de sólo lectura.

0 votos

Aunque fuera inmune, probablemente no sobreviviría a un flash .kdz, ¿verdad?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X