目录
- 1. 什么是手机上的FASTBOOT模式?
- 2. 如何进入与退出FASTBOOT模式?
- 2.1 进入方式
- 2.2 退出方式
- 3. 如何在PC端安装FASTBOOT驱动?
- 4. 怎么开启FASTBOOT命令提示符?
- 5. 目前FASTBOOT命令有哪些类型?
- 6. 常用的FASTBOOT命令都有哪些?
- 6.1 fastboot devices 查看已连接设备
- 6.2 fastboot getvar product 查看设备内部代号
- 6.3 fastboot getvar anti 查看防回滚机制版本号
- 6.4 fastboot getvar all 查看所有设备信息
- 6.5 fastboot -w 清空所有数据
- 6.6 fastboot flash <分区名> <镜像文件名或路径> 烧录镜像到分区
- 6.7 fastboot erase <分区名> 擦除分区内数据
- 6.8 fastboot boot <内核镜像文件名或路径> 临时启动
- 6.9 fastboot oem device-info 查看当前BL锁状态(非MTK)
- 6.10 fastboot oem lks 查看当前BL锁状态(MTK)
- 6.11 fastboot oem lock 开启BL锁保护
- 6.12 fastboot oem edl 进入高通008救援模式
- 6.13 fastboot reboot 重启进入系统
- 6.14 fastboot oem poweroff 拔掉数据线后关机
- 6.15 fastboot oem reboot-recovery 重启进入Recovery模式
- 7. 执行FASTBOOT命令要注意什么?
- 8. FASTBOOT命令返回值有何含义?
1. 什么是手机上的FASTBOOT模式?
顾名思义,FASTBOOT这个名词可以理解为“快速启动”的中文意思。但在安卓手机中,则代指一种比Recovery更底层的刷机救援模式,亦被称作“引导模式”、“线刷模式”或“Bootloader模式”。与主要采用手机屏幕及实体按键交互的Recovery模式不同,在FASTBOOT模式下,需要将设备通过数据线连接至PC端,并通过CUI命令行或GUI图形界面的方式,向设备传输各种指令来实现操作(本质上还是CUI交互)。
配合各种不同的指令,FASTBOOT模式具有强大而丰富的功能特性,刷机和解锁也只是其中最常用到的操作而已。
2. 如何进入与退出FASTBOOT模式?
目前所有的小米手机都可以通过如下方式进入和退出FASTBOOT模式:
2.1 进入方式
- 同时长按电源键+音量下键进入(实测在电源键坏了的情况下,长按音量下键也可以)
- 关机及关机充电状态下:按上述组合键约3-6秒后进入。
- 重启状态下:一点重启就按上述组合键约10-15秒
当在手机屏幕看到如下图所示的“米兔修机器人”画面时,则说明已经成功进入FASTBOOT模式。
2.2 退出方式
- 在FASTBOOT模式下长按电源键约7-15秒重启进入系统。
- 通过“fastboot reboot”及“fastboot oem poweroff”命令重启进入系统或拔线关机(下文有详细说明)。
- 部分机型在FASTBOOT模式下不插入数据线,5分钟到半小时内会自动重启或关机(不推荐,可能会很费电)。
3. 如何在PC端安装FASTBOOT驱动?
与其他多数外设硬件一样,必须通过对应的驱动程序,才能在手机与PC端建立有线通信。所以在插入手机之前,需要先在PC上妥善安装FASTBOOT模式的相关驱动。
在PC端(Windows XP及更高版本)下载MiFlash刷机工具并解压,然后运行其中的XiaoMiFlash.exe
并点击窗口顶部的Driver
,接着在弹出的窗口中点击安装
按钮,安装FASTBOOT相关驱动程序。
4. 怎么开启FASTBOOT命令提示符?
所谓FASTBOOT模式的本质。其实就是通过向设备发送对应的命令,并实现相应的操作和功能。而MiFlash(线刷工具)、解锁工具、小米助手,以及各种第三方刷机工具等基于GUI图形化界面的程序,也是将各种命令配合条件判断语句等组成脚本,来实现“一键傻瓜式解锁刷机”的功能。
其实我们也可以使用CUI命令行的方式,直接向手机端发送对应的命令,并获取想要的信息或完成各种操作。虽然没有软件界面的便捷美观,但可实现的功能却远比图形化工具更加强大,且整个执行过程都非常直观透明,即使失败也能获取到最为完整的报错信息。
将手机进入FASTBOOT模式,并通过数据线连接至PC,进入MiFlash刷机工具
文件夹下的\Source\ThirdParty\Google\Android
”目录下,然后在地址栏中输入“cmd”并按键盘上的回车(Enter)键,打开命令提示符窗口。此时可以输入“fastboot --version
”命令后回车,并查看当前FASTBOOT软件的版本号。而在下文中所列出的相关命令,也需要在该窗口中输入并执行。
5. 目前FASTBOOT命令有哪些类型?
可以通过在FASTBOOT命令提示符窗口中执行“fastboot -h”
命令,来获取可能用到的命令参考及语法格式帮助,英文不好的同学也可以借助翻译软件阅读。但由于不同机型和处理器的差异,本帮助文档并未涵盖所有可以用到的命令,具体情况还取决于插入的设备本身。
目前几乎所有的FASTBOOT命令,都可以大致分为以下几类:
-
输出信息类:仅向PC端输出该设备的对应信息,例如当前机型内部代号、BL锁开启状态、防回滚机制状态等,通常不会改写手机中的数据。
-
执行动作类:仅执行对应的常规动作,例如重启进入系统、Recovery或高通9008救援模式、拔掉数据线后关机等,通常不会改写手机中的数据。
-
擦写数据类:会擦写手机中的数据或修改相关设置,且大多需要解锁Bootloader后才能被成功执行。例如擦除分区、焼写镜像、开启及关闭BL锁等,在执行此类命令前请务必谨慎,并尽量对重要数据进行妥善备份。不当的操作可能会造成设备无法开机,甚至不可逆的严重损坏。
6. 常用的FASTBOOT命令都有哪些?
6.1 fastboot devices 查看已连接设备
- 命令类型:输出信息类
- 命令作用:列出当前已进入FASTBOOT模式,且与PC连接正常的所有设备。
- 支持机型:所有机型
- 适用场景:将设备连接PC后,可先通过该命令检测连接状态,在执行后续的操作。
- 使用方法:直接输入并回车执行,会列出当前所有已连接设备及对应序列号。如果输出结果为空,说明未插入设备,设备未进入FASTBOOT状态,或驱动程序未就绪。
- 解除BL锁:不需要
- 注意事项:如果使用CUI命令交互,建议只连接一台设备。如果同时连入多个设备,通常仅对该列表中排在首位的设备有效。
6.2 fastboot getvar product 查看设备内部代号
- 命令类型:输出信息类
- 命令作用:输出该机型内部代号名称(线刷包文件名前缀)
- 支持机型:所有机型
- 适用场景:当不知道具体机型,且该设备又无法开机和查看串号时,可以通过查询内部英文代号来确定。通常该机型的内部代号,与其线刷包文件名前缀是相对应的。
- 使用方法:直接输入并回车执行,即可看到该机型的内部代号名称。
- 解除BL锁:不需要
- 注意事项:如果在官网下载的线刷包文件名前缀,与该机型内部代号不匹配请勿刷入,否则可能会造成设备无法开机。此外小米3 电信/联通版与小米4内部代号均为“cancro”,但线刷包却是不通用的,请勿混淆刷入。
6.3 fastboot getvar anti 查看防回滚机制版本号
- 命令类型:输出信息类
- 命令作用:输出防回滚机制(ANTI)版本号
- 支持机型:具有防回滚机制的机型(目前在售的机型均支持)
- 适用场景:如果想线刷旧版本降级,建议先使用此命令查看当前防回滚机制状态。
- 使用方法:直接输入并回车执行,如果所显示的ANTI版本输出值大于1,在一个时间点之前的旧版本线刷包可能无法刷入;如果ANTI版本不超过1,未显示数值或输出“getvar:anti FAILED (remote: GetVar Variable Not found)”的报错信息,则说明该设备尚不会对低版本ROM进行限制。
- 解除BL锁:不需要
- 注意事项:如果设备已限制回滚低版本系统,强制刷入旧版本包很可能无法开机。
6.4 fastboot getvar all 查看所有设备信息
- 命令类型:输出信息类
- 命令作用:输出该设备的所有信息
- 支持机型:大部分机型
- 适用场景:查看当前BL锁状态、获取分区名
- 使用方法:直接输入并回车执行,会输出该设备的所有信息,其中不仅有上述提到的设备代号名称,和防回滚机制版本号,还包括CPU编号、 电池电压(mV)、设备序列号,以及各分区所在的内存地址等内容。
- 解除BL锁:不需要
- 注意事项:输出的设备信息仅供参考
6.5 fastboot -w 清空所有数据
- 命令类型:擦写数据类
- 命令作用:清除手机中所有数据,等同于系统中的“恢复出厂设置”,或Recovery模式的“清空所有数据”操作。
- 支持机型:大部分机型
- 适用场景:当无法进入系统和Recovery模式时,可以使用该命令清除所有数据。
- 使用方法:输入该命令并回车单独执行,亦可为其他命令附加“-w”选项一起执行,如执行“fastboot -w reboot”命令后,将在清空所有数据后重启进入系统。
- 解除BL锁:需要
- 注意事项:如果手机可以开机且能正常使用,在执行该命令前,需提前对重要数据进行妥善备份。
6.6 fastboot flash <分区名> <镜像文件名或路径> 烧录镜像到分区
-
命令类型:擦写数据类
-
命令作用:烧录img、bin、mbn、elf等镜像文件内容到指定分区,支持刷入的分区名可通过上述“fastboot getvar all”命令查询。
-
支持机型:所有机型
-
适用场景:单独刷入boot、Recovery、cust等分区镜像,或当手机始终卡在小米logo界面无法开机,且线刷和清空数据都无法解决时,可以使用该命令依次烧录对应线刷包“images”目录下,所有能刷入的镜像文件。
-
使用方法:
– ① 将需要烧录的镜像文件放置在“fastboot.exe”所在的同一个目录下,然后执行对应的烧录命令。如烧录“recovery.img”镜像文件到Recovery分区,则执行“fastboot flash recovery recovery.img”命令;
– ② 先输入“fastboot flash <分区名>”,敲一下空格键后,在将需要烧录的镜像文件直接拖拽进命令提示符窗口中,并获取该文件的绝对路径,如烧录“recovery.img”镜像文件到Recovery分区,且文件位于“C:/REC”目录下,则拖拽文件后应执行“fastboot flash recovery C:/REC/recovery.img”命令。 -
解除BL锁:需要
-
注意事项:烧录前请确定镜像文件与机型和分区匹配,并尽量提前备份重要数据,在操作执行结束前,切勿拔掉数据线或关闭命令提示符窗口。
6.7 fastboot erase <分区名> 擦除分区内数据
- 命令类型:擦写数据类
- 命令作用:擦除指定分区内的数据(并非格式化分区),支持擦除的分区名可通过上述“fastboot getvar all”命令查询。
- 支持机型:所有机型
- 适用场景:当无法通过上述命令烧录镜像文件到指定分区时,可使用该命令先擦除分区内数据,在尝试重新刷入。
- 使用方法:输入<分区名>并回车执行,如需要擦除Recovery分区,则执行“fastboot erase recovery”命令。
- 解除BL锁:需要
- 注意事项:执行前尽量提前备份重要数据,对于不熟悉的分区需谨慎擦除,否则可能会造成设备无法开机(甚至无法再次进入FASTBOOT模式)的风险。
6.8 fastboot boot <内核镜像文件名或路径> 临时启动
- 命令类型:执行动作类
- 命令作用:将PC上可引导启动的内核镜像文件下载到设备,并用该内核临时引导启动(类似于在PC端用U盘启动PE系统)
- 支持机型:所有机型
- 适用场景:部分机型能直接使用该命令,临时进入第三方Recovery模式界面,可解决无法刷入Recovery的问题。
- 使用方法:与上述“fastboot flash”命令类似
- 解除BL锁:需要
- 注意事项:该命令仅用于临时启动,不会烧录和替换内核文件到存储中。
6.9 fastboot oem device-info 查看当前BL锁状态(非MTK)
- 命令类型:输出信息类
- 命令作用:输出当前BL锁状态
- 支持机型:除联发科处理器外具有BL锁的机型(小米4c及之后的机型)
- 适用场景:查看当前BL锁状态
- 使用方法:直接输入并回车执行,如果“(bootloader) Device unlocked”项所显示的数值为“false”表示未解锁,数值为“true”则表示已解锁。
- 解除BL锁:不需要
- 注意事项:处理器为联发科的机型(如一些红米或Redmi机型)不支持该命令
6.10 fastboot oem lks 查看当前BL锁状态(MTK)
- 命令类型:输出信息类
- 命令作用:输出当前BL锁状态
- 支持机型:处理器为联发科且具有BL锁的机型
- 适用场景:查看当前BL锁状态
- 使用方法:直接输入并回车执行,如果“(bootloader) lks”项所显示的数值为“1”表示未解锁,数值为“0”则表示已解锁。
- 解除BL锁:不需要
- 注意事项:处理器为非联发科的机型不支持该命令
6.11 fastboot oem lock 开启BL锁保护
- 命令类型:擦写数据类
- 命令作用:开启BL锁保护
- 支持机型:具有BL锁且未开启Root权限的所有机型
- 适用场景:除了重新开启BL锁外,部分机型还可以用该命令清除所有数据(即使BL锁已开启也能重复执行,等同于在解锁后执行“fastboot -w reboot”命令)
- 使用方法:直接输入并回车执行,部分机型将在清空所有数据后重启进入系统
- 解除BL锁:不一定需要
- 注意事项:在解除BL锁时需要清除数据的机型,通过上述命令重新开启BL锁后,通常还会再次自动清空所有数据,所以在执行前需提前备份重要数据。对于已刷入开发版系统且开启Root权限的设备,请勿使用该命令直接开启BL锁,否则极有可能导致手机无法开机的情况。
6.12 fastboot oem edl 进入高通008救援模式
- 命令类型:执行动作类
- 命令作用:进入高通008救援模式(EDL)
- 支持机型:处理器为高通骁龙的机型
- 适用场景:无需工程线或进行短接操作,直接进入高通008刷机模式。
- 使用方法:直接输入并回车执行,然后手机会直接黑屏,并在PC端设备管理器中显示对应端口。此时长按电源键约10-15秒可重启进入系统。详情请查看9008模式深刷刷机教程。
- 解除BL锁:需要
- 注意事项:在高通9008模式下刷机失败率较高且风险更大,可能会造成设备无法开机(甚至无法再次进入FASTBOOT模式)的风险,且部分机型在刷机过程中,需要登录具备刷机权限的小米帐号才能继续,非特殊情况下不推荐使用。
6.13 fastboot reboot 重启进入系统
- 命令类型:执行动作类
- 命令作用:退出FASTBOOT模式并重启进入系统,等同于长按电源键强制重启。
- 支持机型:所有机型
- 适用场景:在FASTBOOT模式下的操作完成后,执行该命令重启进入系统。
- 使用方法:直接输入并回车执行,等待重启进入系统。
- 解除BL锁:不需要
- 注意事项:无
6.14 fastboot oem poweroff 拔掉数据线后关机
- 命令类型:执行动作类
- 命令作用:在拔掉数据线后立即退出FASTBOOT模式并关机
- 支持机型:部分机型
- 适用场景:当手机始终卡在小米logo界面,或系统被锁定等导致无法关机,并需要进行充电或售后维修时,可以使用该命令关机,以避免电能的持续消耗,此时连接充电器还能看到剩余电量。
- 使用方法:直接输入并回车执行,拔掉与PC连接的数据线后关机。
- 解除BL锁:不一定需要
- 注意事项:部分机型可能不支持,或需要关闭BL锁后才能执行成功.
6.15 fastboot oem reboot-recovery 重启进入Recovery模式
- 命令类型:执行动作类
- 命令作用:退出FASTBOOT模式并重启进入Recovery模式
- 支持机型:部分机型
- 适用场景:在刷入第三方Recovery后,使用该命令直接进入Recovery模式。
- 使用方法:直接输入并回车执行,等待重启进入Recovery模式。
- 解除BL锁:不需要
- 注意事项:部分机型可能不支持,或重启后直接进入系统而非Recovery模式。
7. 执行FASTBOOT命令要注意什么?
在输入和执行上述FASTBOOT命令时,除每个命令所单独列出的具体注意事项外,还需要格外注意以下事项:
-
在输入命令时,除“fastboot”和文件及其绝对路径不强制要求区分大小写外,包括附加选项在内的其他字母一律为小写,且之间的空格分隔不能被省略,否则可能会导致无法执行成功。
-
一些命令在执行过程中可能会卡住,此时请耐心等待操作结束,期间切勿拔掉数据线或关闭命令提示符窗口。如果始终卡在光标处,且未输出任何的信息,可以先按住键盘上的“Ctrl”键后再按下“C”键强制终止操作。
-
最好仅在一个命令提示符串口中操作,请勿通过多个不同的窗口同时向设备发送命令,否则可能会造成冲突及执行失败。
-
建议将MiFlash工具解压至不包含中文和特殊字符的目录中,推荐放置在本地任意磁盘分区根目录下。且在需要烧写分区或引导启动时,镜像文件的命名及其绝对路径,也尽量避免包含中文和特殊字符,否则在安装FASTBOOT驱动或执行命令时,可能会出现一些莫名其妙的问题(来自一位热心米粉的提醒)。
8. FASTBOOT命令返回值有何含义?
在执行FASTBOOT命令的过程及结束后,都会在命令提示符窗口中输出一些信息,其中除了执行结果或说明文本外,还有一些固定的返回值内容,通过它们即可直观反映操作情况,以及造成失败的具体原因。
- finished. total time: XXXs:代表该命令已经执行完毕,其中“XXX”为执行过程中已消耗的秒数。
- OKAY [ XXXs]:通常代表部分或全部操作执行成功,其中“XXX”为执行过程中已消耗的秒数。
- FAILED (remote: XXX):通常代表部分或全部操作执行失败,或命令输入有误,其中“XXX”为具体报错信息。
- waiting for any device:代表未插入设备,设备未进入FASTBOOT状态,或驱动程序未就绪。
- 直接输出FASTBOOT帮助信息或“fastboot: usage: unknown command XXX”:代表命令或语法格式输入有误,其中“XXX”为输入错误的命令。
enjoy!
参考来源:https://web.vip.miui.com/page/info/mio/mio/detail?postId=19025264