小米 13 使用 KernelSU 获取 ROOT
最近新买了小米 13,上周解锁了,最近看到网上比较火的 KernelSU,就打算搞上折腾一下。
博客里难得一见的老本行文章,关于搞机的。
这个教程真的太简单了,我都在怀疑有没有写这篇文章的必要性。
视频教程
准备工作
需要的基本素质
开始之前,一定要对刷机有一定了解,知道一些原理,知道怎么救砖,明确知道自己的目的是啥,否则请直接关掉本文,不要继续看了。
此外,还需要一定的阅读理解能力,我说解压你就一定要解压,我说放在哪里你就放在哪里,不按我说的做也可以,前提是你理解自己在做什么,按自己的步骤做,需要把命令转换为自己的。
解锁 Bootloader
如已解锁,请跳过此步骤。
详情请看 申请解锁
获得原版 boot.img
用于恢复,非必须,但建议提前准备好,方便救砖,有多种方法可以获得,这里以从官方 ROM 提取为例。
- 从 MIUI 官方 ROM 仓库 下载和手机当前版本一致的刷机包;
- 下载 Payload Dumper 工具,这里推荐使用 payload-dumper-go;
- 下载好两个工具后解压,然后将 payload-dumper-go 复制到刷机包解压后的目录下,和
payload.bin
在同级。 - 在目录下打开 powershell 或者 cmd,通常情况下是按住
shift
在文件夹空白处点击鼠标右键,选择在终端打开
或者在powershell打开
,然后执行.\payload-dumper-go.exe -partitions boot payload.bin
,不出意外就可以将boot.img
提取出来。
ADB 环境
- 安装 adb 和 bootloader 驱动,可以在这里下载,在前面的页面下载 zip 包,解压右键点击
android_winusb.inf
安装。如果上面的链接打不来,就自己去想办法吧,可以尝试使用本文提供的资料,也可以先跳过此步骤,如果遇到后面说的问题,再来解决这一步。 - 下载 Android SDK 平台工具软件包,如果上面的链接打不来,就自己去想办法吧,可以尝试使用本文提供的资料。下载后解压备用。
- 手机上开启
开发者选项
和ADB 调试
,这个就自己去百度吧,我不教了。 - USB 连接手机,测试一下,在
platform-tools
目录下打开终端,方法可参考上一步,执行命令.\adb.exe devices
,注意连接手机后,提示 ADB 授权,一定不能点拒绝,不要等倒计时过了还在那傻看着不知道点啥。 - 如果结果如下图,证明 adb 连接是正常的,如果不正常,建议检查驱动和 adb 授权,简单说一下驱动问题,打开设备管理器,如果插上手机出现未知设备,拔掉手机后消失,说明驱动有问题,按照第一步所说安装驱动,驱动问题我实在懒得讲了,自己百度一下怎么装驱动吧。
下载 KernelSU
到 KernelSU仓库的 releases 下,下载 manager
和 kernel
。
下载好后解压出来,安装到手机上,可以拷贝过去安装,也可以使用 adb 命令安装 .\adb.exe install apk路径
,提示,ADB 安装应用,输入 .\adb.exe install
后可以直接把文件拖进去,会自动转化路径。
然后是下载内核,首选看好手机上的内核版本,比如我的就是 5.15.41
,就要找 5.15 版本的内核,同样应该尽量选择合并进主线分支的。
内核下载后解压备用。
安装步骤
安装 KernelSU Manager
前面的步骤已经提到,不再赘述,安装后打开应该如下图所示,后续版本更新,界面可能会发生变化。
![未ROOT](./img/Screenshot_2023-01-20-14-52-06-391_me.weishu.kernelsu.jpg =x600)
尝试使用 KernelSU 提供的内核引导
先启动到 bootloader,可以关机后按住音量下开机,也可以直接使用 adb 命令 .\adb.exe reboot bootloader
。
手机连接电脑后,再执行 .\fastboot.exe devices
检查设备连接情况。
如果提示未找到设备,请检查 USB 连接,确认无误后,再检查驱动情况,确保已安装前面步骤提到的驱动,然后打开设备管理器,检查是否有未识别设备,如果有的话就更新驱动,步骤和前面的截图差不多,但应该是 bootloader 接口。
确认能识别到设备,使用 KernelSU 提供的内核引导系统试一下,提示 ,输入 .\fastboot.exe boot
之后,直接把解压好的 boot.img
文件拖进去就可以了。
.\fastboot.exe boot D:\Users\mc\Downloads\android13-5.15\dist\boot.img
如果能正常开机,打开 Kernel Manager 应该能看到如下图所示,如果卡米或者其他情况不能正常开机,直接强制重启就可以,因为没有刷入内核,只是尝试引导,重启就会恢复。
![成功 ROOT](./img/Screenshot_2023-01-20-16-18-05-610_me.weishu.kernelsu.jpg =x600)
刷入 KernelSU 提供的内核
如果上一步确定没问题,就可以正式刷入内核了。
重启到 bootloader,然后刷入内核,分别执行以下几句命令。
.\adb.exe reboot bootloader
.\fastboot.exe flash boot D:\Users\mc\Downloads\android13-5.15\dist\boot.img
.\fastboot.exe reboot
然后开机再检查 ROOT 情况。
提示
KernelSU 需要主动授权 ROOT,而不是让应用去申请 ROOT,再去授权。比如我想要在 adb shell 中使用 su 命令,就需要先在手机上的 KernelSU
里给 shell
授予 ROOT 权限,然后再从 adb shell 里使用 su,而不是像以前一样,直接使用 su 去向管理软件申请授权。
还原
如果因为什么原因,不想继续使用了,直接刷回原有内核就可以了,还记得前面准备的原版内核吗,就是还原用的,命令和前面刷入内核一样的。
升级
可以正常升级,但是不能 OTA 升级,更新会使用全量包,所以速度会比较慢,我升级花了一个多小时才完成,所以升级的时候要注意电量。升级之后再重写刷一遍 bootloader 就可以了。
参考资料
以下内容不分排名
资料下载
仅提供文章中使用版本,不提供后续更新
- 下载地址: https://dl.s2.u2sb.com/dl3/
- 备用地址: https://pan.baidu.com/s/1TIhy8KkL1tL27MqLn_lhtQ 提取码: xxxx