KMnO4y_Fish's Blog

返回

[玩机] MTK MT65xx/MT67xx 刷机 Root,以 Aigo M2 Pro 为例Blur image

本文介绍的是 MTK 设备刷机获取 Root 权限的通法,使用 Magisk 方案。注意,可能并非所有设备均能成功。

本文以 Aigo M2 Pro 智能播放器为例,此播放器搭载 Android 5.1。这个例子的特殊性在于,官方并不提供原厂镜像的下载。

所有涉及电脑的操作在 Windows 系统下完成。

刷机,Root,Magisk,为什么?#

Root 意味着什么?#

Root 意味着自由。

Root,指的是 root 用户。该用户对设备有最高的权限。获取 Root 权限,即修改系统,使得用户和应用能够以 root 用户的身份执行操作,也就是说,用户获得对设备的最高访问权,真正实现了“我的设备我做主”。

Root 权限的使用方式主要分为两类。一种是获取系统特权,常见应用如下:

  • 利用文件管理器或破解工具自由备份、还原应用的数据和游戏进度。
  • 利用系统权限禁用/隐藏应用,或禁止应用后台运行。
  • 禁用,或在当前用户空间下卸载系统应用。
  • 自由操纵应用的权限,例如禁止自启动。
  • 使用内存修改器对游戏数据进行破解。
  • 修改受保护的系统设置,例如无障碍服务。
  • 修改系统内存,实现更改设备 MAC 地址保护隐私/绕过身份验证等。
  • 修改隐藏的设置项,例如使状态栏上的时间精确到秒(这个一般不需要 Root 也能做到)。

另一种,为修改系统。常见应用如下:

  • 定制系统的开机动画。
  • 彻底清除、替换系统应用。
  • 将应用安装为系统应用。
  • 修改内核选项。
  • 修改系统构建信息,以实现修改设备的制造商、机型等信息。
  • 对系统核心进行破解,以移除应用覆盖安装时的版本和签名检测(对破解游戏比较有用)。
  • 调校充电速度等行为。
  • 对硬件超频以压榨性能。

同样,Root 意味着风险。

  • 若对恶意软件授予 Root 权限,其将具有非常大的破坏力。
  • Root 权限使用时不谨慎,或因为各类天灾人祸,会导致系统损坏与数据丢失。
  • 系统更新变得麻烦。若原厂镜像未备份或系统被修改,设备将无法直接接受增量更新,需要刷机才能升级系统。

我需不需要 Root?#

是否需要 Root 取决于你需要进行的操作类型。

如果你的需求在 adb shell 下,或使用 adb 授权就能够完成(系统特权型中的大多数均属于此类),则很可能不需要 Root。如今,更加流行一些免 Root 获得系统特权的权宜之计(例如 Shizuku API ↗)。相比于 Root,这种方式的风险小得多,更值得提倡。

如果你需要修改系统,或从事应用/游戏破解、Android 核心破解等工作,则你需要 Root。

为什么是 Magisk?#

传统的 Root 权限方案是 SuperSU,该方案主要通过修改系统分区 /system 来安装 Root 权限。

Magisk 是一个较新的方案,主要优势如下:

  • #️⃣ 轻量化修改。相比于 SuperSU,其只修改比系统分区小得多 boot 分区。因此,刷机过程要快很多,移除 Root 权限并还原原厂镜像容易得多。
  • 🚫 无系统(Systemless)方式。Magisk 不修改系统分区,使得设备接受后续系统更新要容易很多。
  • 🧩 模块(Modules)。Magisk 提供许多使用无系统方式修改系统的模块。
  • 💧 隐藏(MagiskHide)。Magisk 内置了对其他应用隐藏 Magisk 和 Root 权限的工具,这使得对 Root 权限敏感的游戏、银行等软件仍然能正常使用。
  • ⚡ 一次性刷机方案。Magisk 的安装只需要一次刷机就能完成,不使用第三方 Recovery 系统。这使得第三方 Recovery 不支持某一设备的问题得到解决,且对系统的安全性影响比较小。

为什么刷机?#

如果早些时候(2014 年左右)你接触过 Root 权限的获取,你可能会知道许多“一键 Root”等免刷机的 Root 权限获取软件,有的系统甚至直接允许用户打开 Root 权限。为什么如今获取 Root 如此麻烦?为什么刷机风险这么大,却又说刷机其实是最明智的选择?

