Что такое файловая система Android?

Что такое файловая система Android?


person Guimo    schedule 11.03.2010    source источник


Ответы (9)


Это зависит от файловой системы, например /system и /data это yaffs2, а /sdcard это vfat. Это вывод 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

а что касается других поддерживаемых файловых систем, это список

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
person Diego Torres Milano    schedule 12.03.2010

По умолчанию используется YAFFS — еще одна файловая система Flash.

person Foole    schedule 11.03.2010
comment
Хм, есть ли другие файловые системы, которые поддерживает Android? - person Guimo; 11.03.2010
comment
Android 2.3 будет использовать ext4. - person Paul Lammertsma; 07.03.2011
comment
@PaulLammertsma Правда ли, что производители обязаны следовать этому? - person Pacerier; 05.03.2012
comment
@Pacerier Я не знаю политики в отношении того, что производители должны или не должны делать, но быстрая проверка нескольких устройств до и после Gingerbread (adb shell mount) подтверждает, что из Gingerbread файловая система ext4, а Froyo и старше - YAFFS. - person Paul Lammertsma; 05.03.2012
comment
@PaulLammertsma, кстати, вы знаете, как получить имя файловой системы с помощью кода? - person Pacerier; 05.03.2012
comment
@Pacerier Нет, боюсь, что нет. Я бы предложил задать новый вопрос. - person Paul Lammertsma; 06.03.2012

Большинство ответов здесь довольно старые.

В прошлом, когда самой популярной технологией хранения была неуправляемая память nand, самой распространенной файловой системой была yaffs2. В наши дни есть несколько устройств, использующих неуправляемый nand, а те, которые все еще используются, медленно переходят на ubifs.

Сегодня наиболее распространенным хранилищем является emmc (managed nand), для таких устройств гораздо популярнее ext4, но эта файловая система постепенно уступает место f2fs (fs, дружественному к флэш-памяти).

Изменить: f2fs, вероятно, не станет обычной fs для флеш-устройств (включая Android)

person dolbi    schedule 19.03.2014

Йохан близок - зависит от производителя железа. Например, в телефонах Samsung Galaxy S используется Samsung RFS (проприетарная версия). Однако Nexus S (также сделанный Samsung) с Android 2.3 использует Ext4 (предположительно, потому что Google сказал им - Nexus S - это текущий телефон Google). Многие разработчики сообщества также начали переходить на Ext4 из-за этого перехода.

person Brian    schedule 02.03.2011
comment
Ваша ссылка битая, и я не смог найти альтернативу. - person slybloty; 10.03.2013

Зависит от того, какое оборудование/платформу вы используете.

Поскольку Android использует ядро ​​Linux на этом уровне, более или менее возможно использовать любую файловую систему, поддерживаемую ядром Linux.

Но поскольку в большинстве телефонов используется какая-то nand flash, можно с уверенностью предположить, что они используют YAFFS.

Но учтите, что если какой-то поставщик хочет продать нетбук на Android (с жестким диском), он может использовать ext3 или что-то в этом роде.

person Johan    schedule 11.03.2010
comment
не ext3. это не хорошие встроенные устройства - person Droidme; 29.10.2012

поскольку большинство устройств используют eMMC, файловая система, которую использует Android, — ext4, за исключением прошивки. /saving-data-safely.html" rel="nofollow">http://android-developers.blogspot.com/2010/12/saving-data-safely.html

Вот файловая система на galaxy s4:

  • /система ext4

  • /данные ext4

  • /кэш ext4

  • /прошивка vfat

  • /data/media /mnt/shell/emulated sdcardfs

Подробный вывод выглядит следующим образом:

/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime, data=ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,no dev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 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=ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 rw,seclabel,nosuid,nodev,no atime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,errors=panic ,data=ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/persdata /persdata/absolute ext4 rw,secla bel,nosuid,nodev,relatime,data=ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/apnhlos/firmware vfat ro,context=u:objec t_r:firmware:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227, codepage=cp437, iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0

/dev/block/platform/msm_sdcc.1/by-name/mdm/firmware-mdm vfat ro,context=u:objec t_r:firmware:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask= 0227, кодовая страница = cp437, iocharset = iso8859-1, короткое имя = ниже, ошибки = remount-ro 0 0

/data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1 023 0 0

person rupesh jain    schedule 08.09.2014
comment
У меня только что была повреждена файловая система как в кеше, так и в системном разделе. Мне просто переформатировать их в f2f? - person Elysium; 12.01.2016

При анализе Galaxy Ace 2.2 в шестнадцатеричном редакторе. Шестнадцатеричный код указывает на устройство, использующее FAT16 в качестве файловой системы. Я подумал, что это необычно. Однако Fat 16 совместим с ядром Linux.

person Michael    schedule 09.11.2012

Похоже на Linux:

  • /ботинок

  • /система

  • /восстановление

  • /данные

  • /кэш

  • /разное

person Mario Pierre    schedule 07.07.2018

Android поддерживает все файловые системы, поддерживаемые ядром Linux, за исключением нескольких портированных, таких как NTFS.

Например, SD-карта отформатирована как ext3.

person Peter vdL    schedule 11.03.2010
comment
Нет, на SD-карте используется файловая система на основе жира, иначе она не будет монтироваться Windows. Большинство SD-карт отформатированы как FAT32, хотя вы можете наткнуться на маленькие SD-карты (‹1 ГБ), которые можно использовать с FAT16. - person Robert; 26.02.2011
comment
Вы правы, Роберт, извините за глупость. - person Peter vdL; 27.02.2011