旧手机用六年了,换了个新手机。顺便捣鼓一下久违的 Root。
笔者撰稿时,一加 10 Pro 刚发布没几天,提醒各位出厂的系统是 Coloros NE2210_11_A.07。建议升级至 NE2210_11_A.08 系统后再 Root。进行以下操作前请务必进行备份。
一、准备工作
你需要一台还算正常的 PC,这里默认 PC 运行的是 Win10 系统。在进行 Root 前,需要准备所需的工具,主要为 ADB 和 Fastboot 驱动和一些小工具。
一般来说,在手机正常运行的情况下将手机通过 USB 数据线连接至电脑,电脑会自动安装手机驱动,稍等一会儿看见 Windows 提示该设备已准备就绪即可。
对于 ADB 和 Fastboot 驱动,建议直接使用 Google 的工具包,也可以安装 XDA 论坛大佬开发的安装工具(XDA 论坛链接在此),点击这里直接下载 Google 的工具包。
接着还需要一个工具来提取系统镜像中的 boot.img
文件,笔者这里用的是 Github 上一个开源的小工具,链接在此,或者点这里直接下载。该工具需要在 python-3-6 环境下运行,克隆这个 Github 仓库至本地后使用 pip install -r requirements.txt
命令安装该工具所需的依赖。
二、解锁 Bootloader
默认情况下,所有 Android 手机都带有锁定的 Bootloader。它限制用户修改设备。修改,例如 root 手机,更改根目录等。这是一项安全功能,可防止手机在被盗时被进行非法更改。
打开手机的设置,依次点击 关于本机 -> 版本信息,然后狂点版本号,一会就可以看见启用了开发者模式的提示。
接着返回设置,点击 系统设置 -> 开发者选项,找到并打开 USB 调试以及 OEM解锁。
将手机用 USB 连接至电脑,并确保打开了 USB 调试,并在手机上确认始终允许该电脑进行调试。打开之前下载的 ADB & Fastboot 工具包的文件夹并右键打开 Windows Terminal,输入 adb devices
可以看见已连接设备的列表,即自己的手机。
输入 adb reboot bootloader
来重启手机进入 fastboot:
使用 fastboot devices
来查看 fastboot 模式下已连接的设备:
笔者在这步遇到了一个问题,就是即使已经安装过 Fastboot 驱动,执行上述命令却识别不了设备,打开设备管理器发现还是驱动问题。于是换了个来源装驱动,具体解决方式见附录。
输入 fastboot flashing unlock
来解锁 Bootloader,接着在手机上使用音量键选择,电源键确认,即可解锁 Bootloader。(这步的图没存…)
三、使用 Magisk Root 手机
这里笔者遵循 Magisk 官方的文档。首先在手机 设置 -> 关于本机 -> 版本信息 中确认自己的系统型号,并下载对应系统型号的全量包,这里笔者系统为 NE2210_11_A.08(如果你的系统型号和笔者一样,那么可以点此下载,否则请使用你自己的系统型号的全量包)。下载完成后,使用压缩软件解压缩,可以看到 payload.bin
文件:
进入准备工作中从 Github 下载的提取 boot.img
的项目的文件夹,并将上文中的 payload.bin
放在项目目录中,完成后应该是这个样子(不要在意__pycache__…):
打开之前准备的 python 3.6 环境,进入上图中项目的文件夹,执行 python payload_dumper.py payload.bin
来获取该镜像中的 boot.img
文件:
(这个程序处理后面的分区似乎会报错,不过没关系,因为 boot.img
在那之前早就被提取好了),打开项目的 output 文件夹,可以找到 boot.img
。
有了 boot.img
之后,就将该文件放到手机中,位置随意(比如/sdcard/Download/
),然后在手机上下载安装 Magisk,下载地址见 Magisk 官方的 Github。安装完成后打开 Magisk,选择右上角的 安装,方式选择 选择并修补一个槽位。并选择之前拷贝到手机里的 boot.img
文件,Magisk 会自动将打包好的文件放在 /sdcard/Download/magisk_patched_[random_strings].img
,将 magisk_patched_[random_strings].img
拷贝到电脑,在此将手机连接到电脑,用 ADB 工具执行 adb reboot fastboot
使手机进入 fastbootd 模式:
最后执行 fastboot flash boot /path/to/magisk_patched_[随机字符串,自己换成你的文件名].img
,将上文中 Magisk 打包好的文件输入手机,大功告成:
重启手机,打开 Magisk 即可查看 Root 状态。
四、参考资料
- https://topjohnwu.github.io/Magisk/install.html
- https://www.ytechb.com/how-to-root-oneplus-10-pro-and-unlock-bootloader/
- https://forum.xda-developers.com/t/official-tool-windows-adb-fastboot-and-drivers-15-seconds-adb-installer-v1-4-3.2588979/
- https://forum.xda-developers.com/t/oneplus-10-pro-coloros-12-1-a-08.4393035/
五、附录
1. Fastboot 模式下电脑无法识别手机
这是笔者在解锁 Bootloader 时遇到的问题,解决方法是将在 Fastboot 模式下的手机连接至电脑,打开电脑的设备管理器,可以看见一个 Android xxx 的设备图标上有个黄色的惊叹号表示无法正确地驱动设备(即我们的 Fastboot 下的手机),右键该设备,选择 更新驱动程序 -> 浏览我的电脑以查找驱动程序 -> 让我从计算机上的可用驱动程序列表中选取 -> 选择名字里带 Fastboot 的那个驱动,安装它即可。