原因之一,是如今“一键 Root”等工具已经不好用了。

这类软件往往使用系统漏洞进行破解。事实上,这是一个很大的安全性问题,因为不只是一键 Root 工具可以使用漏洞,其他的任何软件都可以,而一旦恶意软件获取 Root 权限,Android 权限管理对其就形同虚设。如今,随着安全漏洞的修复,此类工具自然也就越来越难用了。

然而,刷机却不利用奇技淫巧,具有理论可行性,因而成为了公认的“通解通法”。

原因之二,也是最重要的原因,就是“权力越大,责任越大”。我们常说,如果一个设备制造商允许用户刷机并给了教程,那它确实是在支持用户折腾设备;如果设备制造商直接允许在设置中开启 Root 权限,那么它是在给维修点刷业绩。正因如此,我强烈反对使用人工代刷服务来获取 Root 权限。

获取 Root 权限并非一劳永逸。由于 Root 权限意味着设备最高访问权,一旦后续使用 Root 权限时不谨慎,系统就可能被弄坏。此时,必须使用刷机方式才能修复设备,而使用“一键 Root”工具的人,往往不具备刷机的知识和技能,因此设备只能被送去维修,或者报废。使用刷机方法获取 Root 的过程中,机主锻炼了自身的技能,并已经下载到或者备份好了原厂镜像。只有这样,机主才算是真正拿到了“玩机资格证”。

我用的是不是 MTK 设备?#

如果你用的设备是常见的手机、平板等,请上网查询资料确认设备的芯片(若看到 MT65xx、MT67xx、天玑等则为 MTK 设备)。

如果你的设备不常见,尝试在设置中查看系统应用列表。若存在名为 com.mediatek 的应用,则说明是 MTK 设备。

一定能成功吗?#

不一定。

以下是常见的不能成功的情况:

  1. 设备制造商不允许 Bootloader 解锁*,且系统有启动验证。 (Android 5.1 及以下的设备一定不具有启动验证)
  2. 官方不提供原厂镜像,且锁定了 Preloader。*
  3. 设备没有 Boot Ramdisk,因而不支持正常安装 Magisk。
  4. 官方不提供厂刷包,且设备无法启用 ADB,因而无法获得分区表。
  5. 系统版本不受支持(Magisk 目前支持 5.0~11.0)。

当然这些情况也不意味着一定不成功。有例外情况:

  • 部分 MTK 设备中,Bootloader 解锁可以利用漏洞强制进行(工具为 MTK Client),且这不会清除数据。此处不赘述其方法。
  • 如果系统没有启动验证,则 Bootloader 可以不解锁。
  • 部分设备中,Preloader 锁可以使用 MTK Auth Bypass 绕过,此处不赘述其方法。
  • 没有 Boot Ramdisk 的设备,可以使用第三方魔改过的 Magisk(这种情况下 MagiskHide 将无法使用)。
  • 无法获得分区表时,可先用 SP Flash Tool 回读(此操作下文会介绍)整个闪存的前 1/4 空间,然后利用十六进制编辑器确认其中 boot 和 recovery 分区的位置,手动编写出不完整的分区表,然后对 boot 镜像安装 Magisk,或利用 boot 分区生成合适的 TWRP(一个第三方 Recovery 系统),然后查看系统文件对设备进行进一步破解。此操作相当复杂,此处不介绍。

准备工作#

如果需要,学好基础知识#

[基础预科] ADB、Android 终端、Android 用户权限

[基础预科] Android 分区、启动模式、Fastboot

确认设备如何强制关机#

开始刷机操作前,请确认自己知道如何强制关机或重启设备,并且已经尝试成功过。常见方法有这些:

  • 拔掉充电器,然后拆除内置电池,将会关机。(适用于电池可拆卸的设备)
  • 长按电源按钮 10s,强制重启。(适用于大多数设备)
  • 同时按住电源按钮和音量下按钮,保持 10s,强制重启。(主要为三星设备)
  • 同时按住电源按钮和音量上按钮,保持 10s,待屏幕熄灭或感受到振动后立即放开,即为强制关机。(OnePlus)
  • 同时按住电源按钮和两个音量按钮,待屏幕熄灭后立刻放开,即为强制关机。(适用于大多数设备)
  • 用细小物体(建议取卡针)戳麦克风孔(或电源按钮附近的一个孔),触发其中的开关。(适用于学习机、媒体播放器、移动数据终端等设备) 提示:不要用缝衣针的尖端戳麦克风孔,以免损坏麦克风。

