当前位置:网站首页>hboot与recovery、boot.img、system.img
hboot与recovery、boot.img、system.img
2022-07-31 21:33:00 【百口可乐__】
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文件:系统属性的定义文件。
边栏推荐
- Flex layout in detail
- Socket Review and I/0 Model
- MATLAB program design and application 2.4 Common internal functions of MATLAB
- IDA PRO中汇编结构体识别
- sqlite3简单操作
- 【核心概念】图像分类和目标检测中的正负样本划分以及架构理解
- Golang must know the Go Mod command
- Commonly used security penetration testing tools (penetration testing tools)
- Basic Grammar Introduction of Carbon Tutorial (Tutorial)
- [Open class preview]: Research and application of super-resolution technology in the field of video image quality enhancement
猜你喜欢
Golang - from entry to abandonment
Getting Started with Tkinter
架构实战营模块八作业
The whole network is on the verge of triggering, and the all-round assistant for content distribution from media people - Rongmeibao
Implementing a Simple Framework for Managing Object Information Using Reflection
[Code Hoof Set Novice Village 600 Questions] Leading to the combination of formulas and programs
Apache EventMesh distributed event-driven multi-runtime
Shell 脚本 快速入门到实战 -02
Shell script quick start to actual combat -02
Recognize anomalies (you will understand after reading this)
随机推荐
Go mode tidy reports an error go warning “all” matched no packages
rj45 to the connector Gigabit (Fast Ethernet interface definition)
Implementing a Simple Framework for Managing Object Information Using Reflection
PCB stackup design
grep命令 笔试题
[NLP] What is the memory of the model!
A shortcut to search for specific character content in idea
grep command written test questions
Federated Learning: Multi-source Knowledge Graph Embedding in Federated Scenarios
Thymeleaf是什么?该如何使用。
统计UTF-8字符串中的字符函数
linux view redis version command (linux view mysql version number)
Flink_CDC construction and simple use
顺序表的实现
Implementation of a sequence table
Daily practice——Randomly generate an integer between 1-100 and see how many times you can guess.Requirements: The number of guesses cannot exceed 7 times, and after each guess, it will prompt "bigger"
高效并发:Synchornized的锁优化详解
BM5 合并k个已排序的链表
Short-circuit characteristics and protection of SiC MOSFETs
Thymeleaf是什么?该如何使用。