一. 前言
刚从一加转到红米,不得不吐槽虽然一加系统简陋但社区搞基搞机氛围非常好,官方支持root也保修和第三方ROM下大神层出不群。小米的社区放眼望去基本没人讨论root、第三方ROM,都是各种吐槽提问但没人回复的帖子。既然找不到教程那就按一加的搞机经验自己摸索吧,理论上此方法适用于所有小米和红米手机。
二. 解BL
一加ADB一行命令直接搞定,小米需要先下载专用工具(http://www.miui.com/unlock/index.html),打开后登陆申请。等等!!让我等小200小时才能解锁是怎么回事???深度怀疑是怕用户搞坏了然后七天无理由??
。。。一周后。。。
唉好了继续。解锁前一定记得备份数据!因为会自动双清的!按软件提示操作即可,没有难度。
P.S:试了网上的一些方法比如国外版解锁工具、改时间等都无效,只能乖乖等200小时了。
三. 提取boot.img
这里又是另一个坑。按一加经验下载全量包,解压payload.bin,用payload_dumper脚本(貌似是这个:https://github.com/vm03/payload_dumper)提取boot.img。结果放到magisk不认。。。
网上搜了一圈发现小米的全量包分为卡刷包和线刷包,OTA下载的ROM是卡刷包,用payload_dumper解压出来的boot.img无法使用。直接用线刷包提取boot.img就行了。
在这里:https://www.xiaomi.cn/post/24919181,选择对应你手机的型号和你现在系统版本的线刷包,比如我选的是这个:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210425225235831.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk5NzI0OQ==,size_16,color_FFFFFF,t_70)
如果你是其他型号,去社区对应型号的圈子,置顶帖找ROM下载帖,下载对应的线刷包。后面步骤一致。
下载完后是个tgz压缩文件,解压两次把boot.img和vbmeta.img提取出来。boot.img放到手机里。
四. Magisk修改boot.img
装个Magisk(https://github.com/topjohnwu/Magisk/releases),设置里更新通道选择测试版,然后点第一行的安装->选择并修补一个文件->选择刚才提取的boot.img->开始。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210514161624573.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk5NzI0OQ==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210514161703689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk5NzI0OQ==,size_16,color_FFFFFF,t_70)
完成后会生成一个叫magisk_patchedxxx.img的文件,默认在Download文件夹,拷到电脑里。
五. 刷boot.img
Win+R打开CMD,CD到ADB的目录。如果第一次接触ADB可以参考下这个帖子:
https://blog.csdn.net/weixin_43927138/article/details/90477966
P.S:资源浏览器地址栏前面直接加CMD空格,就能在当前目录打开CMD。。我也最近才知道,贼方便。。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5ab757eb895947ec8bacf5c16b8620d7.png)
USB连接手机,用这个命令让手机进入fastboot:
adb reboot bootloader
如果报错或一直显示<waiting for any device>请检查:
a) 手机开发者选项里是否开了USB调式
b) 下载小米的线刷工具,打开后安装完驱动退出:http://bigota.d.miui.com/tools/MiFlash2018-5-28-0.zip
等手机重启进入fastboot后用刚才magisk做的magisk_patchedxxx.img替换原始的boot.img:
fastboot flash boot boot.img
将命令中的boot.img替换为刚才magisk做的magisk_patchedxxx.img,有2种比较简便的方式:
a) 直接把magisk_patchedxxx.img扔到ADB的根目录下,将文件重命名为boot.img,上面命令不用改直接执行。
b) 将boot.img改为文件路径。输入fastboot flash boot (boot后有空格),然后直接将文件拖到CMD窗口中,路径自动就带出来了。例:
![在这里插入图片描述](https://img-blog.csdnimg.cn/b25c34802f26420c9c8311a412a3735f.png#pic_left)
等命令运行完成后不要忘了刷AVB关闭开机签名校验,否则开机会卡住(感谢这位老哥):
https://blog.csdn.net/u011684553/article/details/112517834
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
vbmeta.img是刚才从线刷包里提取出来的,同理将自己提取出来的放到ADB目录或将命令中的vbmeta.img替换成文件存放路径。
Ok大功告成,现在重启手机,开机进入Magisk->安装->直接安装再root一次,否则再次重启后root可能会失效。
![在这里插入图片描述](https://img-blog.csdnimg.cn/202105141618564.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk5NzI0OQ==,size_16,color_FFFFFF,t_70)
重要!!!:以后OTA升级完先不要重启!进Magisk点安装到未使用的槽位(OTA后),完成后重启,进入Magisk再点一次直接安装,这样OTA后root也会保留,免去重新做上面的这些步骤!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210514162136285.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mjk5NzI0OQ==,size_16,color_FFFFFF,t_70)
六. 安装XPOSED
我这里选择的是太极:https://www.taichi-app.com/#/index,下载太极Magisk版和APP(都要下)。APP装上后把Magisk版文件拷到手机,Magisk里选择安装即可。
其他可选的XPOSED有:EdXposed,VirtualXposed等,可以自行去Github搜一下。
七. 步骤总结
- 使用官方工具解锁BL
- 下载线刷包,解压提取boot.img和vbmeta.img
- Magisk修补boot.img
- 用ADB命令将修补后的boot.img刷入手机,记得也刷vbmeta.img关闭开机签名验证
- 安装xposed