KernelSU 模式切换避坑:GKI、LKM 与 KMI 内核兼容一次搞懂
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
刷完 KernelSU 重启进不了系统?八成是模式没选对。GKI、LKM 两种模式决定了内核兼容性怎么判,KMI 版本号看错一位就可能变砖。这篇把选模式、拆版本、切换刷入一次讲清。
30 秒判断该用哪个模式
先给结论:普通手机选 LKM(Loadable Kernel Module,可加载内核模块),特殊场景选 GKI(Generic Kernel Image,通用内核镜像),两者都绕不开 KMI(Kernel Module Interface)。
| 设备类型 | 推荐模式 | 一句话原因 |
|---|---|---|
| 普通手机 | LKM 模式 | 不动原内核,升级在管理器里直接点 |
| 模拟器 / WSA / Waydroid | GKI 模式 | 官方文档明确建议,通用镜像直接刷 |
| 三星 KNOX 设备 | GKI 模式 | KNOX 机制下 LKM 不可用 |
| 第三方内核用户 | LKM 模式 | 模块注入你自己的内核,原内核保留 |
拿不准的,往下看两节就能对号入座。
GKI 换内核、LKM 塞模块:两种模式到底改了什么
说白了,区别只有一句话:GKI 把内核镜像整体换掉,LKM 往现有内核里塞一个 .ko 模块。
GKI 是"动刀"派:boot 分区里的原始内核被 KernelSU 的通用内核镜像整个替换,root 逻辑直接编译在内核里。镜像自包含,不依赖厂商固件,KMI 一致就能用;代价是刷错了没有退路。适合三星 KNOX 设备、模拟器这类场景。
LKM 是"微创"派:原内核一个字节都不动,开机时把模块挂进现有内核。它改的是 ramdisk 部分——Android 13 及以上设备要改 init_boot 分区,而 GKI 永远操作 boot 分区。模块还能随时卸载,暂时关 root 不用重刷。适合绝大多数手机用户,尤其是还在刷第三方内核的人。
KMI 版本号拆给你看
内核兼容性只看 KMI 版本:一致就能互刷,不一致就可能直接变砖。GKI 设备的内核版本格式是Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix,其中w.x-zzz-k三段拼起来就是 KMI。拿 官方安装文档里那个经典版本号拆给你看:
5.10.101-android12-9-g30979850fc20 └─w.x─┘ └y┘ └──zzz──┘ └k┘ └───suffix───┘ Version Sub AndroidRelease KmiGeneration 后缀 KMI = w.x-zzz-k → 5.10-android12-9注意 101 这个 SubLevel 根本不在 KMI 里。所以5.10.101-android12-9和5.10.137-android12-9互相兼容,跨 sublevel 更新没问题。
⚠️ 还有第二个坑:安全补丁防回滚。新设备会拒绝比当前安全补丁级别更旧的 boot 镜像——你现在是
2023-11,就刷不了2023-06的镜像,哪怕 KMI 完全一致也可能开不了机。镜像的安全补丁级别不能低于设备当前级别。
从 GKI 切到 LKM 要过三道坎
模式切换没有捷径:管理器里的"直接安装"只在当前镜像上重新打补丁,而两种模式改的位置不同,所以必须回到原始镜像重做。按时间线走三步:
第一步,取原始镜像。从厂商固件包里解出原始 boot(Android 13+ 设备是 init_boot),或者直接用你之前备份的。
第二步,ksud 修补。对原始镜像打 LKM 补丁,ksud 源码在 userspace/ksud/,命令如下:
ksud boot-patch -b stock-boot.img --kmi android13-5.10-b指定原始镜像路径;--kmi手动指定 KMI 版本,给内核命名不规范的设备用。
第三步,fastboot 刷入。把修补好的镜像刷回 boot 分区,重启,完事。
刷完进不了系统?三个高频疑问
变砖基本都出在刷之前,下面三个问题覆盖大多数求助帖。
跨 sublevel 刷内核行不行?KMI 里根本没有 SubLevel 这一位,兼容性只看w.x-zzz-k。 结论:5.10.168-12和5.10.198-12可以互刷,安全补丁级别别降级就行。
三星设备刷完 KNOX 报错怎么办?KNOX 是三星硬件级安全机制,刷 boot 本身就可能触发它,而且 KNOX 设备上 LKM 本来就不可用。 结论:三星只用 GKI 模式;KNOX 状态对保修和功能的具体影响,以官方文档和社区答复为准。
怎么确认自己当前是哪种模式?两种模式在镜像里留痕不同:GKI 连内核都换成了 KernelSU 的,LKM 的内核仍是厂商原版。 结论:先信管理器显示的安装模式;想百分百确认,就比对当前内核版本与 KernelSU 通用镜像的版本号。
操作前 checklist
动手前把这六条过一遍,能避开九成变砖:
- 备份原始 boot 镜像
- 确认 KMI 版本一致
- 安全补丁级别不降级
- 核对内核压缩格式
- 先 fastboot boot 试启动
- 提前读防变砖恢复文档
模式选对、KMI 对齐,刷机只是几分钟的事。卡住了去 KernelSU 官方 Telegram 群或 GitHub Discussions 问一圈。
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考