droid.rooter
教程进阶阅读约 12 分钟

如何获取适用于 Magisk 的正确 boot 或 init_boot 镜像

可靠的 Magisk 安装,从打补丁之前就开始了。先确认正确的分区和准确的固件,再提取并保存一份干净的原始镜像。

How to Get the Correct Boot or Init_Boot Image for Magisk
目录
  1. 先建立固件身份记录
  2. 真实的混淆案例:机型没错,固件分支不对
  3. 判断需要 boot.img 还是 init_boot.img
  4. 选择最可靠的原始来源
  5. Pixel:出厂镜像或完整 OTA 包
  6. 其他厂商:核对实际的包格式
  7. 第三方 ROM:从该 ROM 自己的发布版本入手
  8. 方法 1:从固件压缩包中直接提取镜像
  9. 方法 2:从 payload.bin 中提取 boot 类镜像
  10. 完整 OTA 与增量 OTA 不能互换
  11. 方法 3:Magisk 31 的远程 OTA 提取
  12. 校验下载文件并保存校验值
  13. 身份核对全部通过后再打补丁
  14. 不要拿旧镜像临时当回滚用
  15. 常见问题
  16. 同机型、同 Android 版本的 boot 镜像能直接用吗?
  17. 固件里有 boot.img 但没有 init_boot.img 怎么办?
  18. 提取固件会清除数据吗?
  19. 别人能把他打好补丁的镜像发给我吗?
  20. 找不到完全一致的版本怎么办?
  21. 最关键的检查点
  22. 来源与范围

很多 Magisk 安装的难点并不在点“patch”这一下,而在于确认要修补的文件到底属不属于这台手机。

搜索你的机型,可能搜到不同地区、不同月份构建以及第三方 ROM 的镜像,它们都可能叫 boot.img。光看文件名,几乎判断不了是否兼容。

请从与手机当前系统一致的固件或第三方 ROM 中取得原始镜像。确认它所支持的 Magisk 安装方式用的是 boot、init_boot、Recovery,还是其他明确支持的方案。原始镜像保持不动,并在将要使用它的那台手机上打补丁。Magisk 官方说明也提醒过,不要使用别人打好补丁的镜像,即使机型相同也一样。来源 1

本文讲的是如何确认并取得镜像,刻意没有以一条通用的刷入命令收尾。

先建立固件身份记录

打开Settings > About phone,记下准确的机型和版本号。同时记录手机运行的是厂商固件还是第三方 ROM,以及属于稳定版还是测试版渠道。

在已授权 ADB 的电脑上,下面这些只读查询可以帮你收集系统信息:

adb shell getprop ro.product.device
adb shell getprop ro.build.display.id
adb shell getprop ro.build.version.incremental
adb shell getprop ro.build.fingerprint

这些只是用来比对的标识,并不能自动证明随便一个下载包就兼容。厂商在Settings界面和固件页面上用的标签可能不同,第三方 ROM 上报的信息也可能不一样。

每个候选下载包都对照这份记录:

项目需要确认的内容
机型和代号包对应的是这台设备,而不是名字相近的 Pro 版、地区版或运营商版
已安装版本镜像属于当前安装的系统,而不只是 Android 大版本相同
地区或运营商分支包适用于该设备的固件分支
ROM 与发布渠道原厂、第三方、测试版和稳定版镜像不能随意互换
原始来源下载来源可追溯到厂商或真正的 ROM 维护者
所需镜像该设备的安装流程已明确指出正确的分区

只写“Android 16”不够具体,“九月更新”也不够。请比对完整的版本号。

真实的混淆案例:机型没错,固件分支不对

在 XDA 上一个关于 Xiaomi 13 的讨论里,有用户想找一个准确的 EEA 版本,却搞不清固件包与从 OTA 中提取 boot 相关镜像之间的区别。值得借鉴的不是照搬帖子里的下一条刷机命令,而是在选压缩包之前,先确认设备的分支和完整版本。来源 8

