+
80
-

android的recovery,fastboot和bootloader的区别?

android的recovery,fastboot和bootloader的区别?


网友回复

+
0
-

recovery:

recovery是一种可以对安卓机内部的数据或系统进行修改的模式(类似于 windows PE 或 DOS)。在这个模式下我们可以,对已有的系统进行备份或升级,也可以在此恢复出厂设置。俗称“卡刷”,音量加 + 电源键即可启动此模式

进入recovery模式。分析recovery.img镜像文件就会发现,它里面包含了一个kernel以及一个可执行程序recovery,以及一些初始化文件。从某种意义来说,这就是一个小型操作系统,和正常启动进入的系统的kernel是一样的,只是init及之后干的事情不同。

这里的kernel和我们常说的linux内核还是有差异的,linux内核是包括kernel以及调度器内存管理等除显示界面外完整系统。而kernel只是指内核init进程启动前的那一段逻辑。

Recovery恢复时,刷机包通常放在SD卡里,所以这里刷机一般称为卡刷。 fastboot:

fastboot,它是bootloader后期进入的一个特殊阶段。可以通过数据线与电脑连接,然后在电脑上执行一些命令,如刷系统镜像到手机上。

fastboot可以理解为实现了一个简单的通信协议,接收命令并更新镜像文件,其他什么的干不了。

须有一个PC机并且USB线要始终联着。所以这种方式称为线刷。

fastboot需要bootloader的支持,所以不是每家手机都会支持这种模式。

bootloader:

机器首先要启动,CPU 最先执行的一段程序就是 BootLoader,这和电脑上的BIOS是一个玩意儿。

BootLoader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像BIOS那样的固件程序(注,有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的

加载启动任务就完全由BootLoader来完成。比如在一个基于ARM7TDMI core的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。

总结

安卓机首先进入bootloader程序,然后再进入fastboot或recovery模式。

fastboot刷机需要连接电脑,通过电脑与手机通讯完成刷机,也叫线刷。

而recovery模式直接通过手机sd卡查找rom刷机包完成刷机,也叫卡刷。

我知道答案,我要回答