KernelSU 模式切换完整指南:GKI 与 LKM 怎么选、KMI 兼容性如何避坑
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
第一次给手机 root,装好 KernelSU 管理器却看到 GKI 模式和 LKM 模式两条路:两者到底差在哪?装错了能不能换?切换时卡开机循环怎么办?本文把这两条路拆开讲清楚——先自查你在哪条路上,再按设备选路,最后给出模式切换的标准步骤和翻车急救方法。
如何自查当前设备是 GKI 还是 LKM
先看内核版本字符串。KernelSU 管理器的首页会直接显示当前内核版本,电脑上也可以通过 adb 查看。
GKI 设备的内核版本遵循固定格式,例如:
5.10.101-android12-9-g30979850fc20
规则是「大版本.小版本.sublevel-Android代号-KMI代号-后缀」,其中5.10-android12-9就是 KMI。可以把它理解成内核模块的「通行证」:通行证编号与内核一致,模块才能进去工作。
两个判断特征:
- 内核版本和原厂一致,KernelSU 只是往上面加载了一个模块,属于 LKM 模式;
- 内核镜像已被换成 KernelSU 的通用内核(KMI 相同),属于 GKI 模式。
一句话记忆:LKM 不动内核,GKI 换内核。
GKI 模式与 LKM 模式的区别:换引擎还是插外接件
GKI 模式相当于「整体换引擎」:把设备原内核镜像整体替换成 KernelSU 的通用内核,root 能力从开机起就长在内核里。
LKM 模式相当于「插个外接件」:原内核原封不动,运行时注入一个可加载内核模块(LKM),root 能力叠加在原内核之上。
| 对比项 | GKI 模式 | LKM 模式 |
|---|---|---|
| 作用对象 | 替换原内核镜像 | 保留原内核、加载模块 |
| 原内核 | 被替换 | 保留 |
| 典型场景 | KNOX 锁定的三星、模拟器、WSA、Waydroid | 常规实体机型、配合第三方内核 |
| 升级体验 | 管理器直接安装 | 管理器直接安装,OTA 后可装到另一个分区 |
| 临时取消 root | 需要重刷 | 卸载模块即停用,重启恢复 |
| 操作分区 | 永远是 boot | Android 13 及以上修补 init_boot |
为什么 KMI 决定兼容性?模块与内核靠 KMI 约定接口,编号一致才能配合工作。版本号里的 sublevel 数字(如 101、137、198)不属于 KMI,5.10.101-android12-9与5.10.137-android12-9的 KMI 相同,互相兼容,跨 sublevel 更新也没有问题。
常见坑:内核版本不等于 Android 系统版本,Android 13 的设备可能仍是
android12-5.10内核。刷机选镜像时永远以内核版本为准。
不同设备类型的选路速查表
| 设备类型 | 推荐模式 | 理由 |
|---|---|---|
| 实体新机型 | LKM | 保留原内核,管理器内一键升级,不动 boot 分区 |
| 旧机型(非 GKI 内核) | 两者都不适用,自行编译 | 通用镜像只覆盖 GKI 内核,非 GKI 内核需自行编译集成 |
| KNOX 锁定的三星设备 | GKI | LKM 在这类设备上无法工作 |
| 模拟器 / WSA / Waydroid | GKI | 没有可修补的官方固件,直接用通用镜像 |
一句话总结:实体机优先 LKM,虚拟环境优先 GKI,KNOX 锁定设备只能走 GKI。
从 GKI 切到 LKM 的正确步骤
切换模式不能在管理器里点一下完成,需要「从原始镜像重新构建」。反向切换(LKM 换回 GKI)步骤相同:
- 获取原始镜像:从官方固件包中提取设备出厂的 boot(或 init_boot)镜像;安装前备份过的话直接取备份。
- 修补原始镜像:用 ksud 工具(支持 macOS、Linux、Windows),最常见的用法是:
ksud boot-patch -b boot.img --kmi android12-5.10设备内核名不遵循 KMI 规范时,用--kmi手动指定。
- fastboot 刷入:设备进入 bootloader,把修补后的镜像刷入对应分区。注意 LKM 模式在 Android 13+ 设备上修补的是
init_boot,GKI 模式操作的是boot。 - 重启验证:正常开机后打开管理器确认当前模式。
⚠️ 两个最高频的坑:
- 安全补丁级别的防回滚:较新的设备会拒绝安全补丁更旧的 boot 镜像,即使 KMI 一致,补丁级别低于设备当前值(比如设备是 2023-11、镜像只有 2023-06)也开不了机。优先选补丁级别更新的镜像。
- 压缩格式不匹配:boot 镜像的内核压缩格式(lz4、gz 等)必须与原镜像一致,否则刷完无法开机。某种格式能正常启动过,就记住它。
常见坑:为什么管理器的「直接安装」不能切换模式?它只负责同一条路上的升级。GKI 是换内核、LKM 是注模块,架构层面不同,切换必须走「修补原始镜像 + 刷入」的流程。
卡开机循环的急救包:四条路救回设备
第一路:刷回原始镜像。最稳妥的路径,用 fastboot 把之前备份的原始 boot 镜像刷回去即可恢复出厂状态——这也是安装指南反复强调先备份的原因。
第二路:进入安全模式。若问题出在模块而非内核,在开机画面出现后连续按音量下键三次(按一次松一次,不是长按),触发 KernelSU 内置安全模式,所有模块会被禁用;部分系统(如 MIUI/HyperOS)长按音量下键进入系统安全模式后,KernelSU 也会自动停用模块。
第三路:Recovery 里处理。系统进不去、adb 也连不上时,用第三方 Recovery(如 TWRP)挂载 data 分区,删除/data/adb/ksud,重启后 KernelSU 不再加载任何模块。详细操作见砖机救援文档。
第四路:社区求助。以上都失败时,整理好设备信息到官方 Telegram 群提问。❗ 另外提醒:不要安装来源不明的模块,模块持有 root 权限,可能造成不可逆损坏,更多疑问可查常见问题。
写在最后:记住三句话
- KMI 是兼容性通行证:大版本.小版本-Android代号-KMI代号 一致即可,sublevel 数字无关紧要。
- 切换模式 = 回到原始镜像重新构建,管理器里点不出来。
- 实体机选 LKM、虚拟环境选 GKI、KNOX 锁定设备只能 GKI。
带走清单:
- 记下当前内核版本与提取出的 KMI
- 备份原始 boot / init_boot 镜像
- 确认设备安全补丁级别与内核压缩格式
- 卡开机循环时:先刷回原始镜像,再试安全模式
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考