魅族 18s 升级 Flyme 系统保留 TWRP 和 Magisk(Root) 教程

魅族 18s 升级 Flyme 系统保留 TWRP 和 Magisk(Root) 教程

正常魅族系统通过增量更新有很大风险将系统的 magisk 以及 TWRP 搞丢,因为 flyme 系统的 magisk 是通过 patch 补丁的方式打入 boot.img 的,而升级系统可能会覆盖该区域内容,最好是通过全量更新的方式刷入,并且从升级系统包中提取 boot.img ,再通过系统打入 TWRP 和 Magisk 的补丁。

此文是更新系统的方式,并且你已经有 Magisk 的情况下升级系统可参考,否则先直接查看第六步 "打 Magisk 启动分区补丁"。

基本流程如下:

下载全量升级包 update.zip

从 payload.bin 中提取 boot.img

升级系统

重启前保留面具 root

通过脚本打入 TWRP 补丁

再次打入 Magisk 补丁

刷入打补丁的 boot.img

1.下载全量升级包 update.ziphttps://www.flyme.com/firmwarelist-191.html

通过官网下载最新的全量升级包。

2.从 payload.bin 中提取 boot.img下载 OTA Payload 解包工具

windows python 打包版本:https://androidfilehost.com/?fid=818070582850510260

Python 原版及 Docker 用法:https://github.com/vm03/payload_dumper

另外一款 golang 版本的解包工具:https://github.com/ssut/payload-dumper-go

无论哪个能解包就行,我这里使用的是 windows 打包的版本。

解压 update.zip ,得到 payload.bin,将其复制到 payload_input 中。

复制之后的截图:

双击 payload_dumper.exe 进行解包镜像

当 boot 解包完毕后就可以关闭这个程序了,出现 boot 之后的第二个其他镜像名字就代表 boot 解包成功。

暂时保留这个 boot.img ,稍后用到。

3.升级系统复制 update.zip 到系统存储中,通过系统内置的 文件管理工具找到 update.zip 进行更新。

通过 adb 复制文件到系统存储根目录:

通过系统文件管理器,找到 update.zip 并点击进行立即更新。

无網路連接,請檢查網路設定如果出现 “无網路連接,請檢查網路設定“:

检查系统屏蔽广告的设置,或者 hosts 等,可以将其临时关闭,如果是通过 systemless hosts 屏蔽了魅族 flyme 的 host,将模块临时关闭,并重启系统。

4.重启前保留面具 root开始安装后,打开 magisk manager ,选择安装 Magisk.

安装方式:安装到非使用中的槽位(在 OTA 更新后)

暂时不要点击开始执行

提醒:一定要赶在系统安装完成后重启前的时间进行操作,否则安装完成后会强制立即重启,丢失 Magisk。

通过通知栏查看更新进度条满的时候(变成一整个圆圈),再去选择 开始执行

5.打 TWRP 启动分区补丁到这一步你的系统应该拥有 root 权限才行,如果上一步正常则可以通过 magisk 授予 root 权限,否则你可能需要先打一遍 magisk 的补丁给 boot 重启激活获取 magisk 加载后再来进行当前步骤。

你需要将刚才解压的原生 boot.img 复制到系统中

adb push boot.img /sdcard/boot.img

再将 rec_install_tools 用于打补丁的目录复制到系统中

adb push rec_install_tools /sdcard/创建所需的 input 和 output 目录,因为目录是空的,push 时没有将空目录推送进去。

adb shell mkdir /sdcard/rec_install_tools/input

adb shell mkdir /sdcard/rec_install_tools/output再将刚刚的 boot.img 放入 input 目录

adb shell mv /sdcard/boot.img /sdcard/rec_install_tools/input

移动目录到 /data/local/tmp 中,因为只有这里拥有执行权限

adb shell

mv /sdcard/rec_install_tools /data/local/tmp赋予权限并执行脚本打入补丁

cd /data/local/tmp/rec_install_tools

chmod + install

./install

此时得到一个 new_boot.img 就是拥有 TWRP 的 boot 镜像文件,此时将文件复制到 /sdcard/ 给 magisk 再打一遍,让其拥有 magisk 启动加载的能力。

一定要先打 TWRP 补丁,再去打 Magisk,否则会丢失其一。

mv /data/local/tmp/rec_install_tools/output/new_boot.img /sdcard/6.打 Magisk 启动分区补丁打开 Magisk manager,点击 Magisk 中的安装:

安装方式:

选择并修补档案

同时在弹出的选择框中选择刚刚导出的 new_boot.img

然后点击右上角的 “开始执行”

生成的新补丁 boot 文件在 /sdcard/Download 目录里,这个 boot 分区镜像包含了 TWRP 和 Magisk 双功能。

提取最终的镜像到电脑端,

adb pull /sdcard/Download/magisk_patched-25100_dStRZ.img .有需要,也可以将其顺便改个名,比如:

adb pull /sdcard/Download/magisk_patched-25100_dStRZ.img boot_9.3.0.0A-with-twrp-magisk.img7.刷 boot.img 到 启动分区你也可以以任何方式进入到 fastboot 模式进行刷机

开机状态下进入 fastboot

adb reboot fastboot刷入镜像到 a/b 分区

fastboot flash boot_a boot_9.3.0.0A-with-twrp-magisk.img

fastboot flash boot_b boot_9.3.0.0A-with-twrp-magisk.img重启到系统

fastboot reboot

相关探索