[Andriod] fastboot 和 recovery 模式的区别

Android设备有3个重要分区: 启动加载程序(Boot loader)、恢复(Recovery)和 Android ROM。 Boot loader最先加载并决定要加载的下一个分区,此分区通常是Android ROM。 Recovery模式是设备用于安装Android ROM分区更新的模式, 在对手机恢复出厂设置时也会使用Recovery模式。 默认情况下进行的recovery通常具有较少的选项,这就是自定义恢复模块可用的原因。

另一方面,Fastboot是一种协议,可用于通过USB从计算机连接到设备,并向设备的分区发出更新。 例如,当我在fastboot中时,我可以通过recovery分区进行更新。

recovery 模式:

恢复模式是一个小型Linux操作系统,可以用来对手机恢复出厂设置,或者使用供应商image对设备进行更新。

所有的设备都存在Recovery, 但并非所有设备都提供Fastboot。

fastboot 模式:

一旦手机进入fastboot 模式,就可以安装recovery image。

Fastboot现在是android sdk附带的工具,你可以用它来 re-flash 设备的分区。 因为fastboot在android之前启动,即使没有安装android,你也可以在 recovery 模式分区被破坏的情况下将它用作 recovery 模式的替代方案。 每部手机通常都有fastboot,但有些厂商选择用他们的工具替代fastboot, 比如三星就用odin替换了fastboot。

现在,fastboot更有用,因为当没有其他recovery方法时,可以将它用作recovery方法

什么是fastboot?在Android中,fastboot是一种特殊的诊断和工程协议,可以用于启动Android设备。在fastboot模式下,您可以通过USB连接从计算机修改文件系统映像。这是一个强大的工具,应该被分解成我们都能理解的术语 - 让我们试着这样做。
Fastboot是具有相同名称的三种不同的东西:用于手机硬件和计算机之间通信的协议;或者是手机处于fastboot模式时运行在手机上的软件; 或者是手机和计算机进行通信时,运行于计算机之上的可执行文件。
并非所有手机都具有用户可以访问的 fastboot 模式。Nexus设备(以及其他一些手机和平板电脑)默认打开fastboot模式,其他手机的独立Android开发人员和发烧友也会启用这种模式。为支持fastboot,还需要Android SDK中的软件以及Windows计算机的不同USB驱动程序。
Fastboot可在Windows,Mac和Linux上运行,如果你有兴趣,可以在论坛中找到相关设置的所有信息。设置完成后,可以将手机启动到fastboot,然后将image文件下载(flash) 到手机的内存中。下载(Flashing) 自定义的Recovery(在解锁bootloader之后)是一种流行的用例,就像系统破坏后通过flashing工厂映像将其全部重置。使用解锁的bootloader,需要flash的image不需要使用特定的密钥进行签名,因此几乎任何东西都能够flash - 即使不应该flash的image也可以,所以应该小心使用。还有一些可以和fastboot一起使用的更为高级的命令, 可以完成诸如擦除分区或者覆盖内核命令行选项,这使得fastboot对于开发可能需要定制引导过程的硬件和软件解决方案非常有用。凭借一点点知识和正确的Android硬件,fastboot 就能成为一个了不起的工具。


[1] https://stackoverflow.com/questions/31158021/difference-between-fastboot-and-recoverymode-in-android

你可能感兴趣的:(Other)