修补 Boot 镜像
获取到原版 boot.img 文件后,下一步就是使用 Magisk 应用对其进行修补。修补后的文件将包含 Magisk 的核心组件。
修补原理
Magisk 通过以下方式修补 boot.img:
- 解包原版 boot.img:提取内核和 ramdisk
- 注入 Magisk 组件:添加 Magisk 二进制文件和脚本
- 修改 init 脚本:确保 Magisk 在系统启动时运行
- 重新打包:生成修补后的 boot.img
准备工作
下载 Magisk 应用
官方下载:
- GitHub:Magisk Releases
- 选择最新的
Magisk-vXX.X.apk文件
镜像下载:
传输 boot.img 到手机
- 连接手机到电脑
- 选择文件传输模式
- 将 boot.img 复制到手机的 Download 目录
# 也可以使用 ADB 传输
adb push boot.img /sdcard/Download/安装 Magisk 应用
方法一:直接安装
- 在手机上找到下载的
Magisk-vXX.X.apk - 点击安装(可能需要允许未知来源应用)
- 安装完成后打开应用
方法二:ADB 安装
# 通过 ADB 安装
adb install Magisk-vXX.X.apk首次运行
打开 Magisk 应用后,您会看到:
- Magisk 版本:显示当前未安装
- 安装按钮:用于安装 Magisk
修补过程
步骤 1:选择安装方法
- 打开 Magisk 应用
- 点击 "安装" 按钮
- 选择 "选择并修补一个文件"
步骤 2:选择 boot.img 文件
- 在文件选择器中导航到
Download目录 - 选择之前复制的
boot.img文件 - 点击确认
步骤 3:开始修补
- 确认文件路径正确
- 点击 "开始" 按钮
- 等待修补过程完成
修补过程详解
修补过程中,Magisk 会显示详细的日志信息:
- Device platform: arm64
- Parsing boot image: [/sdcard/Download/boot.img]
- Unpacking boot image
- Checking ramdisk status
- Stock boot image detected
- Patching ramdisk
- Repacking boot image
- Output file is written to [/sdcard/Download/magisk_patched-25200_xxxxx.img]
- All done!修补完成
查找修补后的文件
修补完成后,在 Download 目录中会生成一个新文件:
- 文件名格式:
magisk_patched-[版本号]_[随机字符].img - 例如:
magisk_patched-25200_abcde.img
复制到电脑
将修补后的文件复制到电脑的 ADB/Fastboot 工具目录:
# 使用 ADB 复制
adb pull /sdcard/Download/magisk_patched-25200_xxxxx.img
# 或通过文件管理器手动复制高级修补选项
修补设置
在修补前,您可以调整一些高级设置:
- 点击 Magisk 应用右上角的 设置 图标
- 在 "Magisk" 部分可以看到以下选项:
保留强制加密
- 默认:关闭
- 作用:保持 /data 分区加密状态
- 建议:大多数情况下保持关闭
保留 AVB 2.0/dm-verity
- 默认:关闭
- 作用:保留 Android 验证启动
- 建议:如果设备支持且需要通过 SafetyNet,可以开启
修补 vbmeta 在 boot 镜像中
- 默认:自动检测
- 作用:处理 vbmeta 信息
- 建议:保持默认设置
Recovery 模式
- 默认:关闭
- 作用:将 Magisk 安装到 recovery 分区
- 建议:仅在特殊情况下使用
特殊设备配置
三星设备
三星设备可能需要特殊处理:
- 检查 Knox 状态
- 可能需要修补 AP 文件而不是 boot.img
- 注意 ODIN 刷入方式
华为设备
华为设备的特殊注意事项:
- 可能需要修补 ramdisk.img
- 注意 EMUI 版本兼容性
- 某些版本可能无法修补
验证修补结果
检查修补日志
修补完成后,检查日志中是否有错误信息:
- ✅ "All done!":修补成功
- ❌ "ERROR" 或异常退出:修补失败
文件完整性检查
# 检查修补后文件大小
ls -lh magisk_patched-*.img
# 文件大小应该与原版 boot.img 相近
# 通常在 16MB - 64MB 之间使用 magiskboot 验证
如果有 magiskboot 工具:
# 解包验证
./magiskboot unpack magisk_patched-*.img
# 检查是否包含 Magisk 组件
ls -la
# 应该看到 ramdisk.cpio 等文件常见问题解决
修补失败
问题:修补过程中出现错误
可能原因:
- boot.img 文件损坏
- 设备架构不匹配
- Magisk 版本不兼容
解决方案:
- 重新下载 boot.img
- 尝试不同版本的 Magisk
- 检查设备兼容性
文件无法选择
问题:无法在文件选择器中找到 boot.img
解决方案:
- 确认文件已正确复制到手机
- 检查文件权限
- 尝试将文件放在不同目录
修补后文件异常
问题:修补后的文件大小异常
解决方案:
- 重新修补
- 检查存储空间是否充足
- 尝试在不同目录进行修补
修补后的注意事项
文件命名
为了方便管理,建议重命名修补后的文件:
# 重命名为更容易识别的名称
mv magisk_patched-25200_xxxxx.img magisk_patched_boot.img备份管理
保留以下文件的备份:
- 原版 boot.img
- 修补后的 magisk_patched.img
- 设备和版本信息记录
版本记录
记录修补信息以备后用:
# 创建信息文件
echo "Original boot.img: boot.img" > patch_info.txt
echo "Patched file: magisk_patched_boot.img" >> patch_info.txt
echo "Magisk version: 25.2" >> patch_info.txt
echo "Device: $(adb shell getprop ro.product.model)" >> patch_info.txt
echo "Build: $(adb shell getprop ro.build.display.id)" >> patch_info.txt
echo "Patch date: $(date)" >> patch_info.txt下一步
修补完成后,您可以继续进行 刷入 Magisk。
小贴士
- 修补过程通常需要 1-3 分钟
- 确保手机电量充足,避免修补过程中断
- 如果修补失败,可以尝试重启手机后再次尝试
- 不同版本的 Magisk 可能有不同的界面,但基本流程相同