确认 USB 接触良好#

接触良好的 USB 接口和数据线是刷机的基础。若刷机过程中连接断开,将产生无法开机的后果(重新刷入受损的分区可以恢复)。

建议使用 Type-C 接口的 USB 集线器,刷机过程中不要在集线器上插拔设备。

安装 ADB 环境#

若电脑上没有 ADB,请先安装。方法参照此处。

启用 USB 调试#

安装 ADB 后,启用设备的 USB 调试,并确认能正常使用,然后对电脑进行“始终允许”的 USB 调试授权。方法参照此处。

下载 MTK Droid Tools#

MTK Droid Tools 用于导出分区表。

下载 MTK Droid Tools ↗(压缩包密码:MTK),并解压到恰当的位置。

下载 SP Flash Tool 和驱动#

SP Flash Tool 用于提取/备份原厂镜像并进行刷机。

下载驱动程序 ↗

下载旧版 SP Flash Tool,用于处理 MT65xx 平台 ↗

下载新版 SP Flash Tool ↗

备份重要数据#

无论采用何种方案,开始前,请备份好所有能备份的重要数据。数据无价!

允许 OEM 解锁#

进入开发者选项,打开“允许 OEM 解锁”开关,按提示输入设备锁屏密码,以允许后续解锁 Bootloader(虽然可能未必需要)。

此开关一般位于开发者选项第一屏内。如果没有,说明 Bootloader 可能无法解锁,但是若确认设备没有启动验证,也可以继续操作。

调整心态#

刷机是风险较大的操作,尤其是第一次进行,不熟悉流程的时候。新手如果出现重大失误,很可能一步错,步步错,最后把设备彻底弄坏。

刷机时,请选择安排不紧张的时间段,保证至少一小时的连续空闲时间,切忌仓促行事。

开始前,深呼吸,使心情平和。第一次刷机时,如果有条件,请使用低价的备用机练习,不要使用主力设备。

操作过程中,时刻记住正确的操作决不会置设备于死地。要细心,但也要胆大,不能过度紧张。

在两个步骤之间,或者在等待的时候,可以吃点东西,去房间外放松休息。

概览#

注意多个方案只需要选一个。

这只是概览,不要直接对着操作。预计用时假设操作者是新手,但操作顺利。

  • 安装 Magisk App 3分钟
    • 🔰 下载并安装 App 3分钟
    • 👀 查看 Ramdisk 是否为“是”,确认是否受支持 0分钟
  • 获取分区表 5分钟
    • 🧷 设备连接至 USB 调试 3分钟
    • 🧱 打开 MTK Droid Tools,创建分区表文件 2分钟
  • 提取原厂镜像 12分钟
    • ⚙️ 安装 MTK 驱动 1分钟
    • 🗒️ 打开 SP Flash Tool,设置好回读分区 2分钟
    • 💿 关机后,插入设备开始回读 1分钟
    • 📀 顺便备份好系统分区 8分钟
  • 修补镜像 4分钟
    • 🩹 利用 Magisk App 修补镜像 4分钟
  • 刷入镜像 - SP Flash Tool 方案 2~6分钟
    • 👀 判断设备是否有启动验证 0分钟
    • 🔓 如果有,解锁 Bootloader 0~4分钟
    • 🗒️ 打开 SP Flash Tool,选择刷入的镜像 1分钟
    • ⚡ 关机后,插入设备完成刷机 1分钟
    • 🚫 拔掉 USB 线 0分钟
  • 刷入镜像 - Fastboot 方案 5分钟
    • 🔓 解锁 Bootloader 4分钟
    • ⚡ 命令刷入新的镜像 1分钟
    • ⭕ 命令重启 0分钟
  • 刷入镜像 - Fastboot 方案稳妥版 8分钟
    • 🔓 解锁 Bootloader 4分钟
    • 🪛 用新的镜像测试启动 1分钟
    • 🔰 重新安装 Magisk App 2分钟
    • ⚡ 使用“直接安装”方式安装 1分钟
    • ⭕ 重启设备 0分钟
  • 开机体验 2分钟
    • 🔰 重新安装 Magisk App 2分钟
    • ✨ 打开需要 Root 权限的应用,或安装模块,开始使用

