fastboot 命令

1.fastboot概念
fastboot
fastboot是PC与bootloader的USB通信的命令行工具,通过向bootloader传送刷机文件(.img)实现Android系统分区重烧。fastboot需要bootloader支持,且需要使用USB数据线连接,因此常称为线刷模式。

bootloader
bootloader是系统内核运行之前的一小段程序,通过这段程序可以初始化硬件设备、建立内存空间映射图等,将系统硬件环境设置到一个合适的状态,为进行系统内核调试准备好环境。
(在嵌入式系统中,通常没有BOIS那样的固态程序,因此整个系统的加载启动任务就有bootloader来完成,bootloader程序通常安排在嵌入式系统最开始运行的地址处0x0000 0000)

Recovery模式(卡刷):必须拷贝系统ROM

在系统进行定制时,编译系统会编译出一份ZIP的压缩包,里面是一些系统分区镜像,提供给客户进行手动升级、恢复系统。需要提前将压缩包内置SDcard,在Recovery模式进行。进入Recovery方法:将手机完全关机后,按住音量键下(上)+电源键,进入BootLoader界面。用音量加减来控制光标,电源键来进行确认(有的机器只能用音量下键进行选择,上键是确认键)。说明:有的机器可能没有预装Recovery。

Fastboot模式(线刷):通过刷入.img镜像文件,进行分区重烧,无需启动内核

在安卓手机中Fastboot是一种比Recovery更底层的刷机模式。使用USB数据线连接手机的一种刷机模式。这就是所谓的线刷,与Recovery模式相比Fastboot需要掌握一些烧机命令,对于某些系统卡刷来说,线刷更可靠,安全。

2.常用的fastboot命令
进入fastboot
手机进入fastboot模式:adb reboot bootloader (或者手机长按电源键+音量键-)

手机退出fastboot模式:fastboot reboot

手机重新进入fastboot模式:fastboot reboot-bootloader

常用命令
查看:

显示fastboot设备:fastboot devices

获取手机相关信息:fastboot getvar all

                                    fastboot getvar <变量名>  (var是variable的缩写)

查看进入fastboot模式的原因:fastboot oem fbreason

抓last log

fastboot oem lkmsg >lkmsg.txt
fastboot oem lpmsg > lpmsg.bin ---->这个需要再次解析
fastboot oem uefilog uefilog"n".txt

reboot启动相关
fastboot oem poweroff #关机
fastboot reboot #重启手机(退出)
fastboot reboot-bootloader #重启到bootloader模式
fastboot oem rebootRUU #重启到HTC RUU刷机模式

fastboot continue自动重启设备

擦除相关(erase)
fastboot erase system #擦除system分区
fastboot erase boot #擦除boot分区
fastboot erase cache #擦除cache分区
fastboot erase userdata #擦除userdata分区,依次类推,需要擦除哪个分区就填写哪个分区的名字

写入分区
fastboot flash [<.img> ]

例:

fastboot flash system system.img #写入system分区
fastboot flash boot boot.img #写入boot分区
fastboot flash recovery recovery.img #写入recovery分区

(.img 文件都在刷机包的images目录下,去目录下刷)

fastboot flashall #烧写所有分区

fastboot format #格式化

fastboot update #从update.zip文件刷新设备

bootloader锁,上锁相关
上锁:fastboot flashing lock/fastboot oem lock (如果安卓版本5.0一下用oem,否则用flashing)

解锁:fastboot flashing unlock/fastboot oem unlock **************** #解锁,*号为16位解锁密码(小米解锁需要权限,所以需要专门的解锁工具,具体方法见步骤)

显示当前手机bootlaoder状态信息:fastboot oem get-bootinfo

例如:

Bootloader Lock State : LOCKED,表示bootloader仍处于锁定状态。
Bootloader Lock State : UNLOCKED,表示手机已经解锁,可以进行刷机操作

3.相关基础知识
Android系统分区:/boot /system /recovery /data /cache /misc
fastboot 命令_第1张图片

另外还有SD card分区:/sdcard /sd-ext

/boot :Linux嵌入式系统内核,这个分区上有Android的引导启动程序,包括内核和内存操作程序。没有这个分区设备就不能被引导。恢复系统的时候会擦除这个分区,并且必须重新安装引导程序和ROM才能重启系统,由boot.img烧录。包括.bootloader、内核、ramdisk根文件系统。

/system:系统文件、应用,这个分区上是除了内核和内存操作之外的整个操作系统。里面包含了Android用户接口和预先安装的系统应用。擦除了这个分区就会删除掉Andorid系统,所以你需要进入recovery模式或者bootloader模式去安装一个新的ROM。

/recover:系统故障时负责恢复,recovery分区被认为是另一个启动分区,你可以启动设备进入recovery控制台去执行高级的系统恢复和管理操作。

/userdata:用户使用APP产生的缓存数据,这个分区保存着用户数据。通讯录、短信、设置和你安装的apps都在这个分区上。擦除这个分区相当于恢复出厂设置,当你第一次启动设备的时候或者在安装了官方或者客户的ROM之后系统会自动重建这个分区。当你执行恢复出厂设置时,就是在擦除这个分区。

/cache:系统运行时产生的缓存,这个分区是Android系统存储频繁访问的数据和app的地方。擦除这个分区不影响你的个人数据,当你继续使用设备时,被擦除的数据就会自动被创建。

/misc:这个分区包含各种复杂的类似于on/off的系统设置。这些设置可能是USB配置和某些硬件配置信息。这是一个重要的分区,如果该分区损坏或者丢失,设备的功能可能就工作不正常。

/sdcard:这个分区不是内部的存储区,而是SD card。这是你个人存储大文件的地方,存储多媒体文件、文档、ROM文件等等。如果你备份了这个分区上文件,那么擦除这个分区将会很安全。不过请注意一些用户安装的apps会存储数据和设置参数到SD card上,擦除这个分区会掉的这些数据。

/sd-ext:这个分区不是Android设备的标准分区,但是在修改版的自定义ROM的情况下变得很流行。以上就是Android各个分区的功能。当你安装ROM时或者系统询问你要删除某个分区时,你就会准确地知道哪些会丢失哪些不会丢失,因此你就会去备份那些将会丢失文件。

你可能感兴趣的:(Android开发)