hboot
HBOOT的作用
手机是由hboot来负责引导启动的,这里简单讲一下流程,hboot启动后,会检查安全锁的状态:
如果检查后发现是S-ON,说明安全锁是打开的,那么hboot在完成引导启动的同时,会将system和recovery分区做写保护。
如果检查后发现是S-OFF,说明安全锁是关闭的,那么hboot在完成引导启动的同时,会将system和recovery分区的写保护打开。
那这个经过修改后的hboot在这里起到什么作用呢?
当手机通过hboot启动,hboot在检查安全锁是什么状态的时候,无论检查结果是什么,这个修改过的hboot都会认为安全锁是关闭的,即让hboot自己欺骗自己,认为安全锁处于S-OFF状态。实际上此时的安全锁还是S-ON,只不过显示出来是S-OFF罢了。
这也就为下面这种情况找到了合理的解释:
机器状态为ENG S-OFF的朋友刷了官方包,然后ENG变回SHIP,S-OFF变回S-ON。但机器状态为SHIP S-OFF的朋友进行同样的操作,却不会失去S-OFF。
因为官方包是一个完整的刷机包,在更新过程中,会把hboot覆盖掉,那么,当这个被修改的hboot被替换成官方原版的hboot后,我们的机器也就回复到了原始的SHIP状态。此时,因为ENG S-OFF是一种假象,所以,S-OFF就变回了S-ON,但是因为SHIP S-OFF是真的把安全锁关了,所以,S-OFF还是保持不变。
hboot相当于电脑的bios
recovery
Recovery是Android手机备份功能,指的是一种可以对安卓手机内部的数据或系统进行修改的模式(类似于windows PE或DOS)。在这个模式下可以,对已有的系统进行备份或升级,也可以在此恢复出厂设置。
刷入第三方的Recovery,将获得更多的功能,并且可以刷入第三方rom,官方自带则不行。
boot.img
boot.img和system.img是刷机时经常用到的分区镜像文件
boot.img是Android系统启动所必须加载的文件。简单的说,boot.img包含两部分,分别为kernel 和ramdisk。
Kernel 操作系统内核操作系统内核是指大多数Linux操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。
虚拟内存盘是通过软件将一部分内存(RAM)模拟为硬盘来使用的一种技术。相对于直接的硬盘文件访问来说,这种技术可以极大的提高在其上进行的文件访问的速度。但是RAM的易失性也意味着当关闭电源后这部分数据将会丢失。但是在一般情况下,传递到RAM盘上的数据都是在硬盘或别处永久贮存的文件的一个拷贝。经由适当的配置,可以实现当系统重启后重新建立虚拟盘。
boot.img会引导系统启动,如果在刷机过程中刷入了错误的boot.img,会导致系统无法正常启动
system.img
system.img 是安卓 (Android) 系统中存放系统文件的映像 (image) 文件,文件格式为 yaff2或者emmc,在刷机时将其展开,并刷入到手机的system分区中,system.img的目录结构:
app目录:存放一般的apk文件。
bin目录:存放一些Linux的工具,但是大部分都是toolbox的链接.
etc目录:存放系统的配置文件。
fonts目录:存放系统的字体文件。
framework目录:存放系统平台所有jar包和资源文件包。
lib目录:存放系统的共享库。
media目录:存放系统的多媒体资源,主要是铃声。
priv-app目录:android4.4开始新增加的目录,存放系统核心的apk文件。
tts目录:存放系统的语言合成文件。
usr目录:存放各种键盘布局,时间区域文件。
vendor目录:存放一些第三方厂商的配置文件、firmware以及动态库。
xbin目录:存放系统管理工具,这个文件夹的作用相当于标准Linux文件系统中的sbin.
build.prop文件:系统属性的定义文件。