Skip to content

刷机常用术语

第一章:常见工具

一、adb

1. 什么是 adb?

Android 调试桥(adb)是一种开发工具,用于促进 Android 设备与个人计算机之间的通信。这种通信通常通过 USB 线进行,但也支持 Wi-Fi 连接。

adb 就像是 Android 开发的“瑞士军刀”。它提供了许多功能,详细描述可以通过命令 adb --help 查看。

2. 安装 adb

1️⃣ 下载 adb 程序 platform-tools Windows zip

2️⃣ 解压到 %USERPROFILE%\platform-tools 里面。

3️⃣ 配置环境变量

搜索“高级系统设置”。

选择“查看高级系统设置”。

点击“高级选项卡”。

打开“环境变量”窗口。

在“系统变量”下选择 Path 变量并点击“编辑”按钮。

在文本字段中插入 %USERPROFILE%\platform-tools

4️⃣ 安装驱动。

5️⃣ 开启开发者选项,且开启 USB 调试。

6️⃣ 验证:数据线连接电脑,执行 adb devices

3. 常用命令

1)模式切换
bash
# 在设备上启动一个 shell
adb shell

# 将文件 <local> 推送到 <remote>
adb push <local> <remote>
# 将文件 <remote> 拉取到 <local>。如果未指定 <local>,它将拉取到当前文件夹
adb pull <remote> [<local>]

# 正常重启到系统
adb reboot
# 重启到恢复模式
adb reboot recovery
# 重启到引导加载程序 (Fastboot)
adb reboot bootloader
# 重启到 sideload 模式 (用于侧载更新)
adb reboot sideload
2)分区

备份分区

bash
# 备份 boot 分区
adb shell dd if=/dev/block/bootdevice/by-name/boot_a of=/sdcard/boot.img

# 拉取到电脑
adb pull /sdcard/boot.img

查看分区挂载

bash
adb shell mount | grep "/dev/block"

查看分区

bash
# 通过 ADB 查看
adb shell
ls -l /dev/block/bootdevice/by-name/

# 或者
cat /proc/partitions

二、Fastboot

1. 什么是 Fastboot?

Fastboot 在手机上的角色相当于电脑中 BIOS。在 fastboot 模式下,您可以输入 fastboot devices 来验证您的设备是否能够被检测到。

主要功能:

  • Bootloader 操作:解锁或锁定设备的 Bootloader。
  • 刷写系统:可以刷入系统镜像、引导程序和恢复分区。
  • 分区管理:擦除或修复设备分区。
  • 系统维护:执行各种底层系统操作。

2. 常用命令

1)基本操作命令
bash
# 检查设备连接
fastboot devices

# 重启到正常系统
fastboot reboot

# 重启到 Recovery 模式
fastboot reboot recovery

# 重启到 Bootloader
fastboot reboot bootloader
2)boot.img 相关命令
bash
# 刷写 boot 分区 (替换 boot.img)
fastboot flash boot boot.img

# 临时启动 boot 镜像 (不刷入)
fastboot boot boot.img

# 备份原始 boot 分区
fastboot dump boot boot_backup.img
3)获取 root 相关操作
bash
# 解锁 Bootloader (不同设备可能有特定命令)
fastboot oem unlock
fastboot flashing unlock # 较新设备

# Magisk 安装过程 (总体流程)
# 1. 先备份原 boot.img
fastboot dump boot boot_original.img
# 2. 使用 Magisk App 修补 boot.img 生成 magisk_patched.img
# 3. 刷入修补后的 boot 镜像
fastboot flash boot magisk_patched.img

# 某些设备需要禁用 AVB 验证
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
4)其他有用命令
bash
# 擦除分区
fastboot erase [partition_name]

# 刷写 recovery 分区
fastboot flash recovery recovery.img

# 刷写 system 分区
fastboot flash system system.img

# 刷写 vendor 分区
fastboot flash vendor vendor.img

# 刷写 dtbo 分区
fastboot flash dtbo dtbo.img

第二章:手机分区

一加手机(OnePlus)使用高通芯片,采用标准的 Android 分区结构,基于 A/B 系统分区(无缝更新)。

一、引导相关分区

1)boot (系统启动)

分区名: boot_a / boot_b
作用: 存储 Linux 内核和 ramdisk
包含:
  - 内核镜像 (kernel)
  - 初始内存盘 (ramdisk)
  - 设备树 (dtb)

2)dtbo (设备树覆盖)

分区名: dtbo_a / dtbo_b
作用: 设备树 Blob Overlay
用途: 硬件配置信息覆盖

3)vbmeta (验证启动元数据)

分区名: vbmeta_a / vbmeta_b
作用: Android Verified Boot 元数据
包含:
  - 签名信息
  - 分区哈希
  - 回滚保护

4)recovery (恢复模式)

分区名: recovery
作用: 恢复系统
用途:
  - 恢复出厂设置
  - 安装 OTA 更新
  - 备份恢复

注意: 新版本可能没有独立 recovery,集成在 boot 中

二、系统分区

1)system (系统)

分区名: system_a / system_b
作用: Android 系统核心
包含:
  - /system/app (系统应用)
  - /system/framework (框架)
  - /system/lib (系统库)
  - /system/bin (系统二进制)

挂载点: /system
只读: 是(正常情况)

2)vendor (厂商)

分区名: vendor_a / vendor_b
作用: 厂商特定文件
包含:
  - 驱动程序
  - HAL 层
  - 固件
  - 一加定制内容

挂载点: /vendor

3)product (产品)