安装 Magisk App#

下载 Magisk ↗ App,使用 USB 传输、网盘等手段将其复制到 Android 设备上(或直接用 ADB 安装),完成安装。

安装后,打开应用,检查 Ramdisk 的状态。如果为“是”,那么恭喜,你的设备可以正常安装 Magisk。

↑
设备支持 Magisk!
快速故障排除
Q:应该使用哪个版本的 Magisk?
A:你能选择的最低版本取决于你的 Android 系统版本,例如 12 以上的用户只能选择 24.0 及更高版本;要使用 Magisk 的 Zygisk 特性,必须选择 24.0 以上版本或 Magisk Alpha;要使用 Magisk 原版隐藏 Root 的功能,必须选择 23.0 以下版本或 Magisk Alpha。
Q:Ramdisk 显示“否”,能否继续?
A:不建议继续。然而如果你使用的是小米设备,则应当尝试一下。
Q:在不支持的设备上安装,会怎么样?
A: 如果系统版本不支持(如 Android 4.4 及以下),则 Magisk 不会允许你安装;如果设备不接受 Ramdisk,则安装后无效,此时建议再次刷机撤销你的更改。

获取分区表#

将设备连接到电脑,确认 USB 调试已开启,且 USB 连接模式不是“仅充电”。

打开 MTK Droid Tools,等待设备上弹出 ADB 授权提示,点击“允许”。

↑
授权窗口

此时观察 MTK Droid Tools 窗口,工具上将逐步显示出设备的详细信息,左下角方块为蓝色。

↑
MTK Droid Tools 窗口

不要点击右下角的 ROOT,这是用于在已 Root 设备上申请 Root 权限的。点击 Blocks Map,在弹出的窗口中点击 Create Scatter File,将生成的 txt 文件保存到一个空文件夹(不要更改文件名)。

↑
Blocks Map

如果你想知道保存出来的文件大概是啥样,可以查看此样例文件 ↗。注意,不要拿来使用!

快速故障排除
Q:MTK Droid Tools 无法检测到设备,且设备无反应。
A:检查通知栏内是否有“已连接到 USB 调试”提示;检查 USB 模式是否为“仅充电”,如果是,请切换;如果问题仍然无法解决,请换一台 Windows 10 及以上的电脑试试。
Q:USB 调试已打开,但通知栏不显示“已连接到 USB 调试”,也无法选择连接模式。
A:你的数据线可能不支持 USB 数据传输,或者你使用的 USB 接口不对。换一个试试。
Q:设备弹出了授权提示框,但检测不正常,无法创建分区表。
A:请再次确认设备是否为 MTK 设备。
Q:是否需要自行验视创建的 txt 文件?
A:不需要。

提取原厂镜像#

安装驱动#

打开 Windows 设备管理器。【搜索“Windows 设备管理器”】 ↗

将 Android 设备关机,然后通过数据线连接到电脑,立刻观察设备管理器。此时将短暂地出现“MediaTek MT65xx Preloader”设备(即使芯片是 67xx,设备名仍然是 65xx)。立即右键,选择“更新驱动程序”。选择“浏览我的电脑以查找驱动程序”,然后选择先前下载的 MTK 驱动目录,Windows 将会完成驱动安装。

快速故障排除
Q:这个操作有点困难。
A:请锻炼手速。另外设备插入时按住音量增大键,似乎设备出现的时间会更长。
Q:没有听到设备插入的提示音,设备直接显示充电界面。
A:你的数据线可能不支持 USB 数据传输,或者你使用的 USB 接口不对。换一个试试。
Q:能听到设备插入的提示音,但是找不到 MediaTek MT65xx Preloader。
A:这说明驱动可能已经装好了。
Q:驱动程序目录应该选哪个?
A:下载上文“下载 SP Flash Tools 和驱动”章节中的驱动压缩包,解压至合适的目录,然后在选择驱动时,直接选择解压到的位置,系统将自动找到驱动。

提取镜像#

我们需要提取的是设备的 boot.img。另外,建议同时备份 system.img,以备不时之需。

此时,你应该知道了设备的芯片型号。选择合适的 SP Flash Tool 打开。

