7 votes

Quel système de fichiers l'option de formatage dans Paramètres > Stockage utilise-t-elle ?

Je me demandais quel système de fichiers Android allait utiliser lorsque je formaterais ma carte SD (externe). Quelqu'un peut-il m'éclairer ?
Est-ce celui déjà utilisé ou exFAT ou FAT32 ou dépendant du fabricant ?

0 votes

Downvote sans commentaire, classique. Qu'est-ce que vous n'aimez pas ? Veuillez au moins donner votre avis. Il ne s'agit pas de spam et la question n'a pas déjà reçu de réponse.

0 votes

Maintenant que vous avez demandé un retour, je me sens obligé de justifier mon vote. Veuillez lire Comment poser une bonne question ? Avez-vous effectué des recherches approfondies pour trouver une réponse avant de poser votre question ? Dites-nous ce que vous avez essayé jusqu'à présent et pourquoi il ne répondait pas à vos besoins ? // A-t-il été difficile de formater une carte SD vierge puis de faire mount ou utiliser une application pour trouver le système de fichiers sur la carte.

0 votes

Merci pour vos commentaires. Y a-t-il un endroit où nous pourrions en discuter ? Est-ce que le méta est le bon endroit ? // Ma motivation était que quelqu'un qui l'a fait partage son expérience sans avoir à formater ma propre carte SD ou à regarder le code source d'Android. Cela a parfaitement fonctionné et je pensais que c'était là tout l'intérêt du réseau SE. // Bien sûr, j'ai utilisé différents outils de recherche avant de poser ma question (Google, DuckDuckGo, Forums, recherche propre à stackexchange) et je n'ai rien trouvé. J'étais donc un peu perplexe lorsque j'ai été rétrogradé. // Je ne pense pas que les cartes SD vierges soient encore vendues. La mienne était préformatée en exFAT.

5voto

DukeSilversJazz Points 1311

Il va formater la carte micro SD externe en FAT32.

0 votes

Merci. Même les versions les plus récentes comme Lollipop et Marshmallow ?

1 votes

Oui, je viens de formater le disque dur externe de mon LG G3 de Verizon pour résoudre un problème, et c'est le cas (il fonctionne sous Android 5.1). Vous pouvez peut-être le formater en dehors de l'appareil en NTFS ou exFAT, mais le fait que votre appareil le lise correctement ou non dépend du fabricant de l'appareil.

0 votes

Mon Galaxy S5 sous Android 6.0.1 vient de formater une carte MicroSD de 128 Go avec exFAT.

3voto

clst Points 201

TL;DR : Chaque Android utilise FAT32 . La taille du Cluster dépend de la version. Les partitions existantes seront préservées. Il utilisera toujours le format rapide.

Réponse longue : Après quelques recherches supplémentaires, voici le processus tel qu'il a été codé dans le code source d'Android :

  1. L'application de paramétrage affiche quelques confirmations puis utilise l'intention : Intent(ExternalStorageFormatter.FORMAT_ONLY)

    en 4.4 KitKat : https://Android.googlesource.com/platform/packages/apps/Settings/+/kitkat-release/src/com/Android/settings/MediaFormat.java
    en 5 Lollipop : https://Android.googlesource.com/platform/packages/apps/Settings/+/lollipop-release/src/com/Android/settings/MediaFormat.java
    En 6, ils ont changé cela. Il faudra que j'y regarde de plus près.

  2. L'ExternalStorageFormatter utilise ensuite IMountService d'appeler formatVolume(extStoragePath)

    en 4.4 KitKat : https://Android.googlesource.com/platform/frameworks/base.git/+/kitkat-release/core/java/com/Android/internal/os/storage/ExternalStorageFormatter.java
    en 5 Lollipop : https://Android.googlesource.com/platform/frameworks/base.git/+/lollipop-release/core/java/com/Android/internal/os/storage/ExternalStorageFormatter.java

  3. Cette fonction appelle
    mConnector = new NativeDaemonConnector(this, "vold", MAX_CONTAINERS * 2, VOLD_TAG, 25); mConnector.execute("volume", "format", path);

    en 4.4 KitKat : https://Android.googlesource.com/platform/frameworks/base/+/kitkat-release/services/java/com/Android/server/MountService.java
    en 5 Lollipop : https://Android.googlesource.com/platform/frameworks/base/+/lollipop-release/services/core/java/com/Android/server/MountService.java
    plus d'informations sur vold : https://source.Android.com/devices/storage/config.html

  4. NativeDaemonConnector appelle enfin la fonction native pour formater la partition : Volume::formatVol() Cet appel est sans étiquette de volume et n'efface pas la partition.

    voir Volume.cpp, VolumeManager.cpp, CommandListener.cpp
    en 4.4 KitKat : https://Android.googlesource.com/platform/system/vold/+/kitkat-release en 5 Lollipop : https://Android.googlesource.com/platform/system/vold/+/lollipop-release

  5. formatVol décide du formatage de la partition (s'il en existe déjà une) ou de l'ensemble du périphérique (cf. int Volume::formatVol(bool wipe) ). Lorsque c'est le cas, un nouveau MBR est écrit. Ensuite, Fat::format(devicePath, 0, wipe) est d'appel. (Note intéressante : lors du montage d'un volume, Android supprime le fichier autorun.inf s'il existe : cf. Volume::protectFromAutorunStupidity() )

  6. dans Fat::format (dans Marshmallow il est nommé Vfat) le formatage réel est fait avec : /system/bin/newfs_msdos . Les paramètres sont différents selon la version d'Android, le nombre de secteurs est toujours omis, wipe est toujours faux :


Appendice : Syntaxe /system/bin/newfs_msdos à partir de https://Android.googlesource.com/platform/system/core/+/lollipop-release/toolbox/newfs_msdos.c :

usage: newfs_msdos [ -options ] special [disktype]
where the options are:
    -@ create file system at specified offset
    -A Attempt to cluster align root directory
    -B get bootstrap from file
    -C create image file with specified size
    -F FAT type (12, 16, or 32)
    -I volume ID
    -L volume label
    -N don't create file system: just print out parameters
    -O OEM string
    -S bytes/sector
    -a sectors/FAT
    -b block size
    -c sectors/cluster
    -e root directory entries
    -f standard format
    -h drive heads
    -i file system info sector
    -k backup boot sector
    -m media descriptor
    -n number of FATs
    -o hidden sectors
    -r reserved sectors
    -s file system size (sectors)
    -u sectors/track

1 votes

FAT32. L'option -F 32 spécifie FAT32. Cela peut toutefois être erroné pour les très anciennes versions.

0 votes

Je viens de le regarder. Même Donut (Android 1.6) l'utilisait. Donut avait aussi un support pour le formatage ext2 apparemment. // EDIT : Apparemment le commentaire auquel je répondais a disparu... Donc ça a l'air bizarre maintenant.

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