准备

  • 一台 Android 手机
  • 一台运行 Windows 并且带有 adb 环境的电脑
  • APatch 安装包

提取 boot 分区

通过刷机包来提取 boot 分区

如果你是小米/红米手机的话,你可以到 XiaomiROM 下载你手机对应的刷机包来提取 Boot 分区,其他系统请自行查找,注意刷机包分为线刷和卡刷包。

线刷包的提取方法

  1. 解压线刷包到任意路径下
  2. 进入线刷包文件夹找到 images 文件夹
  3. 找到里面的 boot.img 传输到手机上

卡刷包的提取方法

  1. 解压卡刷包到任意路径下
  2. 使用工具提取 payload.bin 的分区

你可以使用这些工具来提取 payload.bin

本教程使用 payload-dumper-go 来提取,将 payload-dumper-go.exe 放入到有 payload.bin 的文件夹中,在上方输入 cmd 并回车,这时 cmd 的启动路径就在你当前的路径下了

在终端窗口中输入

1
2
3
4
5
# 如果你使用的是PowerShell请使用这条命令
./payload-dumper-go .\payload.bin

# 如果你使用的是cmd请使用这条命令
payload-dumper-go.exe payload.bin

当看到 boot 分区已经提取出来了,手动使用 ctrl + c 打断程序,因为我们只需要 boot 分区

你会发现在当前目录下新建了一个文件夹叫extracted_xxxxxx_xxxxxx

进入该文件夹你就可以看到你提取的所有分区了,这里面应该有 boot 分区,提取出来传输到手机上

使用ADB提取boot分区(需要Root)

再次提醒:dd 命令存在较大的风险,请谨慎使用

  1. 确定是否为 AB 分区的设备
    • 使用adb shell getprop ro.build.ab_update如果返回为true则代表为AB分区,如果返回为空白则不是 AB 分区
    • 如果确认为AB分区的设备,使用adb shell getprop ro.boot.slot_suffix来查看系统目前所在的分区
  2. 使用adb shell进入 adb shell 模式
  3. 使用su提权到 Root
  4. 使用cd /dev/block/bootdevice/by-name切换到分区路径下
  5. 使用ls -l分区名查看地址,如果是非AB分区设备使用ls -l boot就可以了,如果是AB分区的设备需要使用 ls -l boot_目前所在的分区
  6. 看 boot 链接的路径,比如我这里的路径是/dev/block/sde37 ,那么我就使用
1
2
# dd if=输入文件名 of=输出文件名
dd if=/dev/block/sde37 of=/sdcard/Download/boot.img
  1. 此时在你的 /sdcard/Download/ 目录下应该有一个名为 boot.img 的文件,它就是我们需要的 boot

修补和刷入 Apatch

修补 boot

  1. 下载并安装 Apatch
  2. 进入 Apatch,点击点此安装
  3. 点击选择一个启动镜像并修补
  4. 选择你的 boot 镜像
  5. 点击开始修补
  6. 在修补完成之后并不会退出该页面,看到下方显示 Successful Patched! 为成功
  7. 把 /sdcard/Download/ 目录下带有 apatch 开头的镜像文件传输到电脑上,为刷入做准备

刷入 boot

  1. 确认 Apatch 修补过的镜像文件已经移动到电脑上
  2. 重启手机到 fastboot 模式下
  3. 使用fastboot flash boot 镜像文件路径,把 boot 刷入到手机上
  4. 使用fastboot reboot 重启手机

嵌入 KPM

警告:在进行嵌入模块之前请先尝试加载模块,如果如果确认没问题之后再嵌入,否则出现无法开机等情况概不负责

  1. 进入 Apatch 点击下方的内核模块选项
  2. 点击右下角的 FAB,选择嵌入
  3. 点击嵌入模块,选择你想嵌入的模块
  4. 最后点击开始修补,等待修补完成之后点击重启即可

参考

[1] https://apatch.dev/

[2] https://magiskcn.com/payload-dumper-go-boot

[3] https://miuiver.com/checks-for-ab-partitions-support/

[4] https://bbs.kanxue.com/thread-277700.htm

[5] https://developer.android.com/tools/adb

[6] https://developer.android.com/tools/releases/platform-tools

[7] https://www.runoob.com/linux/linux-comm-dd.html

[8] https://xdaforums.com/t/guide-how-to-extract-img-boot-img-etc-from-payload-bin-using-payload-dumper-go.4468781/

更新日志

[2026/3/26] 移除了所有图片,进行了排版优化,并删除了 APatch 与 Magisk 共存的部分,因为这种方法并不稳定。