web-dev-qa-db-fra.com

Quel est le système de fichiers d'Android?

Quel est le système de fichiers d'Android?

50
Guimo

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
35

Par défaut, il utilise YAFFS - Yet Another Flash File System.

16
Foole

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)

9
dolbi

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.

7
Brian

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.

4
Johan

É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

3
rupesh jain

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.

2
Michael

Similaire à Linux

/démarrage

/système

/récupération

/Les données

/ cache

/ misc

0
Mario Pierre