一、Google官方标准分区
1. Boot分区
包含Linux内核和一个最小的root文件系统(装载到ramdisk中),用于挂载系统和其他的分区并开始Runtime。正如名字所代表的意思(注:boot的意思是启动),这个分区使Android设备可以启动。如果没有这个分区,Android设备通常无法启动到Android系统。
2. System分区
这个分区几乎包含了除kernel和ramdisk之外的整个android操作系统,包括了用户界面、和所有预装的系统应用程序和库文件(AOSP中可以获取到源代码)。在运行的过程中,这个分区是read-only的。
当然,一些Android设备,也允许在remount的情况下,对system分区进行读写。
擦除这个分区,相当于删除整个安卓系统,会导致不能进入Main System,但不会影响到Recovery。因此,可以通过进入Recovery程序或者bootloader程序中,升级安装一个新ROM。
3. Userdata分区
用户数据区,用户安装的应用程序会把数据保存在这里,包含了用户的数据:联系人、短信、设置、用户安装的程序。
擦除这个分区,本质上等同于手机恢复出厂设置,也就是手机系统第一次启动时的状态,或者是最后一次安装官方或第三方ROM后的状态。在Recovery程序中进行的“data/factory reset”操作就是在擦除这个分区。
正常情况下OTA是不会清除这里的数据的,指定要删除数据的除外。
4. Cache分区
系统缓存区,临时的保存应用数据(要把数据保存在这里,需要特地的app permission),OTA的
升级包也可以保存在这里。OTA升级过程可能会清楚这个分区的数据。一般来讲,Android差分包升级也需
要依赖此分区存放一些中间文件。
5. Recovery分区
包括了一个完整Linux内核和一些特殊的recovery binary,可以读取升级文件用这些文件来更新其他的分区。
6. Misc分区
一个非常小的分区,4MB左右。recovery用这个分区来保存一些关于升级的信息,应对升级过程中
的设备掉电重启的状况,Bootloader启动的时候,会读取这个分区里面的信息,以决定系统是否进
Recovery System或Main System。
二、三方厂商分区
对于第三方Android设备厂商来讲,分区的情况可能稍微不一样。
比如Rockchip平台,还增加了kernel分区、backup分区和user分区。
1. kernel
顾名思义,是存放kernel.img镜像的。在boot分区里面的kernel内核镜像损坏的情况下(比如 flash损坏),bootloader 会尝试加载 kernel分区里面的内核镜像。
2. backup
用于存放整个系统镜像(update.img),可用于恢复设备到出厂ROM。
3. user
用户分区,也就是平时我们所说的内置sdcard。
另外还有外置的sdcard分区,用于存放用户相片、视频、文档、ROM安装包等。