Androidのファイルシステムとは何ですか?
たとえば、/system
と/data
はyaffs2
ですが、/sdcard
はvfatです。これはマウントの出力です:
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
デフォルトでは、 [〜#〜] yaffs [〜#〜] -Yet Another Flash File Systemを使用します。
ここでの回答のほとんどはかなり古いものです。
過去にアンマネージナンドが最も一般的なストレージテクノロジーであったとき、yaffs2は最も一般的なファイルシステムでした。現在、管理されていないnandを使用するデバイスはほとんどなく、まだ使用されているデバイスは徐々にubifsに移行しています。
現在、最も一般的なストレージはemmc(マネージナンド)です。このようなデバイスではext4の方がはるかに人気がありますが、このファイルシステムはf2fs(フラッシュフレンドリーfs)への道を徐々に切り開いています。
編集:f2fsはおそらく、フラッシュデバイス(Androidを含む)の一般的なfsにはなりません。
ヨハンは近いです-それはハードウェアメーカーに依存します。たとえば、Samsung Galaxy S電話はSamsung RFS(独自仕様)を使用します。ただし、Android 2.3のNexus S(Samsung製)はExt4を使用します(おそらくGoogleがNexus Sが現在のGoogle体験電話であるため)。多くのコミュニティ開発者も開始しました)このシフトのためにExt4に移行しています。
使用するハードウェア/プラットフォームに依存します。
AndroidはこのレベルでLinux-kernelを使用するため、Linux-kernelがサポートする任意のファイルシステムを使用できます。
しかし、ほとんどの電話はなんらかのナンドフラッシュを使用しているため、YAFFSを使用していると想定しても安全です。
ただし、一部のベンダーがAndroidネットブック(ハードドライブ付き)を販売したい場合、ext3などを使用できることに注意してください。
ほとんどのデバイスはeMMCを使用しているため、ファイルシステムAndroid useはext4です。ファームウェアを除きます。refer- http://Android-developers.blogspot.com/2010/12/saving-data-safely.html
Galaxy s4のファイルシステムは次のとおりです。
/ systemext4
/ dataext4
/ cacheext4
/ firmwarevfat
/ data/media/mnt/Shell/emulatedsdcardfs
詳細な出力は次のとおりです。
/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 = o rdered 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 ered 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、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
16進エディターでGalaxy Ace 2.2を分析する場合。ヘックスは、ファイルシステムとしてFAT16を使用しているデバイスを指しているようです。これは珍しいと思いました。ただし、Fat 16はLinuxカーネルと互換性があります。
Linuxに類似:
/ブート
/システム
/回復
/データ
/キャッシュ
/ misc