一加手机ROOT全流程&记一次误操作后救砖经历

一加手机ROOT全流程&记一次误操作后救砖经历

先说ROOT,再说这次非常愚蠢的操作。。

本文不为ROOT失败导致的任何异常结果负责

一、ROOT(Magisk为例)

1. 准备工作

手机打开「开发者模式」:「设置」>「关于本机」>「版本信息」> 连续点击,直到进入开发者模式

手机开启「OEM解锁」和「USB调试」:「设置」>「系统与更新」>「开发者选项」> 找到这两项并打开

确保电脑安装了 ADB 和 Fastboot 驱动,测试方法:

手机连接电脑,文件传输模式

打开命令行输入 adb devices,如果能看到一串代码和 device,说明 ADB 驱动正常

输入 adb reboot bootloader 进入 Fastboot 模式,输入 fastboot devices,如果能看到代码和 fastboot,说明驱动装好了

如果没装驱动,自行去网上装一下吧~

2. 解锁Bootloader(会清空所有数据!)

用USB线连接手机和电脑

电脑下载adb-fastboot,解压后双击 打开CMD命令行.bat,输入 adb reboot bootloader

等待手机重启、进入bootloader模式

手机进入bootloader模式后,继续在cmd输入 fastboot flashing unlock

手机显示一串英文代码,此时长按「音量+键」以确定解锁bootloader;解锁成功后cmd会显示 (bootloader)Start unlock flow

英文代码仅持续 5-6 秒,如果消失了请重新执行 解锁命令

继续在cmd输入 fastboot reboot,开机有黄色警告即成功;

也可在「设置」>「系统与更新」>「开发者选项」>「OEM解锁」看是否变灰了

3. 提取 init_boot.img

下载payload-dumper-go并解压

下载大侠阿木提供的匹配机型和版本的ROM包,解压并找到 payload.bin 文件

复制 payload.bin 文件到 payload-dumper-go 文件夹

双击 打开CMD命令行.bat,按需提取.img文件

boot.img:存放系统内核

init_boot.img:存放启动脚本

这里说一下提取哪个:

执行 payload-dumper-go -l payload.bin,然后分情况:

情况 A(新机型,Android 13+):如果在 payload 列表里看到了 init_boot.img,提取并修补 init_boot.img(不动 boot.img)

情况 B(老机型):如果在 payload 列表里找不到 init_boot.img,提取并修补 boot.img

4. Magisk修补 init_boot.img

手机上下载 Magisk

打开Magisk,点击首页Magisk卡片右侧的「安装」,点击「选择并修补一个文件」,找到刚才复制到「Download」下的 init_boot.img,点击「开始」

看到 All done! 就可以了

5. 刷入修补后的文件

打开手机「Download」目录,把 magisk-xxxxxx.img 复制到电脑「adb-fastboot」 目录

双击 打开CMD命令行.bat,输入 adb reboot bootloader

进入bootloader模式后,cmd中输入 fastboot flash boot magisk-xxxxxx.img,其中 magisk-xxxxxx.img 要注意是自己上面修补的那个

看到 “Finished” “OKAY” 就可以了,输入 fastboot reboot 重启

6. 验证Magisk刷入成功

打开Magisk,看到Magisk卡片中「当前」能显示版本即可

二、提示

除了用adb命令,也可以关机后长按「关机键」+「音量-键」进入bootloader模式

可以用大侠阿木的工具箱: 一加全能工具箱,但本人没用

只要电脑连接手机,手机选择文件传输模式

一定要注意ROM版本对应,因为从对应 payload.bin 中提取的.img文件

本机版本为 一加 Ace5 竞速版,型号PLF110

三、救砖

严格来说也不是砖,而是处在“Orange State”并陷入无限重启的循环中

1. 我做错了什么

由于之前刷过一次Magisk,忘记关手机的自动更新了,它更了一个版本,原有的Magisk失效了;

因此我想重新刷一次,结果忘记要刷的是 init_boot.img 了,刷成了 boot.img;

然后发现失败了,这个时候求助Qwen来着(我再也不相信Qwen了),它认为 AVB 2.0 的 vbmeta 验证阻止了 Magisk 加载;

于是Qwen叫我下载github开源的 vbmeta.img,但给了个空链接,后面又让我自己写了一个,反正一直叫我刷进去,刷进去就成这样了

确实这种事情不能让大模型搞,明知有幻觉,居然不小心相信他了。

2. 怎么解决

由于不想丢数据,所以不想重刷;

问题出在启动上,因此要把跟“启动”有关的所有原厂零件,全部一次性换回去;

还好有 payload.bin,执行:

payload-dumper-go -p vbmeta,vbmeta_system,vbmeta_vendor,boot,vendor_boot,init_boot payload.bin

这些6个文件被提取到了extracted文件夹,然后依次刷回去(由于无限重启,进bootloader只能通过长按「关机键」+「音量-键」进入,而且最好趁没显示Orange State等告警信息时的间隙去按),执行:

fastboot flash boot_a boot.img

fastboot flash init_boot_a init_boot.img

fastboot flash vendor_boot_a vendor_boot.img

fastboot flash vbmeta_a vbmeta.img

fastboot flash vbmeta_system_a vbmeta_system.img

fastboot flash vbmeta_vendor_a vbmeta_vendor.img

然后 fastboot reboot ,看看怎么样,如果还不行,可以尝试强制禁用官方校验,执行:

fastboot flash boot_a boot.img

fastboot flash init_boot_a init_boot.img

fastboot flash vendor_boot_a vendor_boot.img

fastboot flash vbmeta_a vbmeta.img --disable-verity --disable-verification

fastboot flash vbmeta_system_a vbmeta_system.img --disable-verity --disable-verification

fastboot flash vbmeta_vendor_a vbmeta_vendor.img --disable-verity --disable-verification

然后 fastboot reboot ,应该没问题了

这个问题换slot没用;简单把误刷入的vbmeta.img给erase掉也没用;

如果遇到这类启动的问题,可以尝试一下本文重刷启动模块的经验

相关推荐

習的意思,習的解释,習的拼音,習的部首,習的笔顺
注册送365体育平台

習的意思,習的解释,習的拼音,習的部首,習的笔顺

🕒 01-27 👁️ 5810
希伯特为什么退役,哪个更让希伯特无奈退役
注册送365体育平台

希伯特为什么退役,哪个更让希伯特无奈退役

🕒 07-07 👁️ 6612
“锟吾”的读音、意思、造句
365bet手机网站

“锟吾”的读音、意思、造句

🕒 10-25 👁️ 9875