KernelSU 模式切换全攻略:GKI 还是 LKM?看懂 KMI 三步刷对不翻车
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
想给手机装 KernelSU(一个基于 Android 内核的 root 方案),却在 GKI 和 LKM 两个选项前犯难?选错模式、刷错内核,轻则反复折腾,重则开不了机。这篇指南带你一次搞懂 KernelSU 模式切换:先帮你把模式选对,再把 KMI 这个"卡点"讲透,最后给一份三步操作清单和常见翻车解法,照着走基本不会出错。
选型先行:动手之前,先判断你该用哪种模式
先说结论:这两种模式不是"谁更新、谁更好"的关系,而是两种不同的钥匙孔。
- GKI 模式:把设备原来的内核整个换成 KernelSU 提供的通用内核镜像。相当于把原装锁拆了,换一把 KernelSU 的锁——锁芯(内核)都换了,钥匙自然只能配 KernelSU 的。
- LKM 模式:不动原装内核,只是往里面"插"一个可加载的内核模块(LKM,Loadable Kernel Module,即运行时才加载进内核的附加程序)。原装锁还在,只是多了一把能开它的钥匙。
本质区别一句话:GKI 换的是内核本身,LKM 换的是内核里多跑的一个模块。
| 对比维度 | GKI 模式 | LKM 模式 |
|---|---|---|
| 内核命运 | 整个被替换 | 原封不动 |
| 升级体验 | 需要手动重刷镜像 | 管理器里点一下就能装,OTA 后也能装到另一槽 |
| 临时关闭 root | 不行,得刷回原镜像 | 可以,卸载模块甚至不用重启 |
| 三星 KNOX 设备 | 可用 | 不可用 |
| 第三方内核共存 | 不行(内核被它占了) | 可以 |
| 推荐场景 | 模拟器、WSA、Waydroid | 真机手机 |
官方文档 installation.md 里的建议很直接:真机手机优先 LKM,模拟器 / WSA / Waydroid 优先 GKI。如果你的设备属于"少数派"(KNOX、小众魔改机),再回头考虑 GKI。
底层逻辑:KMI 到底卡在哪
模式选好了,为什么还不能随便刷个内核了事?答案在一个叫KMI的东西上。
KMI:钥匙必须对准锁芯规格
KMI(Kernel Module Interface,内核模块接口)你可以理解成锁芯上的规格编号。内核是锁,模块是钥匙,只有规格号一致的钥匙才能插进这把锁。KMI 相同的内核互相兼容;KMI 不同,模块插不进去,刷进去大概率卡在开机画面。
GKI 设备的内核版本号有固定格式:
5.10.101-android12-9-g30979850fc20 └─┬─┘└─┬┘└┬──┘└─┬─┘└┬─┘ w.x SubLevel AndroidRelease KmiGeneration其中w.x-zzz-k三部分拼起来才是 KMI。拿上面这个版本举例,它的 KMI 是5.10-android12-9。
一个最容易踩的误区:sublevel 不算数
注意上面被划掉的SubLevel(比如 101、137)——它不是 KMI 的一部分。也就是说5.10.101-android12-9和5.10.137-android12-9的 KMI 完全相同,模块互相兼容。很多人对着版本号逐位比对,卡在 sublevel 上不敢刷,其实是白担心。
还有一道隐形门槛:防回滚安全补丁
KMI 对了也不一定就能启动。新设备普遍带防回滚机制:boot 镜像里记录着安全补丁级别,比当前设备更旧的补丁级别会被直接拦下。比如你的设备补丁级别是2023-11,你刷进去的内核补丁级别却是2023-06,哪怕 KMI 完全一致,也可能开不了机。所以挑内核时,同等 KMI 下优先选安全补丁级别最新的那份。
动手切换:跟着这份清单走
切换模式说白了就是"拿原始镜像 → 修补 → 刷回设备"。这里主要用到ksud,它是 KernelSU 提供的命令行工具,支持 macOS、Linux、Windows,负责修补镜像;如果你要查 KMI,它自带现成命令(boot-info子命令可以看当前设备 KMI 和支持列表)。
三步清单:
备份原始镜像(保险丝,别省)。先把手头的原始 boot / init_boot 镜像存好。万一刷坏了,刷回这份就能救活设备,这一步的价值怎么强调都不过分。
用 ksud 修补镜像。拿到官方固件里的 boot.img 后,在电脑上执行:
ksud boot-patch -b <boot.img> --kmi android13-5.10-b指定 boot 镜像路径;--kmi用来手动指定 KMI 版本——如果你的设备内核命名不遵循标准 KMI 格式,自动检测会失败,这时就得手动给。刷回设备。进 fastboot 模式刷入修补后的镜像,然后重启。重启后打开管理器确认状态正常,切换才算完成。
两个容易忽略的细节:LKM 模式改的是 ramdisk,Android 13 设备上要修补的是init_boot分区,而 GKI 模式始终操作boot分区;如果你的设备支持fastboot boot,可以先用它临时启动 KernelSU 的内核做验证,不放心就不刷入,避免一次操作直接踩雷。
避坑实录:切换路上最常见的 4 种翻车
坑 1:刷完卡在开机画面
- 现象:刷入新内核后设备循环重启,进不了系统。
- 原因:大概率是 KMI 对不上,有人还误以为要逐位比对版本号——记住 sublevel 不参与 KMI,真正要对的是
w.x-zzz-k三段。 - 解法:刷回第 1 步备份的原始镜像,重新核对版本号里的 KMI 部分再刷。
坑 2:KMI 明明一致,还是开不了机
- 现象:版本比对无误,刷完照样卡启动。
- 原因:防回滚机制在拦你——新内核的安全补丁级别比设备当前级别旧。
- 解法:换一份同 KMI 但安全补丁级别更新的内核镜像再试。
坑 3:想用管理器的"Direct Install"一步切换模式,发现不行
- 现象:GKI 设备想转 LKM,以为管理器里点个"直接安装"就能完成。
- 原因:两种模式在架构上是两种玩法——GKI 的模块直接集成在内核镜像里,LKM 是独立文件运行时动态加载,切换等于换"钥匙孔",必须重新构建并刷写镜像,管理器无法在系统内替你完成。
- 解法:老老实实按上一节的三步清单来:取原始镜像、ksud 修补、fastboot 刷入。
坑 4:刷的镜像压缩格式和原装不一致
- 现象:同 KMI、补丁级别也对,唯独格式不对,设备拒绝启动。
- 原因:boot.img 里的内核有
lz4、gz、不压缩等格式,不同机型默认格式不同(比如小米常用gz或不压缩),格式不匹配等于锁芯对不上钥匙齿形。 - 解法:先用 magiskboot 解开原始 boot 看压缩格式,再选相同格式的镜像。
如果最后手段都用尽了,rescue-from-bootloop.md 里有完整的救砖流程,从按音量下键进安全模式到 Recovery 手动清理,都写清楚了。
决策备忘单
| 你的情况 | 选哪个 | 关键动作 |
|---|---|---|
| 真机手机 | LKM 优先 | 基于官方固件修补,管理器内升级 |
| 模拟器 / WSA / Waydroid | GKI 优先 | 选 KMI 匹配的通用 boot.img 直接刷 |
| 三星 KNOX 设备 | GKI | LKM 不可用,别无选择 |
| 想保留第三方内核 | LKM | 用第三方内核的 boot.img 当"官方固件"去修补 |
| 内核命名不规范 | 都行 | ksud 加--kmi手动指定版本 |
一句话收尾:真机 LKM、虚拟环境 GKI,版本号只认 KMI 三段、忽略 sublevel,补丁级别宁新勿旧。动手前只要做好两件事——核对 KMI、备份原始镜像——剩下的交给 ksud 和 fastboot 就行。祝你一次刷对,不翻车。
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考