KernelSU 安装实战:一条决策树选对 LKM/GKI,刷写引导镜像不翻车
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
KernelSU 是一种内核级的 Android Root 方案,它不动系统分区,而是对 boot / init_boot 引导镜像动刀。本文带你走完整条安装链路:判断设备走哪条路、选对运行模式、四条路径任选其一完成刷写。读完你将:
- 独立完成首次内核 Root,不再对着教程懵圈
- 掌握
ksud boot-patch与 magiskboot 两套补丁手段 - 吃透备份与还原机制,刷坏了也能安全退路
判断你的设备走哪条路
先装好 KernelSU Manager 打开看提示,按提示分叉:
- 显示「非対応(Unsupported)」→ 你的设备不在官方支持范围,需要自行编译带 KernelSU 的内核;官方永远不会给你现成的 boot.img,此类设备可参考仓库中的非官方支持文档尝试自建内核。
- 显示「未インストール(Not installed)」→ 设备受官方支持,继续往下走。
源码印证:ksud 在自动探测分区前会解析内核版本,硬性要求 5.10 及以上(ensure_gki_kernel()逻辑),不满足直接报only support GKI kernel。换句话说,"支持"的本质就是设备属于 GKI 架构、内核版本够新。
⚠️先别动手,先备份。刷写任何分区之前,把原厂 boot.img 完整拷出来(
adb pull或从官方固件提取)。万一 bootloop,你随时能用 fastboot 把原厂镜像刷回去救机;如果条件允许,把设备数据也一并备份。
选模式:LKM 还是 GKI?
进入操作前只需搞懂两个概念。
KMI(Kernel Module Interface)≈ 内核的身份证号。GKI 设备内核版本号形如5.10.101-android12-9-g30979850fc20,其中5.10-android12-9就是 KMI。注意子版本号(101 / 137)不算身份证的一部分,两个不同小版本的同 KMI 内核可以互换。刷错 KMI 基本等于 bootloop。
安全补丁级别防回滚。新设备会拒绝安全补丁级别过旧的引导镜像:设备是2023-11,你刷入2023-06的镜像,哪怕 KMI 对得上也可能起不来。另外记住,内核版本对应的是设备出厂时的 Android 版本,系统升级后内核号一般不变,所以一切以uname -r为准,别拿 Android 版本号对号入座。
两种运行模式的核心差异一张表看清:
| 维度 | LKM(模块模式) | GKI(换核模式) |
|---|---|---|
| 是否替换原厂内核 | 否,只往 ramdisk 注入kernelsu.ko模块 | 是,用通用内核镜像替换原厂内核 |
| 适用设备 | 手机优先 | 模拟器、WSA、Waydroid 优先 |
| 升级与 OTA | 管理器里直接装,OTA 后装到另一分区即可,免刷写 | 升级需重新刷引导镜像 |
| 特殊场景 | 可临时加载/卸载 Root,不动 boot 分区、不触发 AVB、不怕变砖 | KNOX 设备(如三星)LKM 不可用,GKI 反而通吃 |
| 对官方固件依赖 | 需在原厂固件基础上打补丁 | 不依赖官方固件,KMI 对上就能用 |
如果你用的是手机,就选LKM;如果是模拟器 / WSA / Waydroid,就选GKI;三星等 KNOX 设备只能走 GKI。
⚡ 执行安装:四条路径任选其一
四条路径本质只干一件事:要么把原厂内核换成 KernelSU 的,要么把 KernelSU 的模块塞进 ramdisk。选哪条取决于你手上有什么(Root?电脑?TWRP?)。
路径 A:管理器一键流(已 Root / 支持 fastboot boot)
适用前提:设备已 Root(Magisk 或旧版 KernelSU),或设备支持fastboot boot。
操作步骤:
- 无 Root 时,先用 KernelSU Release 里的通用 boot 镜像临时启动,拿一个"临时 Root":
fastboot boot <kernelsu_boot.img>- 趁临时 Root 安装 Manager,重启后会丢失;重启后正式刷入补丁镜像(见路径 B/C/D 任一)再装 Manager。
- 已有 Root 时,点 Manager 右上角安装图标,三选一:
- 选择文件并补丁:无 Root 时用,选中固件自动补丁后自行刷入;
- 直接安装:自动取设备信息、自动备份原厂镜像、自动补丁并刷写,这也是升级 KernelSU 的主力姿势;
- 安装到非活动分区:A/B 设备 OTA 后专用,装完重启即切换生效。
验证:重启后 Manager 顶部显示 Root 已授权。回滚:走文末"3 步刷回原厂镜像"。
💡 分区不用你操心:ksud 会自动判断——Android 13 起 LKM 打
init_boot,GKI 恒定打boot,android12-开头的 KMI 无 init_boot 则回落到boot。
路径 B:ksud boot-patch 命令行(参数速查)
适用前提:有电脑(macOS / Linux / Windows),手上有一份原厂 boot.img;ksud 从 Release 页下载。
ksud boot-patch -b boot.img --kmi android13-5.10参数速查:
| 参数 | 作用 |
|---|---|
-b, --boot | 引导镜像路径;省略时(Android 端)自动探测分区 |
-k, --kernel | 换核时指定内核文件(GKI 路径用) |
-m, --module | 换成你自己的 LKM 模块 |
--kmi | 显式指定 KMI,厂商改过内核名时救场 |
-f, --flash/-o, --out | 补丁后直接写分区 / 指定输出目录 |
执行流程一句话概括:校验 boot 头版本(≥3)→ 解析 KMI(优先级:--kmi> 当前内核 > vendor 模块 vermagic > boot 镜像 > 内核文件)→ 解包 ramdisk,init改名init.real,写入ksuinit和kernelsu.ko→ 重新打包;遇到 Magisk 已打补丁的镜像会直接拒单。产物是kernelsu_patched_YYYYMMDD_HHMMSS.img,先fastboot boot试启动,没问题再正式 flash。
验证:adb reboot后 Manager 显示已安装。回滚:刷回备份的 boot.img。全部逻辑可对照 ksud 补丁实现 核实。
路径 C:magiskboot 手动换核(Pixel 等特殊设备)
适用前提:boot.img 压缩格式非主流(典型如 Pixel 的lz4_legacy),直接刷通用 boot.img 会起不来,必须手动把内核"抠出来换掉"。
准备工作:原厂 boot.img 一份(可用 payload-dumper 从 OTA 包提取)+ 从 AnyKernel3 包中取出的Image(即 KernelSU 内核)。Android 端(官方 magiskboot):
adb push magiskboot boot.img Image /data/local/tmp/ adb shell cd /data/local/tmp && chmod +x magiskboot ./magiskboot unpack boot.img mv -f Image kernel ./magiskboot repack boot.imgPC 端流程相同,只是把unpack / mv / repack三步在电脑上执行:
chmod +x magiskboot ./magiskboot unpack boot.img && mv -f Image kernel && ./magiskboot repack boot.img💡 官方 magiskboot 只能在 Android 上跑(Linux 例外,可用官方版);Windows / macOS 请找社区构建的 magiskboot_build。产出
new-boot.img后用 fastboot 刷入,先试fastboot boot再正式写。
验证 / 回滚:与路径 B 一致。
路径 D:AnyKernel3 免电脑升级 KernelSU
适用前提:设备已装 TWRP,或用 Kernel Flasher 等内核管理 App 且已 Root;典型场景是版本升级。
- 从 Release 页下载与内核匹配的
AnyKernel3-android12-5.10.66_yyyy-MM.zip; - TWRP 里直接安装,或:
adb sideload AnyKernel3-android12-5.10.66_yyyy-MM.zip验证 / 回滚:重启进系统看 Manager;有问题刷回原厂 boot.img 即可。
🛟 排障与还原
3 步 fastboot 刷回原厂镜像
别慌,只要备份在,三步退路:
adb reboot bootloader fastboot flash boot <stock_boot.img> fastboot reboot完整卸载 KernelSU
已 Root 时直接跑ksud boot-restore --flash。源码印证:restore()先读补丁镜像里记录的stock_image.sha1,命中/data/adb/ksu/ksu_backup_$SHA1备份就直接刷回;没有备份则删掉kernelsu.ko、把init.real换回init重新打包。备份机制本身:打补丁时原厂镜像的 SHA1 写入 ramdisk,备份文件存于/data/adb/ksu/ksu_backup_$SHA1,路径常量见 defs.rs。
常见报错速查
| 报错 | 原因 | 解法 |
|---|---|---|
only support GKI kernel | 内核 < 5.10,非 GKI 设备 | 该走自建内核路线,或确认刷错设备 |
bootimage version … is not supported! | boot 头版本 < 3 | 改走路径 C 手动换核 |
Cannot work with Magisk patched image | 镜像已被 Magisk 打补丁 | 拿干净原厂 boot.img 重来 |
| KMI 自动识别失败 | 厂商改了内核版本命名 | --kmi显式指定 |
进阶:模块与 Metamodule
装完 Root 只是开始。想用修改/system文件的模块,必须先装 metamodule——它是模块系统的基础设施层,接管普通模块的挂载与安装逻辑;官方参考实现meta-overlayfs走内核 overlayfs,做到真正 systemless,覆盖 system / vendor / product 等多分区。只跑脚本、sepolicy、system.prop 的模块则不需要。详见 Metamodule 官方指南。
三条保命铁律,贴在你的操作清单最上面:先备份原厂 boot.img、严格匹配 KMI 再谈刷写、下镜像时瞄一眼安全补丁级别。
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考