APatch 中文文档 下载 App

提取原厂 boot.img — 从刷机包到 adb 备份的方法

为什么必须要原厂 boot.img

APatch 修补的基础是设备当前版本的原厂 boot.img——不是 Magisk 修补过的、不是 KernelSU 修补过的、不是任何第三方修补过的。如果修补一个已经被其他 root 方案修改过的 boot.img,KernelPatch 可能会因为内核二进制的意外变化而修补失败或出现异常行为。

方法一:从官方刷机包提取(推荐)

绝大多数品牌都会公开刷机包(虽然有些藏得深):

  1. 在设备厂商的固件下载页或对应社区找到你设备当前版本的刷机包
  2. 刷机包通常是 .zip 格式,直接解压
  3. 在解压后的目录里找 boot.img(部分厂商会把 boot.img 放在 images 子目录下)
  4. 如果找不到,找文件名叫 boot*.img、vendor_boot.img 或类似的

部分厂商的刷机包用的是 payload.bin 格式(Google Pixel、部分 MIUI 包),这种情况需要用 payload-dumper-go 等工具解包。

方法二:adb root 直接备份

如果设备已经有 root 权限了,直接备份最方便:

# 获取 boot 分区路径
ls -l /dev/block/by-name/boot*

# 用 dd 备份到存储
dd if=/dev/block/by-name/boot of=/sdcard/boot.img bs=4096

备份完再拷到电脑上:

adb pull /sdcard/boot.img .

方法三:从 OTA 增量包解包

OTA 增量包通常只包含变化的分区,不一定有完整 boot.img。不推荐依赖这种方式——增量包里的 boot.img 是变化后的,但完整版本难拿。

重要:确认版本

提取到 boot.img 后,务必确认它和你设备当前运行的系统版本完全一致:

  1. 去设置里看系统版本号(Android 版本、安全补丁级别、构建号)
  2. 刷机包的版本号必须和设置里看到的一致

如果版本对不上,修补后的 boot.img 刷入后会在开机时因为内核版本不匹配而失败。

备份到安全位置

拿到 boot.img 后,立刻在电脑上备份一份。刷入修补版后如果出问题需要恢复原厂 boot,这是唯一的救命稻草。

# 原厂备份 — 放在电脑上,不要只放手机上
cp boot.img boot-stock-backup.img