22、刷机与分区:adb reboot bootloader(进入 Fastboot)、fastboot flash(刷写分区)、fastboot oem unlock(解锁 Bootloader)
刷机,这个词在 Android 圈子里自带一种神秘感。很多人觉得刷机是高手才敢碰的事,其实说白了,它就是往手机里写数据。只不过这个数据不是普通的照片或文档,而是系统镜像。
我个人习惯把刷机比作给手机做「系统移植手术」。你要先让手机进入手术台模式(Fastboot),然后解锁它的「安全锁」(Bootloader),最后把新的器官(系统分区)移植进去。今天我们就一步步拆解这个过程。
核心知识点速览
- Fastboot 模式:Android 设备的一个底层刷机协议,比 Recovery 更底层
- Bootloader 解锁:解除厂商对分区的写保护,是刷机的「通行证」
- 分区刷写:将镜像文件写入指定分区,如 boot、system、vendor
22.1 进入 Fastboot 模式:adb reboot bootloader
Fastboot 是什么?它是 Android 系统在启动阶段之前的一个底层协议。你想想看,当手机系统都坏了,你还能用 adb 命令吗?不能。但 Fastboot 模式可以在系统还没加载的时候就让你和硬件通信。
进入方式很简单,就一条命令:
adb reboot bootloader
执行后,手机会重启并进入一个黑底白字的界面,顶部通常会显示「FASTBOOT MODE」或者「START」字样。嗯,这里要注意:有些手机需要同时按住「音量减 + 电源键」才能进入,但用 adb 命令是最标准的做法。
我的经验:我在项目中遇到过一台设备,adb 连不上但设备是开机的。后来发现是 USB 调试没打开。如果你执行 adb reboot bootloader 后提示「device not found」,先检查一下 USB 调试开关。
进入 Fastboot 后,你可以用 fastboot devices 来确认连接是否正常。如果返回了一串设备 ID,恭喜你,手术台准备好了。
fastboot devices
# 输出示例:ABCD1234 fastboot
22.2 解锁 Bootloader:fastboot oem unlock
Bootloader 是手机启动时第一个运行的程序。它负责验证系统镜像的签名。厂商为了防止你乱刷系统,默认把它锁上了。
解锁命令:
fastboot oem unlock
执行后,手机屏幕上会弹出确认界面,用音量键选择「Yes」,电源键确认。手机会恢复出厂设置并重启。注意,这一步会清除所有用户数据。
重要警告:解锁 Bootloader 会导致:
- 手机失去官方保修(大部分厂商)
- 所有用户数据被清空(相当于恢复出厂设置)
- 某些银行 App、支付 App 可能无法使用
不同厂商的解锁命令略有差异。我整理了一个表格,方便你对照:
| 厂商 | 解锁命令 | 备注 |
|---|---|---|
| Google / 原生 | fastboot oem unlock |
最标准,通用性最强 |
| 小米 | fastboot oem unlock 或 fastboot flashing unlock |
需要绑定小米账号 72 小时 |
| 一加 | fastboot oem unlock |
部分新机型需 fastboot flashing unlock |
| 华为 / 荣耀 | 已关闭解锁通道 | 需要特殊工具,不推荐普通用户尝试 |
| 三星 | 需进入 Download 模式用 Odin 工具 | 不适用 fastboot 命令 |
22.3 刷写分区:fastboot flash
解锁之后,你就可以往分区里写东西了。刷写命令的格式是:
fastboot flash <分区名> <镜像文件路径>
举个例子,刷写 boot 分区:
fastboot flash boot boot.img
常见的分区有哪些?我列一下:
- boot:内核 + ramdisk,系统启动的核心
- system:系统应用和框架,Android 系统本体
- vendor:厂商专有驱动和库,比如相机、指纹
- userdata:用户数据分区,相当于电脑的 D 盘
- recovery:恢复模式,用于备份恢复和 OTA 更新
- cache:缓存分区,现在很多新机型已经废弃
刷写顺序建议:我个人习惯先刷 boot,再刷 system,最后刷 vendor。为什么?因为 boot 分区如果刷坏了,手机直接变砖,早点发现还能救。system 和 vendor 刷错了顶多系统起不来,还能进 Fastboot 重刷。
刷写过程中,终端会显示进度:
target reported max download size of 536870912 bytes
sending 'boot' (32768 KB)...
OKAY [ 0.812s]
writing 'boot'...
OKAY [ 0.234s]
finished. total time: 1.046s
看到「OKAY」就表示刷写成功。如果出现「FAILED」,别慌,看看错误信息。最常见的是:
- FAILED (remote: 'not allowed'):Bootloader 没解锁,回去执行
fastboot oem unlock - FAILED (remote: 'size too large'):镜像文件太大,分区装不下。检查一下镜像是否匹配机型
- FAILED (command write failed):USB 线接触不良,换根线试试
22.4 刷机后的收尾工作
所有分区刷写完成后,执行:
fastboot reboot
手机会重启。第一次启动可能会比较慢,因为系统要重建缓存。如果等了 10 分钟还没进系统,可能是某个分区刷错了。这时候强制重启进入 Fastboot,重新检查镜像文件。
避坑指南:我曾经刷完机后手机卡在开机动画,折腾了半天发现是 boot 分区和 system 分区的版本不匹配。一个 Android 12 的 boot 配了一个 Android 13 的 system,能启动才怪。所以刷机前一定要确认镜像版本一致。
22.5 刷机失败怎么办?
刷机最怕变砖。但说实话,只要你能进 Fastboot,就还有救。Fastboot 是比系统更底层的模式,只要这个模式没坏,你就能重新刷。
如果连 Fastboot 都进不去,那才是真砖。这种情况通常是因为刷了错误的 bootloader 或者分区表被破坏了。嗯,这种情况我建议你找售后或者专业维修,自己搞风险太大。
最后说一句:刷机有风险,操作需谨慎。但掌握了 Fastboot 和分区刷写,你就真正拥有了对 Android 设备的「底层控制权」。这份能力,值得你花时间好好练一练。
公众号:蓝海资料掘金营,微信deep3321