2 votes

Effacer /data/ mais pas /data/media/ par le shell ADB ou fastboot

Je sais que je peux utiliser fastboot -w o fastboot erase userdata mais elles s'effacent /data/media/ le stockage interne qui est situé à /data/media/0/... ce que je ne veux pas.

Existe-t-il un moyen qui n'inclut pas l'option de réinitialisation d'usine dans votre récupération, mais qui consiste à le faire manuellement ? J'utilise ClockWorkMod.

2voto

Firelord Points 23064

Démarrez dans votre système de récupération personnalisé, montez le datos soit par la ligne de commande, soit par l'interface graphique, et choisissez l'une des méthodes suivantes :

( <strong>Note </strong>que TWRP a déjà l'option d'effacer /data sans toucher /data/media. Il utilise les commandes rm -rf <sup><sup>1 </sup></sup>.)

Go Immune

  1. Faire /data/media immuable 2 c'est-à-dire à l'abri de toute modification. Vous pouvez le faire en exécutant :

    adb shell chattr +i /data/media

    Vous pouvez également utiliser -R pour l'immunité récursive, bien que cela n'ait pas été nécessaire dans mon cas de test.

    Vous pouvez voir l'attribut immunitaire ( i ) dans la sortie de

    adb shell lsattr /data/
  2. Il est temps de devenir fou furieux

    adb shell rm -rf /data/*

    Tous les fichiers et leurs répertoires de stockage dans /data/ doivent maintenant être purgés, sauf ceux qui sont à l'intérieur médias pour lequel vous obtiendriez l'erreur (non critique) Permission denied pour chaque fichier dans ce répertoire.

  3. Révoquez maintenant l'immunité en utilisant

    adb shell chattr -i /data/media

    Utilice -R si vous l'avez utilisé précédemment.

If-Else

Choisissez manuellement chaque répertoire sous /data et utiliser rm -rf sur elle. Cela pourrait être fastidieux, donc vous pouvez envisager Le shell-fu d'Izzy

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

Remplacer rm -rf con echo pour un essai à blanc.

La commande récupère chaque chemin de fichier 3 sous /data puis vérifie si le chemin d'accès au fichier est pour médias dossier : si oui, alors passer ; sinon détruire le dossier.


1 : <a href="https://twrp.me/faq/datamedia.html" rel="nofollow noreferrer" 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.">TWRP FAQ : Qu'est-ce qu'un périphérique de données/média ?</a><br>2 : <a href="https://en.wikipedia.org/wiki/Chattr" rel="nofollow noreferrer" 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 noreferrer" title="Directories: files that are lists of other files.">Aperçu général du système de fichiers de Linux : Types de fichiers</a>

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X