前提:
使用fastboot命令,必须让手机先进入fastboot模式下,然后连接好电脑,装好驱动。fastboot进入方法可以参考这里:http://bbs.ixmoe.com/thread-86-1-1.html
本教程适用机型:
- MotoX 2代
- MotoG 2代
- MotoG LTE 2代
简介:
Moto以及nexus机型,都有一个用于刷官方固件的模式,这个模式我们叫做AP Fastboot模式。而官方固件,也就是线刷包,通常都是由fastboot可以识别的镜像包组成。每个分区都可以对应一个镜像,用于完成对系统的完整升级。
那么什么是镜像呢。镜像就像一面镜子。而镜像里边的内容正好是一个分区,就像是把整个分区照出来的,包含分区的完整内容,分区什么结构,镜像也是什么结构。镜像一般以.img、.bin、.mbn结尾。
官方固件包为了传播和使用方便,一般是由zip或者tar.gz压缩的,使用官方固件,必须先解压,然后才能找到里边的镜像。
通过刷入官方固件的优点:
1,刷写、升级速度快;
2,升级稳定;
3,升级具有灵活可控性;
4,官方固件是救砖的唯一途径;
由于官方固件均由镜像包组成,刷写分区是完整的覆盖之前分区的所有内容。这是OTA在线升级方式所完全不可比拟的,在线升级一般为打补丁方式,升级不稳定,容易失败并造成软砖,打补丁效率低。官方固件线刷包均是稳定正式版,所以通过fastboot刷入官方固件线刷包的方式进行升级再好不过了。
刷入工具:
刷写官方固件,还需要Fastboot组件包,建议使用这里的:https://bbs.ixmoe.com/t/motorola-adb-fastboot-2017-9-01/17257/1
Fastboot命令解析:
使用fastboot命令,通常分为刷写、清空两个部分,也包含厂商预置的一些特殊命令,我在这里为大家简要介绍一下。
一、使用Fastboot命令刷写系统镜像部分:
<1>使用格式:
fastboot flash <要刷写的对应分区> <镜像的路径名+文件名>
例如我要刷system分区。我首先需要在命令提示符,也就是CMD中,输入fastboot flash这个命令,然后写上分区名,也就是system,然后输入官方固件线刷包中的system镜像所在目录。每个命令之间,都要有空格,空格输多少个都无所谓,但必须把它们分隔开,否则不会被fastboot识别,导致报错。
由于手动输入分区镜像所在目录比较麻烦,在这里介绍一下简单的方法:
方法一:
举例如下:(例如要刷底包中的system.img,其他分区灵活参考)
1,如图所示,首先在命令提示符中输入 :
fastboot flash system
一定要注意是fastboot空格flash空格system空格,别弄错了,空格一定要输入的,不输入空格必会报错!
2,然后按图所示,将所要刷的任意镜像名称,按住不放,将其拖进CMD窗口。因为CMD(命令提示符)窗口有自动定位文件所在目录的功能,所以CMD窗口会自动获取到要刷的镜像所在的目录。
3,然后点一下命令提示符窗口,然后按回车键就可以刷入了。(假如不点命令提示符,默认是打开镜像,等同于鼠标双击这个镜像,而电脑上无法识别android的这种镜像格式,会提示你这个:
————————————————————————————————————————————————————————————
方法二:
直接将要刷写的镜像放进和fastboot.exe相同的目录内,这样直接输入镜像文件名就可以了。
<2>刷写常见分区:
1,刷写system分区(这个就是Android系统):
刷写分段式system镜像的方法:
由于Moto为解决分区过大刷机容易导致出错,所以采用了分段式的方法。刷机时,方法还是一致的,只不过要从分段0开始,按次序刷到分段N。
fastboot flash system system.img_sparsechunk.0
fastboot flash system system.img_sparsechunk.1
fastboot flash system system.img_sparsechunk.2
fastboot flash system system.img_sparsechunk.3
fastboot flash system system.img_sparsechunk.4
fastboot flash system system.img_sparsechunk.5
fastboot flash system system.img_sparsechunk.6
。。。。。。。。
fastboot flash system system.img_sparsechunk.N
刷写完整system镜像的方法:
有时候工程师懒,没有采用分段,直接是一个大大的system镜像,刷机方式就简单些了:(这个就是体现到MotoX2专用adb及fastboot组件价值的时候了,这个fastboot工具有自动分段刷入功能,无需手动分段,直接输入命令开刷。)
fastboot flash system system.img
2,刷写recovery分区(大家常用的卡刷模式所在分区):
fastboot flash recovery recovery.img
3,刷写boot分区(内核):
fastboot flash boot boot.img
4,刷写modem分区(基带):
fastboot flash modem NON-HLOS.bin
5,刷写fsg分区(射频表):
fastboot flash fsg fsg.mbn
注意,刷写基带的同时,也要刷上射频表以对应起来。
6,刷写customize分区(一些自定义的东西):
fastboot flash customize customize.img
7,刷写bootloader镜像包:(这个是bootloader的组合镜像包,包含底层引导分区镜像,简称BL,最好不要乱刷!这个只能升级不能降级,必须和分区表对应,并且这个刷错版本容易变砖!)
fastboot flash motoboot motoboot.img
8,刷写logo分区:(开机第一屏):
fastboot flash logo logo.bin
注:解锁后才能识别出自定义开机第一屏。
9,刷写data分区:(用于清空data分区等)
fastboot flash userdata userdata.img
10,刷写cache分区:(用于清空cache分区等)
fastboot flash cache cache.img
二、使用Fastboot命令清空分区命令:
<1>使用格式:
fastboot erase <要清空的分区名>
下面介绍清空各分区的方法,和刷写对应分区差不多,只介绍部分经常用到的。
1,清空data分区:(此命令会清除data、sdcard两个分区,如果内置存储有重要的东西,不要用此命令,请在第三方recovery中进行WIPE操作)
fastboot erase userdata
2,清空cache分区:
fastboot erase cache
3,清空modemst分区:
fastboot erase modemst1
fastboot erase modemst2
4,清空data、cache两个分区(包含内置存储),这个命令比较简单方便。
fastboot -w
5,清空customize分区(moto maker定制壁纸):
fastboot erase customize
6,清空clogo分区(moto maker定制开机第一屏):
fastboot erase clogo
三、其他厂商预置命令:
1,解锁bootloader:
fastboot oem unlock XXXXXXXXXXXXXXXXXX
motox/g解锁,是需要解锁码的,这个需要到官方网址上申请。
2,上锁bootloader:(必须谨慎,可能会导致变砖,一般没必要重新上锁。解锁不影响系统的稳定性)
fastboot oem lock
3,获取手机的全部信息:
fastboot getvar all
4,启动外部内核镜像:
fastboot boot xxxx.img
xxx.img为外部镜像的文件名。当输入完毕后,系统会直接启动这个镜像,保存在RAM里,并不会刷入任何分区。解锁BL后才可以使用。通常用于一次性使用第三方recovery,Root等。
四、必须的命令:
刷底包一般常用的几个命令(刷完就能开机,不考虑其他问题):
第一步:刷system分区。
第二步:刷boot分区。
第三步:刷入modem基带和fsg射频表。
第四步:恢复出厂命令(fastboot -w)。
五、报错分析篇:
有可能大家在使用过程中会遇到一些fastboot报错问题,可以参考此篇文章来辅助判断问题原因并解决问题:https://bbs.ixmoe.com/t/fastboot/17256/1
如未注明,均为原创。转载必须注明本文链接及作者。