文章内容可能已严重过时
本文发布于 478 天前,文中的信息可能已经发生变化,请读者注意甄别。
半个月以前,我终于借到了合资格的小米社区账号,解锁了我首发买的小米 14。解锁之后的首要任务是搞一个 Root 进去,安卓 14 目前比较主流的解决方案是 Kernel SU,不了解是什么的兄弟们可以看看我前面玩一加 Ace2 Pro 时候的文章:
根据 Kernel SU 官方提供的刷写教程,作为高通设备的小米 14,在使用 fastboot boot
命令启动 Boot 镜像时没有任何问题,但是当使用 fastboot flash boot
指令的时候却出现了卡启动第一屏(也就是所说的「卡米」)的现象,最后刷入完整包中的 Boot.img 才得以恢复,当然,Root 权限是肯定没得了。
经过浏览互联网上的交流,证实 Kernel SU 提供的 Boot 镜像不适用与小米(可能是因为 MIUI 对原生改动较大),于是转用方案二,即使用 Android-Image-Kitchen 对原版 Boot 进行修补的方式刷入。在下载了 Android-Image-Kitchen 进行操作以后,工具返回了空文件夹,访问了工具作者的原 XDA 论坛帖子,得出结论 —— 小米 14 的原厂 Boot 不标准, 工具无法解包。
使用手机修补
此时关注到 Kernel SU 官方提供的方法二:使用 Magisk 安装包中的二进制文件解包和打包 Boot 文件,于是直接开始进行操作。
准备工作
需要准备的文件:
- 下载一个最新版的 Magisk Manager(App),将其从
apk
改名为zip
; - 原厂 Boot 镜像 boot.img
- 准备好对应的 AnyKernel3 刷机包,对于小米 14 则是
AnyKernel3-android14-6.1.25_2023-10.zip
; - 电脑上安装最新的 adb 工具包;
- 一根能传输数据的数据线。
需要进行的准备操作:
- 将准备文件中已经改好后缀名的 Magisk Manager App 解压缩,在文件夹中找到
lib/arm64-v8a/libmagiskboot.so
文件; - 提取
AnyKernel3-android14-6.1.25_2023-10.zip
中的 Image 文件;
放置对应文件
将手机连接到电脑,打开手机 USB 调试并允许调试,使用 adb devices
确定手机已经连接无误。
然后将上面准备好的 so 文件和 Image 文件推送到手机中,使用 adb push
命令,到 /data/local/tmp
中:
bash
解包、替换与打包
进入 adb shell
,赋予 so 文件可执行权限:
bash
使用 ./magiskboot unpack boot.img
解包原厂镜像,得到 kernel
文件
使用 mv -f Image kernel
将 AnyKernel3 文件里的 Image 文件改名替换为 kernel 文件
使用 ./magiskboot repack boot.img
打包文件,得到新的 new-boot.img
文件,这就是修补完的 Boot 文件。
刷入
再次回到 fastboot ,使用常规方式如 fastboot flash boot XXX.img
刷入 Boot 文件,即可顺利开机,得到 Root 权限。
其他说明
这个 Boot 文件跨 HyperOS 版本也可以使用,直到 MIUI 更新内核版本前都是没有问题的。如果你不喜欢折腾或者没看懂,我可以附上一个我自己修补过的 Boot,下载刷入即可。
最后的最后还是提一句老生常谈的事情:
刷东西进去之前先备份、先备份、先备份!!!
要不然就是重下 6、7GB 的完整包,再加上现在 MIUI 的死亡限速,你懂得。