Quel est le système de fichiers d'Android?
Cela dépend du système de fichiers, par exemple /system
et /data
sont yaffs2
tandis que /sdcard
est vfat . Voici le résultat de mount:
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
et par rapport aux autres systèmes de fichiers supportés, c’est la liste
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev cgroup
nodev binfmt_misc
nodev sockfs
nodev pipefs
nodev anon_inodefs
nodev tmpfs
nodev inotifyfs
nodev devpts
nodev ramfs
vfat
msdos
nodev nfsd
nodev smbfs
yaffs
yaffs2
nodev rpc_pipefs
Par défaut, il utilise YAFFS - Yet Another Flash File System.
La plupart des réponses ici sont assez vieilles.
Dans le passé, quand un nand géré était la technologie de stockage la plus populaire, yaffs2 était le système de fichiers le plus courant. De nos jours, peu de périphériques utilisent des nands non gérés et ceux qui sont encore utilisés migrent lentement vers des ubifs.
De nos jours, le stockage le plus courant est emmc (managed nand). Pour de tels périphériques, ext4 est bien plus populaire, mais ce système de fichiers efface lentement son chemin pour f2fs (fs flash friendly).
Edit : f2fs n'aura probablement pas le statut de fs commun pour les périphériques flash (y compris Android)
Johan est proche - cela dépend du fabricant de matériel. Par exemple, les téléphones Samsung Galaxy S utilisent Samsung RFS (propriétaire). Cependant, le Nexus S (également fabriqué par Samsung) avec Android 2.3 utilise Ext4 (vraisemblablement parce que Google leur a dit de le faire - le Nexus S est le téléphone avec l'expérience Google actuelle). De nombreux développeurs de communauté ont également commencé à migrer vers Ext4 à cause de ce changement.
Cela dépend du matériel/de la plate-forme que vous utilisez.
Comme Android utilise le noyau Linux à ce niveau, il est plus ou moins possible d'utiliser le système de fichiers pris en charge par le noyau Linux.
Mais comme la plupart des téléphones utilisent une sorte de mémoire flash, il est raisonnable de supposer qu’ils utilisent YAFFS.
Mais notez que si un fournisseur souhaite vendre un netbook Android (avec un disque dur), il peut utiliser ext3 ou quelque chose du genre.
Étant donné que la plupart des périphériques utilisent eMMC, le système de fichiers utilisé par Android est ext4, à l'exception du firmware.refer - http://Android-developers.blogspot.com/2010/12/saving-data-safely .html
Voici le système de fichiers sur galaxy s4:
/ system ext4
/ data ext4
/ cache ext4
/ firmware vfat
/ data/media/mnt/Shell/émulé sdcardfs
La sortie détaillée est la suivante:
/dev/block/platform/msm_sdcc.1/by-name/system/system ext4 ro, seclabel, relatime, data = ordonné 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata/data ext4 rw, séclabel, nosuid, no dev, noatime, discard, journal_checksum, journal_async_commit, noauto_da_alloc, data = o ordonné 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache/cache ext4 rw, seclabel, nosuid, node v, noatime, discard, journal_checksum, journal_async_commit, noauto_da_alloc, data = ord éred 0 0
/dev/block/platform/msm_sdcc.1/by-name/efs/efs ext4 rw, séclabel, nosuid, nodev, no atime, discard, journal_checksum, journal_async_commit, noauto_da_alloc, errors = panic , data = ordonné 0 0
/dev/block/platform/msm_sdcc.1/by-name/persdata /persdata/absolute ext4 rw, secla bel, nosuid, nodev, relatime, data = order 0 0
/dev/block/platform/msm_sdcc.1/by-name/apnhlos/firmware vfat ro, contexte = u: objec t_r: micrologiciel: s0, relatime, uid = 1000, gid = 1000, fmask = 0337, dmask = 0227, page de codes = cp437, iocharset = iso8859-1, nom abrégé = inférieur, erreurs = remount-ro 0 0
/dev/block/platform/msm_sdcc.1/by-name/mdm/firmware-mdm vfat ro, contexte = u: objec t_r: micrologiciel: s0, relatime, uid = 1000, gid = 1000, fmask = 0337, dmask = 0227, page de codes = cp437, iocharset = iso8859-1, nom abrégé = inférieur, erreurs = remount-ro 0 0
/ data/media/mnt/Shell/sdcardfs émulé rw, nosuid, nodev, relatime, uid = 1023, gid = 1 023 0 0
Lors de l'analyse d'un Galaxy Ace 2.2 dans un éditeur hexadécimal. L'hex semble indiquer le périphérique utilisant FAT16 comme système de fichiers. J'ai trouvé cela inhabituel. Cependant, Fat 16 est compatible avec le noyau Linux.
Similaire à Linux
/démarrage
/système
/récupération
/Les données
/ cache
/ misc