模块导致无法开机怎么救——ksud 命令行与 Recovery 手动清理
先说一句最要紧的话
请勿刷入来路不明的模块。模块拥有 root 权限,恶意模块可以造成不可逆损坏。开源、经社区验证的模块导致的启动问题,才属于本页「容易恢复」的范围。
第一级:ADB + ksud 管理模块
设备能进系统、能连 ADB 并拿到 root shell 时(或处于 Recovery、可运行 ksud 的环境):
adb shell
su
ksud module list # 列出所有模块
ksud module disable <id> # 禁用问题模块
ksud module uninstall <id> # 或直接卸载
reboot
GKI 设备共用 init,Recovery 模式下 KernelSU 内核模块仍会加载,ksud 的大部分功能可用(如设置 feature)。挂载 metadata 与 data 分区后即可执行上述命令。
第二级:Recovery 手动清理
连 ADB 都进不了系统时,需要第三方 Recovery(如 TWRP)。KernelSU 的模块加载依赖两样东西:内核侧的 init.rc 注入文件与用户态的 ksud 进程。删掉它们,KernelSU 就什么都不加载:
- 进入 Recovery;
- 挂载 data 分区:
mount /data(部分设备需先解密 data,方法因设备而异); - 删除 ksud:
rm -f /data/adb/ksud; - 可选——挂载 metadata 并删除注入文件:
mount /metadata
rm -f /metadata/ksu/modules.rc
rm -f /metadata/watchdog/ksu/modules.rc
reboot。重启后 KernelSU 跳过所有模块加载,进系统后用管理器收拾残局。
第三级:承认现实
以上都无法恢复时,模块可能做了恶意操作或以其他方式损坏了系统。只有两条路:
- 清除数据后完整刷入官方系统;
- 咨询售后。
预防清单
- 新模块一次装一个,出事立刻能锁定;
- 装模块前确认它标注支持你的 KernelSU 版本与架构;
- initrc 类模块(注入 init.rc 的)风险高于普通脚本模块,慎装;
- 手机与电脑各留一份 原厂 boot 备份。