概念简单介绍

fastboot 是一种协议,是一种通过USB连接与bootloader通讯的机制。它被设计的非常容易实现,适用于Linux、Windows或者macOS等多种平台。fastboot是Android系统提供的一种较recovery更底层的通过USB更新文件系统的方式。
Android开发包提供了fastboot.exe工具用于与Android系统通信,主要完成分区镜像烧录、分区擦除、设备重启、获取设备状态信息等操作。当需要通过fastboot协议与Android系统交互时,Android系统需要启动到bootloader模式,此时只有最基础的硬件初始化,包括按键、USB、存储系统、显示等模块,以支持分区镜像的写入和系统启动模式的切换。

Bootloader 是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装载到内存中然后跳转到操作系统所在的空间,启动操作系统运行。可以理解为它是一个独立的程序,如同Application程序一样,虽然Bootloader的体量小,但是“五脏俱全”,启动代码、中断、主程序(Boot_main函数)、操作系统(非必须)都有。

Recovery 本身的本质也是一个简单Linux加一个Google 开发简单图形界面。它跟你在用的内核的 boot.img 分区的格式是完全一样的。他的作用在于当你的产品里的内核有问题时;你可以切换到Recoverty这个小操作系统里用工具重新下载内核。因此如果打比方的话,更像PC机的可引导的U盘修复盘。
recovery过程主要有两个作用:factory reset 和 OTA install。一般Android系统都有两个分区 /boot /recovery。这两个分区都可以引导系统。recovery mode从本质上来看就像是一个袖珍版的Linux。Android的上层结构(虚拟机)可以调用一个特定的类( RecoverySystem ) 来写入命令参数以提供重启之后recovery模式所必需的命令参数。简而言之,recovery模式其实方便了开发者升级系统和擦除相应的分区( /data和/cache )。

fast bios mode有什么用 fast boot有什么用_fast bios mode有什么用

Linux Kernel启动流程

fast bios mode有什么用 fast boot有什么用_启动模式_02


A1:上电后执行BootROM代码,探测启动媒介,查找第一阶段的引导加载程序bootloader;

A2:一旦boot媒介顺序确定,Boot ROM会试着装载bootloader的第一阶段到内部RAM中,一旦bootloader就位,BootROM 代码会跳到并执行bootloader; B1:bootloader第一阶段会检测和设置外部 RAM;

B2:一旦外部RAM可用,系统会准备装载主bootloader,把它放到外部RAM 中;

B3:bootloader第二阶段是运行的第一个重要程序,它包含了设置文件系统,内存,网络支持和其他的代码;

B4:一旦bootloader完成这些特殊任务,开始寻找Linux内核,它会从boot媒介上装载 Linux内核,把它放到 RAM 中,同时它也会在内存中为内核替换一些在内核启动时读取的启动参数;

B5:跳到Linux内核。

fastboot就是在bootloader阶段中运行的。进入fastboot模式一般有两种方式,一种是在关机状态通过按键进入,另外一种是在Android系统启动之后通过adb指令进入到bootloader模式。

通过按键方式进入fastboot模式的过程:bootloader完成硬件初始化之后,启动Linux内核时,启动流程会检测按键,如果检测到对应的按键组合则将启动模式设置为fastboot模式。

Android 启动模式

Android系统相对开源,因此允许用户对手机系统进行一定修改即刷机。因此对应不同的功能以及权限,其一般具备6个不同模式,分别为一般启动模式(normal mode)、安全模式(safe mode)、恢复模式(recovery mode)、引导模式(bootloader mode)、fastboot模式和诊断模式(diagnostic mode)

一般启动模式(normal mode)

这个模式的功能是正常启动手机,开启方法为关机状态下按电源键启动。该模式即俗称的开机,进入正常的系统,即用户正常使用手机的系统。

安全模式(safe mode)

此模式和正常启动一样,但没有登记Google,所以不能访问Market或使用你的Google账号。进入方法一般为按住“menu”键,按电源键启动手机,直至手机启动完成松开“menu”键。该系系统因不同厂家设置而不同,进入方法也有所不同。

恢复模式(recovery mode)

该模式下使用音量键上下进行选择,电源键进行确定,当然现在市面上已经出现触摸版的第三方recovery模式,允许用户使用触屏进行操作。该模式具有相对较高的修改权限,可进行打开命令解释程序(shell),刷新映像文件(flash image),执行备份等。该模式可根据用户的需要进行修改,因此有官方recovery模式以及第三方recovery模式。第三方recovery模式可以识别第三方rom包,因此可以用来刷机。而官方recovery一般不能识别第三方zip文件。进入方式一般为就是音量键上+电源键。

引导模式(bootloader mode)

该模式的功能是从SD卡上安装新的系统映像(DREAIMG.NBH),其中包括刷系统以及recovery,具有很高的修改权限。该模式基本每款手机都拥有,但其命名不一定相同。大多数Android手机解锁或获取root权限都使用模式进行。进入方法一般为音量键下+开机键。

fastboot模式(fastboot mode)

该模式主要是在电脑上使用fastboot命令来刷新映像文件,并可以进行清理数据等一定的操作。进入方法一般为按住音量键下+开机键启动手机,直至屏幕出现FASTBOOT字样后松开返回键。

诊断模式(diagnostic mode)

该模式是为了测试手机各项功能的模式,一般在购买新手机时会使用到该模式以便对手机CPU、传输速率以及屏幕显示效果等进行测试。进入方式因手机厂商设置不同而不同,一般是在拨号界面输入一定的数字符号。