什么是Android的文件系统?
答案 0 :(得分:36)
取决于哪些文件系统,例如/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
答案 1 :(得分:16)
默认情况下,它使用YAFFS - 另一个Flash文件系统。
答案 2 :(得分:9)
这里的大多数答案都很老了。
过去当un un managed是最受欢迎的存储技术时,yaffs2是最常用的文件系统。目前很少有设备使用未管理的nand,而那些仍在使用的设备正在慢慢迁移到ubifs。
今天最常见的存储是emmc(托管nand),对于这样的设备,ext4更受欢迎,但是,这个文件系统正慢慢地为f2fs(flash flash fs)清除它。
编辑:f2fs可能不会让它成为flash设备的常见fs(包括android)
答案 3 :(得分:7)
Johan很接近 - 这取决于硬件制造商。例如,三星Galaxy S手机使用三星RFS(专有)。然而,使用Android 2.3的Nexus S(也由三星制造)使用Ext4(可能是因为谷歌告诉他们 - Nexus S是目前的谷歌体验手机)。由于这种转变,许多社区开发人员也开始转向Ext4。
答案 4 :(得分:4)
取决于您使用的硬件/平台。
由于Android在此级别使用Linux内核,因此或多或少可以使用Linux内核支持的任何文件系统。
但是由于大多数手机使用某种nand flash,因此可以安全地假设他们使用YAFFS。
但请注意,如果某个供应商想要销售Android上网本(带有硬盘),他们可以使用ext3或类似的东西。
答案 5 :(得分:3)
由于大多数设备都使用eMMC,因此除了firmware.refer - http://android-developers.blogspot.com/2010/12/saving-data-safely.html
之外, android使用的文件系统是ext4 。这是galaxy s4上的文件系统:
/ system ext4
/ data ext4
/ cache ext4
/ firmware vfat </ strong>
/ data / media / mnt / shell / emulated sdcardfs
详细输出如下:
/dev/block/platform/msm_sdcc.1/by-name/system / system \ text4 ro,seclabel,relatime,data = ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata / data \ text4 RW,SECLABEL,为nosuid,无 dev的,noatime的,丢弃,journal_checksum,journal_async_commit,noauto_da_alloc,数据= O 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache / cache ext4 RW,SECLABEL,为nosuid,节点 V,noatime的,丢弃,journal_checksum,journal_async_commit,noauto_da_alloc,数据= ORD ered 0 0
/dev/block/platform/msm_sdcc.1/by-name/efs / efs \ text4 RW,SECLABEL,为nosuid,nodev,无 atime的,丢弃,journal_checksum,journal_async_commit,noauto_da_alloc,错误=恐慌 ,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,上下文= U:objec T_R:固件: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,上下文= U:objec T_R:固件:S0,relatime,UID = 1000,GID = 1000,fmask = 0337,DMASK = 0227,CODEPAGE = CP437, iocharset = iso8859-1,shortname = lower,errors = remount-ro 0 0
/ data / media / mnt / shell / emulated sdcardfs rw,nosuid,nodev,relatime,uid = 1023,gid = 1 023 0 0
答案 6 :(得分:2)
在十六进制编辑器中分析Galaxy Ace 2.2时。 hex似乎指向使用FAT16作为其文件系统的设备。我觉得这很不寻常。但是,Fat 16与Linux内核兼容。
答案 7 :(得分:0)
类似于Linux
/启动
/系统
/恢复
/数据
/缓存
/ misc
答案 8 :(得分:-1)
Android支持Linux内核支持的所有文件系统。
例如,SD卡的格式为ext3。