1+8T 无 Twrp 刷入 Magisk Root 经过记录

TL;DR

1、获取当前系统的刷机包
2、解压刷机包,获得 payload.bin
3、git clone https://github.com/vm03/payload_dumper
4、安装 Python 3
5、python3 payload_dumper.py payload.bin
6、adb push boot.img /sdcard
7、手机安装 Magisk Manager
8、Magisk Manager 设置中,更新通道选择“测试版”
9、回到 Magisk Manager 主界面,点击 “Magisk” 旁的安装,“选择并修补一个文件”
10、adb pull /sdcard/magisk_patched.img .
11、adb reboot-bootloader
12、fastboot boot magisk_patched.img
13、adb reboot-bootloader
14、fastboot flash boot_a magisk_patched.img
fastboot flash boot_b magisk_patched.img


前段时间 1+8T 出来了,正好手上的 6T 也旧了,趁着还能用,以旧换新入了 8T。

新手机买回来第一件事当然是解BL刷机Root啦!一加手机的解锁很简单:重启到 bootloader 界面,一条 fastboot oem unlock 就解锁成功了。

然后就是刷 Oxygen OS 。虽然 Hydrogen OS 有预装谷歌框架,但是全家桶还得自己装,为了省事我就从网上下载了 8T 的 Oxygen OS 镜像放到 /sdcard 下,再通过本地安装包系统更新,换成了 Oxygen OS 。

接下来就是 Root 。因为之前买手机的时间比较晚,twrp 镜像已经出来了,所以都是通过 twrp 刷入 Magisk 安装包就行了;但是这次 8T 刚出来我就买了,几乎什么资源都没有,就连官方都没放出系统镜像,更别说 twrp 了。

后来搜了一下,办法是有的,简单来说就是这样的:

1、手机上安装 Magisk Manager

2、把当前系统的 boot.img 通过 Magisk Manager 打上补丁

3、把打完补丁的 boot.img (magisk_patched.img) 转移到电脑上

4、测试 boot.img 是否可用
fastboot boot magisk_patched.img

5、刷入 magisk_patched.img 到手机的 boot 分区
fastboot flash boot_a magisk_patched.img
fastboot flash boot_b magisk_patched.img

方法有了,那么 boot.img 在哪呢?又是一通搜索,得知在系统镜像了。于是满心欢喜地 unzip 了刷机包,结果得到的是一个 payload.bin 。看样子 boot.img 是在这里面了。

找到一个工具: vm03/payload_dumper 可以用来提取 payload.bin 中的 img 镜像,运行需要 python 3 。

python3 payload_dumper.py payload.bin

执行一下,输出的文件中找到了 boot.img ,于是按照上面的步骤做了一遍,发现手机并没有 Root 。

这就很令人头疼了。后来又翻了很多论坛,终于在一个不起眼的 txt 中看到一句话:“请开启 Magisk 测试版更新通道”

更新通道选择“测试版”

瞬间醍醐灌顶!切到测试版再试了一遍,终于成功了。