针对某个地区版本写的教程,在其下载链接早已和你的手机对不上之后,仍可能长期被搜到。

判断需要 boot.img 还是 init_boot.img

不要只凭Settings里显示的 Android 版本来判断。

对于出厂即搭载 Android 13 的设备,AOSP 把通用 ramdisk 拆到了单独的 init_boot 镜像中。从旧架构升级上来的设备,并不一定都要采用这种布局。所以两台运行同一 Android 版本的手机,可能需要不同的 Root 方法。来源 2

请把 Magisk 当前的官方说明,与针对你这款设备、仍在维护的教程结合起来看:

镜像如何看待
boot.img常见的补丁目标,但在使用独立 init_boot 布局的设备上不一定正确
init_boot.img在相关设备上是独立的镜像,不是 boot.img 改个名字
recovery.img用于部分受支持的基于 Recovery 的安装方式,不是 boot 打补丁失败后的备选方案
vendor_boot.img因设备而异。Magisk 从 v30.3 起加入支持,但这并不代表它是所有设备的默认目标
Samsung AP_...tar 固件包请按 Magisk 针对Samsung的专门流程操作,不要套用通用的 fastboot 教程

vendor_boot 的支持情况出自 Magisk 官方更新日志。来源 3安装方式的选择以及Samsung的例外情况,见其安装文档。来源 1

不要把每个镜像都打一遍补丁再逐个试。对分区拿不准,说明应该在刷入前停下来,而不是在正在使用的主力机上做试验。

选择最可靠的原始来源

Pixel:出厂镜像或完整 OTA 包

Google 提供官方出厂镜像和完整 OTA 包。出厂镜像压缩包里可能包含用于查看或提取的原始分区镜像。完整 OTA 是另一种包,用于 OTA 安装流程。来源 4来源 5

下载或解压压缩包本身不会刷写手机。运行出厂刷机脚本是另一回事,可能造成破坏。Google 提醒,安装出厂镜像会清除数据;而完整 OTA 流程通常不需要解锁 Bootloader,也不需要清除数据。来源 4来源 5

这里的目标只是拿到一个文件,没必要为了看一眼出厂压缩包的内容而运行 flash-all。

其他厂商:核对实际的包格式

先从厂商的固件或支持渠道入手。如果你这个版本的固件没有公开提供,就去查有人维护的该机型专属帖子,看看获取方法,而不是随手下载某个陌生账号直接上传的附件。

fastboot 压缩包、Recovery 更新 ZIP 和小型增量更新,内容可能差别很大。光看下载体积无法判断是哪种包,改扩展名也不会把它变成另一种包。

在Samsung上,AP 包和 Odin 流程是另一套做法。从该包中提取出独立的 boot 镜像,并不意味着可以改用通用的 fastboot 教程。来源 1

第三方 ROM:从该 ROM 自己的发布版本入手

如果当前系统是第三方 ROM,同一款手机的原厂镜像不一定是正确的原始镜像。请使用该 ROM 维护者针对这个确切版本发布的文件和安装说明。

自定义内核的改动也要记进你的记录里。“原厂镜像”可能指厂商的镜像,也可能指第三方 ROM 未修改的镜像,两者不一定是同一个文件。

方法 1:从固件压缩包中直接提取镜像

新建一个以设备和完整版本号命名的文件夹,把下载的压缩包放进去,用正规的解压工具查看其内容。

有些固件下载包的外层 ZIP 里还套着另一个镜像压缩包。请继续进入对应的内层压缩包,找到该设备受支持的 Root 流程所指定的镜像。

分开保存这三样东西:

  1. 下载的原始压缩包。
  2. 未经修改的提取镜像。
  3. 之后由 Magisk 打补丁生成的文件。

不要用打过补丁的文件覆盖原件。一个叫 boot.img 的镜像,如果旁边没有记录它的来源版本,就等于没有说明身份。

