当前位置:网站首页>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文件:系统属性的定义文件。
边栏推荐
- [Code Hoof Set Novice Village 600 Questions] Leading to the combination of formulas and programs
- 有一说一,外包公司到底值不值得去?
- NVIDIA已经开始测试AD106和AD107 GPU核心的显卡产品
- rj45 to the connector Gigabit (Fast Ethernet interface definition)
- 【核心概念】图像分类和目标检测中的正负样本划分以及架构理解
- 【愚公系列】2022年07月 Go教学课程 025-递归函数
- Transfer Learning - Domain Adaptation
- How to change npm to Taobao mirror [easy to understand]
- pytorch lstm时间序列预测问题踩坑「建议收藏」
- Redis综述篇:与面试官彻夜长谈Redis缓存、持久化、淘汰机制、哨兵、集群底层原理!...
猜你喜欢

PCB叠层设计

idea中搜索具体的字符内容的快捷方式
![[NLP] What is the memory of the model!](/img/d8/a367c26b51d9dbaf53bf4fe2a13917.png)
[NLP] What is the memory of the model!

Three. Introduction to js

The principle of ReentrantLock (to be continued)

Efficient Concurrency: A Detailed Explanation of Synchornized's Lock Optimization

【公开课预告】:超分辨率技术在视频画质增强领域的研究与应用

Teach you how to deploy Nestjs projects

架构实战营模块八作业

ECCV 2022 Huake & ETH propose OSFormer, the first one-stage Transformer framework for camouflaging instance segmentation!The code is open source!...
随机推荐
linux查看redis版本命令(linux查看mysql版本号)
【愚公系列】2022年07月 Go教学课程 025-递归函数
【公开课预告】:超分辨率技术在视频画质增强领域的研究与应用
请问我的这段sql中sql语法哪里出了错
【AcWing】The 62nd Weekly Match 【2022.07.30】
leetcode 665. Non-decreasing Array 非递减数列(中等)
Teach you how to deploy Nestjs projects
Made with Flutter and Firebase!counter application
In Golang go-redis cluster mode, new connections are constantly created, and the problem of decreased efficiency is solved
BM3 将链表中的节点每k个一组翻转
Istio introduction
嵌入式开发没有激情了,正常吗?
性能优化:记一次树的搜索接口优化思路
One thing to say, is outsourcing company worth it?
How to get useragent
rj45对接头千兆(百兆以太网接口定义)
Qualcomm cDSP simple programming example (to query Qualcomm cDSP usage, signature), RK3588 npu usage query
How to change npm to Taobao mirror [easy to understand]
ThreadLocal
BM5 merge k sorted linked lists