分区名: product_a / product_b
作用: 产品特定应用和配置
包含:
  - 预装应用
  - 区域化内容
  - OEM 定制

挂载点: /product

4)system_ext (系统扩展)

分区名: system_ext_a / system_ext_b
作用: 系统功能扩展
包含:
  - 额外系统应用
  - 扩展功能模块

挂载点: /system_ext

5)odm (原始设计制造商)

分区名: odm_a / odm_b
作用: ODM 特定配置
包含:
  - 硬件配置
  - 设备特定驱动

挂载点: /odm

三、用户数据分区

1)userdata (用户数据)

分区名: userdata
大小: 剩余所有空间(例如 256GB 手机可能有 240GB)
作用: 用户数据存储
包含:
  - /data/app (用户应用)
  - /data/data (应用数据)
  - /data/media (内部存储)
  - /data/user (多用户)

挂载点: /data
加密: 是

2)cache (缓存)

分区名: cache
作用: 系统临时缓存
用途:
  - OTA 更新包
  - 恢复日志
  - 临时文件

挂载点: /cache

3)metadata (元数据)

分区名: metadata
作用: 加密元数据
用途:
  - FBE (File-Based Encryption) 密钥
  - 加密状态

四、固件分区

1)modem (基带)

分区名: modem_a / modem_b
作用: 基带固件
用途: 移动网络通信

2)bluetooth (蓝牙)

分区名: bluetooth_a / bluetooth_b
作用: 蓝牙固件

3)dsp (数字信号处理器)

分区名: dsp_a / dsp_b
作用: DSP 固件
用途: 音频/传感器处理

4)abl (Android Bootloader)

分区名: abl_a / abl_b
作用: Android 引导加载程序

5)xbl (Extended Bootloader)

分区名: xbl_a / xbl_b
作用: 主引导加载程序

6)tz (TrustZone)

分区名: tz_a / tz_b
作用: TrustZone 固件
用途: 安全执行环境

7)hyp (Hypervisor)

分区名: hyp_a / hyp_b
作用: 虚拟化管理程序

8)keymaster (密钥管理器)

分区名: keymaster_a / keymaster_b
作用: 硬件密钥管理

五、配置和持久化分区

1)persist (持久化)

分区名: persist
作用: 持久化数据
包含:
  - 传感器校准数据
  - Wi-Fi MAC 地址
  - 蓝牙配置
  - 显示校准

特点: 恢复出厂设置不会删除

2)misc (杂项)

分区名: misc
作用: 系统状态标志
用途:
  - 启动模式标志
  - OTA 状态
  - 恢复命令

3)frp (工厂重置保护)

分区名: frp
作用: Factory Reset Protection
用途: 防盗保护标志

4)param (参数)

分区名: param
作用: 硬件参数
包含: 序列号、IMEI 等

六、一加特有分区

1)op1 / op2 (OnePlus 特定)

分区名: op1 / op2
作用: 一加定制功能
可能包含:
  - 一加账户
  - OTA 配置
  - 区域化设置

2)opproduct (OnePlus Product)

分区名: opproduct
作用: 一加产品特定内容
包含:
  - 一加应用商店
  - 主题资源
  - 壁纸

3)reserve (保留)

分区名: reserve1 / reserve2
作用: 一加保留分区
用途: 未来功能扩展

七、特殊功能分区

1)logfs (日志文件系统)

分区名: logfs
作用: 系统日志
用途: Crash 日志、调试信息

2)logdump (日志转储)

分区名: logdump
作用: 内核日志转储

3)splash (启动画面)

分区名: splash
作用: 开机动画
包含: OnePlus LOGO

4)ddr (内存)

分区名: ddr
作用: DDR 训练数据
用途: 内存初始化参数

八、A/B 分区系统

一加手机从 OnePlus 5T 开始支持 A/B 无缝更新。

1)A/B 分区对照

系统 A (槽位 A)          系统 B (槽位 B)
├─ boot_a               ├─ boot_b
├─ system_a             ├─ system_b
├─ vendor_a             ├─ vendor_b
├─ product_a            ├─ product_b
├─ odm_a                ├─ odm_b
├─ dtbo_a               ├─ dtbo_b
├─ vbmeta_a             ├─ vbmeta_b
├─ modem_a              ├─ modem_b
└─ ...                  └─ ...

当前激活: 槽位 A
后台更新: 槽位 B
重启切换: A ↔ B

2)查看当前槽位

bash
# 查看激活槽位
adb shell getprop ro.boot.slot_suffix
# 输出: _a 或 _b

# 查看槽位状态
adb shell bootctl get-current-slot
# 输出: 0 (槽位A) 或 1 (槽位B)

九、动态分区(Super Partition)

一加 8 及以后机型使用动态分区。

1)动态分区结构

super 分区 (9GB)
├─ system_a (3GB)
├─ system_b (0GB - 未使用)
├─ vendor_a (1GB)
├─ vendor_b (0GB - 未使用)
├─ product_a (1GB)
├─ product_b (0GB - 未使用)
├─ odm_a (500MB)
├─ odm_b (0GB - 未使用)
└─ 剩余空间 (3.5GB - 可动态分配)

优势:
✅ 灵活调整分区大小
✅ 空间利用率高
✅ 简化 OTA 更新

2)查看动态分区

bash
# 查看 super 分区内容
adb shell
lptools dump /dev/block/bootdevice/by-name/super

# 或者
lpdump /dev/block/bootdevice/by-name/super_a
preview
图片加载中
预览

Released under the MIT License.