KernelSU Android 内核 Root 完整指南:GKI 与 LKM 怎么选、怎么刷、卡砖怎么救
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
KernelSU 是运行在内核层的 Android 内核 Root 方案,在系统最底层直接接管权限判断。本文带新手一次讲清:GKI 与 LKM 怎么选、刷前核对什么、安装怎么做、卡砖怎么自救。
先给答案:设备场景 → 推荐模式速查表
不用先记原理,先对号入座:
| 你的设备属于 | 推荐模式 |
|---|---|
| 绝大多数真机手机、平板 | LKM 模式 |
| 三星 KNOX 等锁机制导致模块无法加载的设备 | GKI 模式 |
| 模拟器、WSA、Waydroid 这类虚拟环境 | GKI 模式 |
| 需要临时 root、随时卸载且不重启的场景 | LKM 模式 |
官方的选型口径很直接:真机手机优先 LKM,模拟器和 Waydroid 这类环境优先 GKI。如果你的设备因为 KNOX 等锁机制加载不了内核模块,那就只剩 GKI 一条路可走。
原理差别:两种模式如何"住进"内核
自 0.9.0 版本起,KernelSU 提供两条完全不同的路线。打个比方:LKM 像在一栋现成房子里加盖一间新房——主体结构原封不动,加盖的房间负责权限判断这些活,不想要了拆掉就行;GKI 则是把旧房推倒、按 KernelSU 的图纸盖一栋新房,想回到老样子只能再拆一次重盖。
| 对比项 | LKM 模式 | GKI 模式 |
|---|---|---|
| root 生效方式 | 原内核保留,KernelSU 以可加载内核模块的形式注入运行 | 整个内核换成 KernelSU 提供的通用内核镜像 |
| 需要修改的分区 | 改 ramdisk(Android 13 及以上设备对应 init_boot 分区) | 改 boot 分区 |
| 典型适用场景 | 绝大多数真机手机 | KNOX 锁定设备、模拟器、WSA、Waydroid |
| 升级成本 | 管理器点一次"直接安装";OTA 后装到第二槽 | 每次都要重新刷入内核镜像 |
| 回滚方式 | 免重启卸载、支持临时 root,不触发 AVB 校验,管理器可恢复原厂镜像 | 常驻内核,卸载必须刷回原厂镜像 |
刷前版本核对三步
大部分翻车都栽在版本没对上,刷之前把这三步逐一过一遍。
第一步:KMI 必须一致
GKI 设备的内核版本是固定格式:Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration,其中w.x-zzz-k三段才构成 KMI。举例:5.10.101-android12-9-g30979850fc20的 KMI 是5.10-android12-9。
由此得到两条结论:
- 中间的 SubLevel(101、137、168 这类数字)不属于 KMI,所以
5.10.168-android13-12换成5.10.198-android13-12是安全的无缝过渡; - KMI 不同的内核互不兼容,刷错轻则无法开机,重则卡死在启动动画。
顺带回答一个高频疑问:系统明明是 Android 13,内核却显示 android12-5.10,这很正常。内核版本跟随的是设备出厂时的 Android 版本,后续系统升级通常不会改它。选镜像时永远以内核版本为准,别看设置页里的 Android 版本号。
第二步:补丁级别只升不降
新设备带防回滚机制:系统安全补丁级别是2023-11,你却刷入2023-06级别的内核镜像,KMI 再一致也可能直接卡砖。所以同 KMI 下优先选安全补丁级别最新的那个镜像。
第三步:压缩格式必须与原厂 boot 一致
同一 KMI 和补丁级别通常提供三种压缩格式的 boot 镜像:lz4、gz、未压缩。格式必须与你原 boot.img 一致,否则刷完无法启动。小米设备常见gz或未压缩,Pixel 常见lz4_legacy(这类机型通常要手动修补,见下文 GKI 流程)。
LKM 模式安装教程:真机用户按这个顺序来
- 先备份原厂 boot(或 init_boot)镜像——这是唯一的后悔药,没备份就不要动手。
- 从官方固件包解出 boot 镜像;设备若支持
fastboot boot,更省事的路线是先用 KernelSU 的 GKI 内核临时启动一次,装好管理器后全程在应用里操作。 - 管理器中的安装入口三选一:
- 选择文件:把官方 boot 镜像交给管理器自动修补,产出的文件再自己刷入;
- 直接安装:已 root 时最快捷,修补、刷入全自动完成,也是日常升级 KernelSU 的主要方式;
- 安装到非活跃槽:A/B 设备 OTA 之后直接写另一个槽,重启即切换。
- 刷入后重启,root 生效。"直接安装"时管理器会自动备份当前原厂镜像,之后走"卸载 → 恢复原厂镜像"即可一键回滚。
不想用图形界面?发布包自带的跨平台ksud工具一条命令完成修补,之后自行用 fastboot 刷入即可:
ksud boot-patch -b <boot.img> --kmi <你的KMI>
GKI 模式安装流程:整块替换内核
- 按核对出的 KMI 与安全补丁级别下载对应的通用 boot 镜像,压缩格式确认与原 boot 一致。
- 进 fastboot 把 boot 分区刷掉再重启,命令就一条:
fastboot flash boot boot.img(完成后执行fastboot reboot)
- 有 TWRP 的话还有 AnyKernel3 路线:下载与设备 KMI 匹配的 ZIP,进 Recovery 安装,后续升级同样适用。
Pixel 等特殊机型单独说:lz4_legacy格式的设备直接刷官方镜像可能失败,此时要用 magiskboot 解开原厂 boot、把内核替换为 KernelSU 的Image文件、重新打包后再刷入,官方安装文档里给出了完整命令序列,照着执行即可。
模块系统:挂载功能靠元模块支撑
新手最容易忽略的隐性坑:刚装好 KernelSU 时,普通模块的挂载功能是不工作的。
KernelSU 采用 metamodule(元模块)架构,把"模块怎么挂载"这类基础设施从核心剥离出去,交给可插拔的元模块实现:
- 只跑脚本、sepolicy、system.prop 的模块:不需要元模块,开箱即用;
- 要改
/system等分区的模块:必须先装一个元模块,官方参考实现是meta-overlayfs(基于 overlayfs 实现无感挂载),安装方式与普通模块完全相同。
注意元模块同一时间只能装一个,卸载它会导致所有模块停止挂载,架构细节见元模块文档。
和 Magisk 的关系一句话讲清:两者模块目录同为/data/adb/modules,脚本与 sepolicy 语义一致;但 KernelSU 不支持.replace文件(改用REMOVE/REPLACE变量或mknod占位替代),且两边模块系统不能同时启用,详见与 Magisk 的差异说明。
卡砖自救流程:两个高发场景
场景 A:刚刷完就黑屏开不了机
只要动过的只是 boot 分区,理论上都能救。按"先定位 → 再处理"走:
- 核对镜像压缩格式是否与原 boot 一致——
gz设备刷了lz4是最经典的翻车姿势; - 核对 KMI 与安全补丁级别是否倒退;
- 确认设备是否要求关闭 AVB 验证(通常需要清除数据)。
定位到原因后,用 fastboot 把备份的原厂 boot 刷回去即恢复;没备份的话,从官方固件包或同机型用户处获取一份。
场景 B:装了某个模块后系统起不来
模块是卡砖的重灾区,KernelSU 内建两级救援机制:
- 安全模式:开机动画出现后、动画结束前快速按下音量下键 3 次(连按三次,不是长按)。进入后所有模块被禁用,可进管理器卸载问题模块。MIUI/HyperOS 等系统长按音量下进入系统自带安全模式时,KernelSU 也会同步进入安全模式。
- 手动清理:安全模式无效时,通过 ADB 执行
ksud module disable <id>禁用问题模块;彻底进不去系统就进 TWRP 挂载 data 分区删除/data/adb/ksud,模块将不再被加载,重启回系统内再处理。
分场景的完整排查路径见卡砖救援文档。
⚠️特别提醒:不要安装来路不明的模块——模块拥有 root 权限,足以造成不可逆的破坏。上面所有救援手段都建立在"模块只是写坏了启动逻辑"的前提上,被恶意模块破坏的系统只能清数据重装官方系统。
动手前检查清单与升级节奏
升级节奏其实很简单:LKM 用户在管理器里点一次"直接安装"就算升级完成;GKI 用户每次内核版本变动时,重新核对 KMI 与补丁级别,再刷入对应镜像。
把下面这份清单存下来,每次动手前过一遍:
- 原厂 boot / init_boot 镜像已备份
- KMI 三要素(
w.x-zzz-k)与目标镜像一致 - 目标镜像安全补丁级别不低于当前系统
- 镜像压缩格式与原 boot 一致
- 需要改
/system的模块已装好 meta-overlayfs 等元模块
【免费下载链接】KernelSUA Kernel based root solution for Android项目地址: https://gitcode.com/GitHub_Trending/ke/KernelSU
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考