例如,你自己的文件夹结构可以是这样:

firmware-work/
  device-codename_full-build-id/
    original-download.zip
    source-notes.txt
    original/
      init_boot.img
    patched/
      magisk_patched_actual-filename.img

以上名称只是示范如何整理,并非来自某台实测设备的文件。

方法 2:从 payload.bin 中提取 boot 类镜像

很多 OTA 压缩包里装的是 payload.bin,而不是零散的分区镜像。一个仍在维护的开源选择是 ssut/payload-dumper-go。来源 6

从该项目的仓库下载合适的发布版本,满足其平台前置条件,并保持校验功能开启。该项目当前的文档写明依赖 xz,既支持直接读取内含 payload 的 ZIP,也支持单独的 payload 文件。来源 6

工具装好并加入命令路径后,先列出可用的分区:

payload-dumper-go -l payload.bin

如果所需分区是 init_boot,就只提取这个分区:

payload-dumper-go -p init_boot -o extracted payload.bin

如果该设备文档指定的目标是 boot,则使用:

payload-dumper-go -p boot -o extracted payload.bin

这两条是二选一,不是必须连续执行的两步。在 Windows 上,如果在 PowerShell 里从可执行文件所在文件夹运行,请把命令名换成 ./payload-dumper-go.exe。

等待进程成功结束。生成了输出文件,或进度条走到很高的百分比,都不能代替成功退出和校验。

完整 OTA 与增量 OTA 不能互换

增量更新可能需要上一个版本的镜像。当前版本的提取工具可借助基础镜像支持部分差分操作,但文档中也列出了不支持的操作,包括 PUFFDIFF、ZUCCHINI 和 LZ4DIFF_*。来源 6

如果只是为 Root 做准备,请优先选用与该版本完全一致的完整包。如果提取时要求你提供手头没有的基础镜像,就停下来。不要为了得到一个名字看起来对的文件而关闭校验。

“提取工具支持增量 OTA”并不等于“任何增量 OTA 里的每个分区,没有原始基础镜像也能重建”。

方法 3:Magisk 31 的远程 OTA 提取

Magisk v31.0 新增了从远程 OTA 链接提取 boot 镜像的功能。在本文的调研快照中,其 2026 年 9 月 4 日的官方发布被标记为预发布版。来源 7

这可以减少手动下载并解包整个 OTA 的麻烦,但仍然需要你自己选对设备、固件分支、版本和补丁目标。

请使用原始固件的链接,不要用随手搜到的“预 Root 镜像”链接。对生成的镜像,要像对待本地提取的文件一样认真核查来源。这次发布公告并没有说明它兼容每家厂商的固件容器格式。

没必要仅仅因为预发布版有更方便的提取功能,就把日常使用的稳定版换过去。手动查找来源再提取的流程依然好用。稳定版与预发布版渠道的区别,请参阅更正后的 Magisk 版本指南。

校验下载文件并保存校验值

如果官方下载页提供了 SHA-256 校验值,请计算同一个下载文件的校验值,并完整比对。

在 Windows PowerShell 中:

Get-FileHash -Algorithm SHA256 .\original-download.zip

在 macOS 中:

shasum -a 256 original-download.zip

在 Linux 中:

sha256sum original-download.zip

校验值只有对照可信的期望值才有意义。同一个不明上传者在镜像旁边贴出的哈希,并不能证明它是官方的。

你也可以记录提取出的原始镜像的校验值,用于自己的变更追踪。不要拿提取出的 init_boot.img 的哈希去对比完整 ZIP 公布的校验值,它们是不同的文件。

打补丁之前,把来源链接、下载日期、版本号和提取方法记到笔记里。出问题要恢复的时候,这比一个全是 new-boot-final.img 的文件夹有用得多。

身份核对全部通过后再打补丁

Magisk 文档中的文件修补流程,是在目标设备上对选定的镜像操作,并生成一个单独的补丁输出文件。请把这个输出文件与原始版本以及生成它的 Magisk 版本关联保存。来源 1

