ระบบไฟล์ของ Android คืออะไร? [ปิด]

ระบบไฟล์ของ Android คืออะไร?


person Guimo    schedule 11.03.2010    source แหล่งที่มา


คำตอบ (9)


ขึ้นอยู่กับระบบไฟล์ใด เช่น /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
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 ที่ไม่มีการจัดการ และอุปกรณ์ที่ยังใช้งานอยู่ก็ค่อยๆ ย้ายไปยัง ubif

ปัจจุบันที่เก็บข้อมูลที่พบบ่อยที่สุดคือ emmc (nand ที่มีการจัดการ) สำหรับอุปกรณ์ดังกล่าว ext4 นั้นได้รับความนิยมมากกว่ามาก แต่ระบบไฟล์นี้จะค่อยๆ เคลียร์ทางสำหรับ f2fs (fs ที่เป็นมิตรกับแฟลช)

แก้ไข: f2fs อาจจะไม่ทำให้เป็น fs ทั่วไปสำหรับอุปกรณ์แฟลช (รวมถึง Android)

person dolbi    schedule 19.03.2014

Johan ใกล้แล้ว - ขึ้นอยู่กับผู้ผลิตฮาร์ดแวร์ ตัวอย่างเช่น โทรศัพท์ 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-kernel ในระดับนี้ จึงมีความเป็นไปได้ที่จะใช้ระบบไฟล์ใดก็ตามที่ Linux-kernel รองรับไม่มากก็น้อย

แต่เนื่องจากโทรศัพท์ส่วนใหญ่ใช้ nand flash บางประเภท จึงปลอดภัยที่จะถือว่าอุปกรณ์เหล่านั้นใช้ YAFFS

แต่โปรดทราบว่าหากผู้ขายบางรายต้องการขายเน็ตบุ๊ก Android (พร้อมฮาร์ดไดรฟ์) พวกเขาอาจใช้ ext3 หรืออะไรทำนองนั้น

person Johan    schedule 11.03.2010
comment
ไม่ใช่ ex3 ไม่ใช่อุปกรณ์ฝังตัวที่ดี - person Droidme; 29.10.2012

เนื่องจากอุปกรณ์ส่วนใหญ่ใช้ eMMCระบบไฟล์ที่ Android ใช้เป็น ext4 ยกเว้น Firmware.refer-http://android-developers.blogspot.com/2010/12/saving-data-safely.html

นี่คือระบบไฟล์บน galaxy s4:

  • /ระบบ ext4

  • /ข้อมูล ext4

  • /แคช ext4

  • /เฟิร์มแวร์ vfat

  • /data/media /mnt/shell/จำลอง 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=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=สั่ง 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

person rupesh jain    schedule 08.09.2014
comment
ฉันเพิ่งมีระบบไฟล์เสียหายทั้งแคชและพาร์ติชันระบบ ฉันจะฟอร์แมตพวกมันใหม่เป็น f2f เลยดีไหม? - person Elysium; 12.01.2016

เมื่อวิเคราะห์ Galaxy Ace 2.2 ในโปรแกรมแก้ไข hex เลขฐานสิบหกดูเหมือนจะชี้ไปที่อุปกรณ์ที่ใช้ FAT16 เป็นระบบไฟล์ ฉันคิดว่าสิ่งนี้ผิดปกติ อย่างไรก็ตาม Fat 16 เข้ากันได้กับเคอร์เนล Linux

person Michael    schedule 09.11.2012

คล้ายกับลินุกซ์:

  • /บูต

  • /ระบบ

  • /การกู้คืน

  • /ข้อมูล

  • /แคช

  • /อื่น ๆ

person Mario Pierre    schedule 07.07.2018

Android รองรับระบบไฟล์ทั้งหมดที่รองรับโดยเคอร์เนล Linux ยกเว้นระบบไฟล์บางระบบเช่น NTFS

ตัวอย่างเช่น การ์ด SD ได้รับการฟอร์แมตเป็น ext3

person Peter vdL    schedule 11.03.2010
comment
ไม่ การ์ด SD ใช้ระบบไฟล์แบบ Fat ไม่เช่นนั้น Windows จะไม่สามารถติดตั้งได้ การ์ด SD ส่วนใหญ่อยู่ในรูปแบบ fat32 แม้ว่าคุณอาจสะดุดกับการ์ด SD ขนาดเล็ก (‹1GB) ที่สามารถหลีกเลี่ยงการใช้ fat16 ได้ - person Robert; 26.02.2011
comment
คุณพูดถูก โรเบิร์ต - ขอโทษที่ทำผิด - person Peter vdL; 27.02.2011