在主界面选择“下载 DA”,选中 SP Flash Tool 目录下的 MTK_AllInOne_DA.bin;选择“配置文件”,选中上一步中保存的 txt 文件。下方将会显示分区表。

↑
SP Flash Tool 主界面

切到上方“回读”菜单。如果使用的是新版 SP Flash Tool,则此处所有内容已经自动填好,取消勾选所有项目,然后勾选 BOOTIMG(或 boot)和 ANDROID(或 system)分区即可。否则,将需要手动抄写 BOOTIMG 和 ANDROID 分区的信息,方式如下:

  1. 点击上方“添加”按钮。
  2. 打开 txt 文件,找到需要回读的分区信息。
  3. 双击 SP Flash Tool 下方新增的一行,选择镜像的保存位置。文件名建议和 txt 文件中 filename 一致。
  4. 选择后,弹出的窗口中区域选择 EMMC_USER,起始地址填写 linear_start_addr,长度填写 partition_size。请务必确保没有犯复制错内容、连续粘贴两次等错误。

完成分区选择或抄写后,点击顶部的“回读”按钮,然后将已关机的设备连接到电脑。此时,会听到一次设备接入电脑的提示音。软件几秒后将显示进度条,开始回读。

↑
正在回读

这时,可以喝杯水,出去休息一下。(请放心,这一步是没有风险的)

稍后,回读将结束,此时会听到设备断开连接的提示音,十几秒后将弹出回读成功的提示框。

此时 boot.img 和 system.img 镜像应当已经保存到你指定的位置。

↑
回读完毕

确认镜像已保存后,拔下设备,开机。

快速故障排除
Q:此操作是否会清空我的数据?
A:不会。但这时,你应该已经备份过重要数据了。
Q:为什么“你应该知道了设备的芯片型号”?
A:上一步保存分区表时,默认文件名应当形如 <芯片型号>_Android_scatter.txt。
Q:“回读”是什么意思?
A:回读是刷机的逆向操作,即将设备中原有的系统镜像传输到电脑。
Q:如何快速找到 txt 文件中的分区?
A:用记事本打开,按 Ctrl+F,查找分区名。
Q:回读镜像应该保存到哪里?
A:建议与 txt 文件同一目录。
Q:为什么建议同时备份 system.img?
A:Root 后,有的操作难免会修改系统。备份系统分区可以使设备在需要接受系统更新时还原原厂,也可以用来在系统被玩坏时恢复。
Q:回读开始时出现奇怪的错误。
A:可能是这些情况:有的设备关机状态下插入时需要按住一个或两个音量键(设备连接成功后无须继续按住),请上网搜索,或自行尝试所有音量键组合,若成功,接下来刷入镜像时也请使用相同的音量键组合;你所用的 SP Flash Tool 可能和你的芯片不匹配,换另一个版本试试,若成功,接下来刷入镜像时也请使用同一版本;有的设备不支持用正常方法回读,这种情况下请前往官网下载镜像;有的设备设备有 Preloader 锁,请自行搜索 MTK Auth Bypass 尝试绕过,或知难而退,终止操作。
Q:设备插入时 SP Flash Tool 卡住/未响应。
A:这是正常的,请等几秒。
Q:回读时界面左下角显示的读取速度直线下滑。
A:这是速度计算机制的问题,请不要惊慌。速度不会降低到 0。
Q:由于 USB 接触不良,回读中道崩殂。
A:先调整心态,不要惊慌,这不会对设备的系统造成损害。在 SP Flash Tool 上停止回读(如果已经出错就无须再停止),拔下数据线,然后强制重启设备。接下来,再次关机设备。重新尝试前,先排查一下 USB 接触不良的原因。
Q:操作完成后,设备长按电源键无法开机。
A:正确开机操作:拔掉数据线,长按电源键至少 3s;如果仍然无法开机,可能是 Preloader 卡住,请尝试强制重启。
Q:开机后发现系统时间异常或重置,是不是中了病毒?
A:这是正常现象,不必惊慌。

修补镜像#

将获取到的 boot.img 传输至 Android 设备中。

打开 Magisk App,点击“安装”。不勾选“保留 AVB 2.0/dm-verity”,安装方式选择“选择并修补一个文件”。选择刚刚传输的 boot.img,并确保所选择的文件无误,然后确定。

打开内置文件管理器,将得到的新文件(位于 /sdcard/Download/ 下)改一个较短的名字,然后传输至电脑。