补丁打成功,只说明 Magisk 处理了输入文件,并不能证明这个输入文件属于你的手机。

不要用通用的 fastboot boot 命令代替对镜像格式的理解。尤其是,只含 ramdisk 的 init_boot 镜像不能与完整的 boot 镜像互换。来源 2

如果刷入已经失败,请先停在这里,参考Magisk 刷入失败诊断。如果电脑检测不到 Bootloader,请参考fastboot 设备检测故障排查。这两种问题,靠乱试别的固件镜像都解决不了。

不要拿旧镜像临时当回滚用

一份能用的原始镜像很宝贵,但回滚限制依然有效。Google 的出厂镜像页面记录了影响 Pixel 6 系列的防回滚警告,其中包括 2025 年 5 月的 Bootloader 切换。来源 4

不要想当然地认为另一个 A/B 槽位是安全的,旧镜像一定能启动,或者因为包是官方的,降级就没有危害。官方包可以是真品,却仍然不适合当前的 Bootloader 状态。

另外,Magisk 的常规更新要和 Android 的 OTA 更新分开处理。后者有自己的槽位和安装顺序。我们的已 Root 手机 OTA 恢复指南讲的就是那个不同的问题。

常见问题

同机型、同 Android 版本的 boot 镜像能直接用吗?

仅凭这些信息不行。要对上已安装的固件或 ROM 版本以及对应的机型变体。营销用的机型名称和 Android 大版本,并不构成完整的兼容性核对。

固件里有 boot.img 但没有 init_boot.img 怎么办?

不要改名凑数。不同设备的 boot 架构不同。请对照你这款设备仍在维护的说明和压缩包的实际内容来确认。来源 2

提取固件会清除数据吗?

在电脑上提取文件不会刷写手机。解锁、安装或运行出厂刷机脚本是另外的操作。不要仅仅为了取一个镜像就去做这些事。

别人能把他打好补丁的镜像发给我吗?

Magisk 明确提醒不要这样做,即使机型相同也一样。来源 1请自己获取匹配的原始镜像,并在目标手机上打补丁。

找不到完全一致的版本怎么办?

不要挑文件名最接近的。请等待正确的包,或者按有文档记录的设备专属升级方案,让手机和可获得的原始镜像处于同一个受支持的版本。

最关键的检查点

刷入之前,你应该能不靠猜测地说完这句话:

“这是适用于这台设备及其当前安装版本的原始镜像;我能说明为什么这个分区是正确的补丁目标,也知道未经改动的原件保存在何处。”

只要有一项缺失,就先解决再继续。这比指望恢复出厂设置能修好不匹配的 boot 镜像,是更靠谱的恢复思路。

来源与范围

调研核查于 2026 年 9 月 28 日。提取命令遵循所述项目文档中的语法;本文没有为实际测试而下载、提取或刷入任何固件包。

  • 来源 1:Magisk 官方安装说明,包括文件修补、目标设备警告和Samsung专用安装方式。打开来源
  • 来源 2:AOSP“Generic boot partition”,包括出厂搭载与升级设备的架构差异以及 init_boot 的作用。打开来源
  • 来源 3:Magisk 官方更新日志,包括 v30.3 的 vendor_boot 支持。打开来源
  • 来源 4:Google Pixel 设备出厂镜像,包括数据清除和防回滚警告。打开来源
  • 来源 5:Google Pixel 设备完整 OTA 镜像。打开来源
  • 来源 6:ssut/payload-dumper-go,维护者 README,包括提取选项、校验和增量操作的限制。打开来源
  • 来源 7:Magisk v31.0 官方预发布版,2026 年 9 月 4 日。打开来源
  • 来源 8:XDA 上关于 Xiaomi 13 的讨论,涉及准确版本以及 boot/init_boot 提取的困惑。属于历史上的社区经验,并非经过验证的通用流程。打开来源