4 votes

Pourquoi l'effacement des "données" dans la récupération n'efface pas mes médias dans la carte SD interne ?

Mon téléphone ne supporte pas les cartes SD amovibles.

  • Quand j'ouvre Sauvegarde en titane sur mon Oneplus One enraciné (CM12), je vois (en bas) dans l'application Vue d'ensemble quelques caractéristiques dont ROM système l'utilisation et Interne+Média qui dit 58.9GB (10.7 GB free) .

  • En ES File Explorer Je vois un espace libre similaire.

  • En DiskInfo Je vois sous Datos :

    • Used: 45.8 GB ,
    • Free: 10 GB ,
    • Mount point: /data ,
    • Filesystem: ext4 ,
    • Partition name: userdata ,
    • Partition nickname: Data entre autres choses
  • Diskusage est allé plus loin et a montré sous Carte de stockage :

    • Media: 42966 MiB
    • Apps: 3001 MiB
    • Free space: 10262 MiB
  • Paramètres -> Stockage dit que l'espace total est 54.92GB et Disponible est 10.02GB .

Toutes les informations ci-dessus m'amènent à conclure que mes applications et leurs données, ainsi que d'autres fichiers personnels sont tous stockés dans une seule partition nommée. Datos à l'adresse /data .

Mais mount dit cela :

/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

J'ai aussi vu ceci emulated terme sous /storage et ça semble lié.

Question : J'ai mentionné toutes ces informations parce que je ne comprends pas, si mes médias (fichiers personnels) sont sous /data alors pourquoi Recovery ne l'efface pas par défaut à moins que je ne choisisse explicitement /data/media pour le faire. Dans le cas de fastboot, je peux effacer toutes les applications + les médias en utilisant fastboot erase userdata mais pourquoi Recovery et Android le traitent-ils différemment ?

D'ailleurs, comment Recovery peut-elle l'essuyer alors ?

Aussi, qu'est-ce que /dev/fuse en mount et s'ils sont tous une seule partition, alors pourquoi je ne peux pas aller au-delà de ce qui est affiché comme répertoire de base ou carte SD interne ou 0 .

1voto

divided-by-zero Points 952

Ce truc de la carte SD est un peu délicat pour l'OPO. Pour moi, il semble que l'appareil n'a pas de carte SD du tout (même pas une interne). Ce qui voudrait dire que l'espace libre que vous voyez est en fait une carte SD interne émulée prise dans la mémoire flash de votre appareil.

Pour émuler une carte SD, un démon FUSE est utilisé où votre périphérique /dev/fuse entre également en jeu. Il s'agit probablement de la présentation brute de votre mémoire flash rendue accessible par votre noyau. Il est ensuite monté sur /mnt/shell/emulated.

Informations supplémentaires sur FUSE : http://en.wikipedia.org/wiki/Filesystem_in_Userspace#Virtual_file_system .

Pour étayer mes hypothèses sur le stockage interne émulé, consultez le fichier de configuration du stockage pour l'OPO : https://github.com/evolve-bacon/android_device_oneplus_bacon/blob/lollipop-5.1/overlay/frameworks/base/core/res/res/xml/storage_list.xml

Maintenant, pour votre question, pourquoi votre répertoire /data/media n'est pas effacé lors d'une réinitialisation d'usine :

C'est juste une fonctionnalité agréable quand il n'y a pas de carte SD externe physique (ou même interne) présente. Ainsi, vous ne perdez pas vos données utilisateur importantes comme les téléchargements, les photos, etc. en cas d'effacement des données.

Ce que Cyanogenmod a fait ici, c'est déclarer une sdcard externe sur votre sdcard interne émulée qui réside dans /data/media.

Pour une compréhension complète, voir : https://github.com/TheOldUnas/Bacon-Lollipop-Boot/blob/master/boot/ramdisk/init.bacon.rc

Surtout la déclaration de : export EXTERNAL_STORAGE /storage/emulated/legacy et le démon FUSE pour /data/media : service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated

Pour une meilleure compréhension, comparez sur votre appareil la sortie entre ls -l /data/media/0 y ls -l /storage/emulated/legacy et enfin ls -l /sdcard . C'est la même chose que votre émulation, la carte SD externe émulée :D

Pour votre comparaison entre l'effacement par fastboot et l'effacement des données par Android/récupération. Fastboot fait partie du chargeur de démarrage et n'est pas au courant de tout ce désordre d'émulation donc il effacera complètement les données.

0voto

rebane2001 Points 100

Réponse à votre question "Plus encore, comment la récupération peut-elle l'effacer alors ?" /data/media est juste un lien L'effacement de /data est pour si vous installez une nouvelle rom etc et si vous effacez également /data/media, il pourrait y avoir des zip-s d'installation de rom, donc c'est soit à cause du lien ou de la sécurité.

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