快速故障排除
Q:AVB 2.0/dm-verity 是什么?
A:就是启动验证。注意即使设备没有启动验证,这个选项也会显示。
Q:安装到 Recovery 是否要选?
A:如果设备可以正常安装,就不要选。
Q:修补操作失败。
A:请确保传入的镜像确实是从 BOOTIMG 分区提取的。
Q:如何确认传入的镜像是对的?
A:安装界面中,若出现“Stock boot image detected”,说明原始镜像大概率没问题。
Q:需不需要保留原始的未修补镜像?
A:一定要!如果你已经删了,请去回收站捞出来;如果回收站也没有,请再提取一次。

刷入镜像#

刷入镜像有三种方案,仅需要选择其中一个。

  • SP Flash Tool 由于前面已经使用过这个工具,你应该已经基本熟悉最基本的用法。且若设备没有启动验证,则这也是最快、最方便的方法。
  • Fastboot 直接刷入 若设备有启动验证,则需要进入 Fastboot 模式解锁。此时这是最方便的方法。
  • Fastboot 测试启动 也需要解锁 Bootloader。这是最稳妥的方法,因为你可以在测试镜像能否工作后再决定是否刷入。
快速故障排除
Q:如何判断设备是否有启动验证?
A:原厂 Recovery 模式下可以判断,此处不介绍。你只须知道,Android 5.1 及以下版本不可能有启动验证,其他情况可一律当作有启动验证处理。
Q:刷入镜像是否会清空我的数据?
A:解锁 Bootloader 的过程会清空数据,其余刷入操作均不会。但这时,你应该已经备份过重要数据了。

SP Flash Tool 方式#

自行判断系统是否有启动验证。如果有,参照这里重启进入 Fastboot 模式,并解锁 Bootloader。完成后,重启设备。重启设备后检查开发者选项中的“允许 OEM 解锁”开关,如果为开启状态且无法关闭,说明解锁成功,否则说明 SP Flash Tool 方式不能使用,应采用其他方式。

选择合适的 SP Flash Tool 打开。

在主界面选择“下载 DA”,选中 SP Flash Tool 目录下的 MTK_AllInOne_DA.bin;选择“配置文件”,选中上一步中保存的 txt 文件,确保文件准确无误。下方将会显示分区表。

↑
SP Flash Tool 主界面

下方的模式中选择“下载”。确保所有项目已经取消勾选,然后勾选 BOOTIMG(或 boot)分区,点击右侧的“位置”单元格,选择修补后的镜像。

↑
镜像已加载

仔细核对复选框和镜像位置无误后,拔下 Android 设备,并将其关机。

点击顶部的“下载”按钮,将关机的设备接入电脑。稍后,软件将开始操作。数秒后,将听到设备断开连接的声音。再过几秒,会弹出下载成功的提示框。

↑
下载成功

此时,拔下设备并开机。

快速故障排除
Q:“下载”是什么意思?
A:下载即刷机,指的是将镜像从电脑传输到移动设备并刷入闪存中的过程。
Q:加载的镜像文件名是否一定要是 boot.img?
A:可以不是。
Q:下载开始时出现奇怪的错误。
A:你的设备可能有 Preloader 锁。请自行搜索 MTK Auth Bypass 尝试绕过,或知难而退,终止操作。
Q:设备插入时 SP Flash Tool 卡住/未响应。
A:这是正常的,请等几秒。
Q:下载时界面左下角显示的下载速度直线下滑。
A:这是速度计算机制的问题,请不要惊慌。速度不会降低到 0。
Q:下载时进度条会滚几次?
A:下载时通常有三轮进度条,第一轮为红色,为 DA 下载阶段,时间约 1s;第二轮为黄色,为镜像下载阶段,时间约 3s;第三轮为灰色,为校验阶段,时间约 1s。若软件出现卡顿,有可能只能看到最后一轮,这是正常现象。
Q:镜像文件修补后比原来大会怎么样?
A:这一般不会发生。如果真的这样,SP Flash Tool 会在加载镜像时报错,无须担心覆盖到其他分区上。
Q:由于 USB 接触不良,下载中道崩殂。
A:先调整心态,不要惊慌。在 SP Flash Tool 上停止下载(如果已经出错就无须再停止),拔下数据线,长按电源键 3s(此时屏幕可能亮也可能不亮)。点击“下载”按钮,然后将设备插入电脑,再强制关机或重启设备,下载将重新开始。
Q:操作完成后,设备长按电源键无法开机。
A:正确开机操作:拔掉数据线,长按电源键至少 3s;如果仍然无法开机,可能是 Preloader 卡住,请尝试强制重启。
Q:Bootloader 解锁后,正常开机显示 Orange State。
A:这只是一个警告,纯属正常,可以忽略。
Q:有启动验证的设备上不解锁就刷会怎么样?
A:设备会无限重启。刷回原镜像可以恢复。
Q:下载完成后,设备启动无限重启。
A:请确保下载成功完成,如果不是,请重做一遍。如果问题仍然存在,尝试解锁 Bootloader。若 Bootloader 已解锁/无法解锁,或问题仍然存在,则说明系统与 Magisk 不兼容,请重新刷入修补前的镜像撤销更改。
Q:开机后发现系统时间异常或重置,是不是中了病毒?
A:这是正常现象,不必惊慌。

