BOOT
一、BOOT历史
1.1 (init_)boot分区简介
boot.img:
- 内含:
- Ramdisk # 内核-安卓13.5.x及以后移到init_boot分区
- GKI内核(Kernel)
- 或
Recover(安卓11之前)
# 安卓11以后recovery分区移到boot分区里面
- adb命令:
bootloader模式
- ``手机关机,电源键+音量下键
- ``adb reboot bootloader
- 内含:
init_boot.img:
- 分区内涵:
- Ramdisk # 内核-安卓13.5.x及以后,归入进来
- adb命令:
fastbootd模式
- ``adb reboot fastboot
- 分区内涵:
#补充 内核版本-安卓13.5.x.x后把Ramdisk放入init_boot分区
#补充 Ramdisk:存放设备启动时所需的临时文件,帮助设备加载系统。
- 出场内核-安卓11及以上的手机都采用VAB分区,boot分区分为boot_a、boot_b分区
#补充
1.2 Magisk、KSU、Apatch修补原理
Magisk、KSU、Apatch修补(init_)boot.img:
Magisk
- Magisk修补Ramdisk
#补充 在ramdisk中注入bootstrap进程,它会在启动时初始化magisk环境,随后拉起init进程,手机启动
#补充 内核版本-安卓13.5.x.x以上的机型,ramdisk移到init_boot分区。KSU
- KernelSU(
GKI
):使用通用内核镜像(GKI)替换掉设备原有的内核。 - KernelSU(
LVM
):使用可加载内核模块(LKM)的方式加载到设备内核中,不会替换掉设备原有的内核。向ramdisk分区添加可加载内核,其他安装过程和magisk安装方法一致。 - #补充 内核版本-安卓13.5.x.x以上的机型,ramdisk移到init_boot分区。
#补充 ==内核版本5.0以上支持GKI模式,可以安装kernelSU(GKI)==
#补充==内核版本5.10以上,软件版本0.9.0及以上,支持kernelSU(LKM)==- KernelSU(
Apatch
- Apatch替换官方boot.img中GKI内核的kernel文件,然后再打包刷入boot分区
#补充==Apatch 支持内核版本5.x以上的手机,4.x仅支持一部分,刷入前提前确认
#注意 KernelSU(GKI):一直操作boot分区
Apatch:所有手机kernel内核一直在boot分区,所以apatch修补boot分区
KernelSU(LKM):操作ramdisk,和Magisk一样的安装方式,但实现机制不同。
二、BOOT提取
## 1.1 刷机包
- 解压线刷包,找到(init_)boot.img,拷贝保存。
#注意官方(init_)boot.img保存好,最高优先级
#补充 线刷包:解压后,在images文件夹找到(init_)boot.img
卡刷包:解压后,找到payload.bin,通过[[payload提取boot.img|Payload]]或MT管理器获取boot.img或init_boot,img
1.2 SCENE(需ROOT)
- 备份还原–>备份分区镜像,选择要备份的槽位对应的
boot
分区或init_boot
分区
1.3 爱玩机工具箱(需ROOT)
- 导航–>刷机工具箱–>镜像分区管理,选择要备份的槽位对应的
boot
分区或init_boot
分区
1.4 kernel flash(需ROOT)
- 查看当前要备份的槽位对应的
boot
分区或init_boot
分区,点击备份。
1.5 TWRP
- 重启到REC界面,备份当前槽位对应的
boot
分区或init_boot
分区 - 修改备份文件名为
boot
.img或init_boot
.img
1.6 在线提取
三、BOOT刷入
2.1 搞机助手&ADB工具
- 修改后的boot或init_boot文件,改为init_boot.img或boot.img,不然
可能
提示错误init_boot分区: fastboot flash init_boot boot文件名
boot分区: fastboot flash boot boot文件名
其他命令:
fastboot flash boot_ab boot文件名 #该命令需要在fastbootd模式下
fastboot flash boot_a boot文件名
fastboot flash boot_b boot文件名
#补充 电脑fastboot刷入时会自动识别当前分区,刷入其他分区需自行输入命令。
2.2 TWRP
- 修改后的boot或init_boot文件,改为init_boot.img或boot.img,不然
可能
提示错误init_boot分区: fastboot flash init_boot init_boot文件名
boot分区: fastboot flash boot boot文件名
其他命令:
fastboot flash boot_ab boot文件名 #该命令需要在fastbootd模式下
fastboot flash boot_a boot文件名
fastboot flash boot_b boot文件名
#补充 电脑fastboot刷入时会自动识别当前分区,刷入其他分区需自行输入命令。
2.3 kernel flasher(需ROOT)
- 获取root:修改后的boot或init_boot文件直接刷入要刷入的槽位的分区
#补充 区分刷入的A/B槽位
2.4 SCENE(需ROOT)
- 备份还原–>刷入分区镜像,选择boot或init_boot文件,刷入对应的boot或init_boot分区
#补充 区分刷入的A/B槽位
2.5 爱玩机工具箱(需ROOT)
- 导航–>刷机工具箱–>镜像分区管理,选择boot或init_boot文件,刷入对应的boot或init_boot分区
#补充 区分刷入的A/B槽位
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 future!