Fastboot 直接刷入方式#

参照这里重启进入 Fastboot 模式,并解锁 Bootloader。

然后执行 fastboot flash boot <修补后的镜像文件>,将其刷入。

刷入成功后,执行 fastboot reboot 重启。

快速故障排除
Q:Bootloader 解锁不成功。
A:请确认设置中的“允许 OEM 解锁”开关已经打开,若确实已经打开,说明 Bootloader 无法解锁。此时请尝试不解锁状态下使用 SP Flash Tool 方案。
Q:刷入时出现错误(boot-magisk_patched.img is not a boot image)。
A:这表明前面提取的镜像可能不对。请返回检查,不要立即尝试其他刷入方案。
Q:刷入时 USB 接触不良,中道崩殂。
A:重新插上 USB 数据线,再次执行刷机命令。
Q:Bootloader 解锁后,正常开机显示 Orange State。
A:这只是一个警告,纯属正常,可以忽略。
Q:刷入后,设备启动无限重启。
A:这说明系统与 Magisk 不兼容,请重新刷入修补前的镜像撤销更改。

Fastboot 测试启动方式#

相比之下,这是最稳妥的方式,但是较旧的设备可能不支持测试启动。

参照这里重启进入 Fastboot 模式,并解锁 Bootloader。

然后执行 fastboot boot <修补后的镜像文件>。稍后,设备将启动进入系统。当前系统已经暂时具有“Magisk 试用版”,重启后将会复原。

如果桌面上的 Magisk 是安卓机器人图标,且点击后显示“需要下载完整版本的 Magisk”,不要理会。直接将 Magisk 应用的 apk 文件传输到设备中重新安装(如果安装不成功,请卸载桌面上的 Magisk 图标后安装)。

安装后,打开“Magisk App”,选择“安装”,不选中“保留 AVB 2.0/dm-verity”。此时将多出“直接安装”选项。确认后,Magisk 将永久安装到系统中。

完成后,立即重启设备。

快速故障排除
Q:Bootloader 解锁不成功。
A:请确认设置中的“允许 OEM 解锁”开关已经打开,若确实已经打开,说明 Bootloader 无法解锁。此时请尝试不解锁状态下使用 SP Flash Tool 方案。
Q:测试启动时出现错误(boot-magisk_patched.img is not a boot image)。
A:这表明前面提取的镜像可能不对,请返回检查,不要立即尝试其他刷入方案。
Q:测试启动不成功。
A:此时说明系统与 Magisk 不兼容,不要尝试其他刷入方案。
Q:Bootloader 解锁后,正常开机显示 Orange State。
A:这只是一个警告,纯属正常,可以忽略。
Q:启动后 Magisk App 检测不到 Magisk 版本,且无法直接安装。
A:请确保刷入的是修补后的镜像。

开机体验#

如果设备成功开机,那么 Magisk 就安装完成了!此时请立即查看桌面上的图标。

如果桌面上的 Magisk 是安卓机器人图标,且点击后显示“需要下载完整版本的 Magisk”,不要理会。直接将 Magisk 应用的 apk 文件传输到设备中重新安装(如果安装不成功,请卸载桌面上的 Magisk 图标后安装)。

打开 Magisk App,将会看到 App 成功识别出了 Magisk 版本。屏幕底部会多出浮动工具条,主界面还会有“卸载 Magisk”按钮。

↑
Magisk 安装完成

现在,就可以安装需要 Root 的应用以及各种 Magisk 模块了。

快速故障排除
Q:启动后 Magisk App 检测不到 Magisk 版本。
A:请确保刷入的是修补后的镜像。

附:模块安装翻车的急救方法#

Magisk 模块安装后,系统可能出现无法启动的问题,这称为“翻车”。

自动 Bootloop 恢复模块#

特殊的 Bootloop 恢复模块(例如 Bootloop Saver ↗)可以检测系统在启动过程中的非正常重启。一旦检测到,该模块将禁用所有其他模块来尝试恢复系统。

注意 Magisk Delta 的 25.2 及以上版本内置了 Bootloop 保护功能,只需要打开即可(26.4 及以上默认打开且不能关闭),不需要安装模块。

比较稳妥的安装方式#

安装模块前,手边准备好电脑,打开 USB 调试,并进行“总是允许”的授权。随后开始模块安装。

安装后立即重启。若出现“翻车”,请在电脑命令行上执行 adb wait-for-device shell magisk --remove-modules,然后强制重启设备并马上插入电脑。系统开始初始化时,所有 Magisk 模块都将被移除,这样就可以正常启动了。

第三方 Recovery#

TWRP 等第三方 Recovery 系统具有文件管理功能。删除 /data/adb/modules/ 下的模块文件,即可修复。

安全模式#

将设备启动进入安全模式(并不是所有设备都有这一功能),Magisk 将禁用所有模块。

安全模式,重刷 Magisk#

若你的设备只能从开机状态下重启进入安全模式,而不能直接进入,参考此方法。

使用 SP Flash Tool 刷入未经修补的 boot.img。重启设备,Magisk 将被移除。

设备正常启动后,在电脑上打开 SP Flash Tool,加载已修补的 boot.img,点击“下载”按钮。

接下来,长按电源键,然后长按弹出菜单中的“关机”,选择重启进入安全模式。随后立即将设备接入电脑。刷机完成后,设备将自动启动进入安全模式(若没有自动启动,请拔下数据线并手动开机),此时 Magisk 将禁用所有模块。

删除模块,重刷 Magisk#

使用 SP Flash Tool 或 Fastboot 刷入未经修补的 boot.img。重启设备,Magisk 将被移除。

接下来打开 USB 调试,进入 adb shell,直接切到 /data/adb/modules/ 目录下并使用命令删除模块文件。

再次刷入修补后的 boot.img,即可恢复 Magisk。

附:系统更新的流程#

打开 Magisk App,查看主页上的 A/B 参数,即可确认系统更新方式。

一般系统更新#

此类更新要先将所有镜像还原,然后更新,再重新安装 Magisk。

  • 还原原厂镜像
    • 🗑️ 卸载 Magisk:还原原厂镜像
  • 重刷原厂系统
    • ⚡ 若系统有被修改,重新刷入原厂系统
  • 更新系统
    • 🔧 安装系统更新
  • 提取原厂镜像
    • 🗒️ 打开 SP Flash Tool,设置好回读分区
    • 💿 关机后,插入设备开始回读
    • 📀 顺便备份好系统分区
  • 修补镜像
    • 🩹 利用 Magisk App 修补镜像
  • 刷入镜像
    • ⭕ 启动进入 Fastboot
    • ⚡ 命令刷入新的镜像
    • ⭕ 命令重启
  • 开机体验
    • 🔰 重新安装 Magisk App
    • ✅ 重新启用已安装的模块

A/B 无缝系统更新#

  • 还原原厂镜像
    • 🗑️ 卸载 Magisk:还原原厂镜像
  • 重刷原厂系统
    • ⚡ 若系统有被修改,重新刷入原厂系统
  • 更新系统
    • 🔧 安装系统更新,但不要重启
  • 安装到新的系统
    • 🩹 安装 Magisk 到未使用的槽位
  • 重启体验
    • ⭕ 重启设备
封面图来自网络,未经明确授权。
[玩机] MTK MT65xx/MT67xx 刷机 Root,以 Aigo M2 Pro 为例
https://ak-ioi.com/blog/play-android/mtk-flash-root
作者 KMnO4y_Fish
发布于 2022年1月20日
评论似乎无法加载。试试刷新?✨