本文由 Coxxs 原创,转载须注明原文链接:https://dev.moe/1144
一加手机 7 Pro 刚刚开售,一如既往,一加手机依然可以轻松解锁 Bootloader。不过这次一加用的是 A/B 分区方式,Root 等操作的方式与以往不同,因此写一篇文章简单总结下。
免责声明:本文为经验总结,操作前请先备份,操作风险自负。
和以往的手机的区别
- 由于是 A/B 分区模式,没有
recovery
分区,Recovery 和boot
分区做在了一起(放在boot_a
和boot_b
中) ,而boot
分区每个系统版本都不同。 - 死机时按住
音量加
+电源键
强制关机(只按电源键
没用)。 - 开机时按住
音量加
+音量减
+电源键
进入 Bootloader,从 Recovery 中也可操作重启进入 Bootloader。 目前没有可以通过fastboot boot twrp.img直接进入的 TWRP,也不方便直接刷入 TWRP(见第 1 条)。现在只能先刷入 Magisk,再用 Magisk 将 TWRP 刷入boot分区。
现在已可轻松使用 TWRP。本文也添加了使用 TWRP 刷入 Magisk 的方法,更方便。
氢OS -> 氧OS (H₂ OS -> O₂ OS)
一加现在只提供系统的卡刷包,不过一加也允许两个系统互刷(据说有版本号不能降级的限制)。 下载 ROM 包后,设置 -> 系统 -> 系统更新 -> 右上角齿轮 -> 本地升级
直接刷入即可。
国行一加 7 Pro(GM1910)支持 GM21AA(全球版) 以及 GM21BA(欧盟版)的 O₂ OS。
需要注意 O₂ OS 缺少少数本土化功能,如 NFC 交通卡。
解锁 Bootloader
下载 SDK Platform Tools(包括 adb、fastboot 等实用程序)
解锁方式和以前没啥变化:
设置 -> 关于手机 -> 快速多次点击版本号 -> 成功成为开发者
系统 -> 开发者选项 -> 开启 OEM 解锁、开启 高级重启
按住电源键 -> 引导加载器(Bootloader)
- 连接电脑,执行命令
fastboot oem unlock
,手机屏幕上确认解锁 Bootloader,解锁时手机将自动清除所有数据
解锁 Bootloader 后,开机第一屏会被替换成安全提示。另外,解锁后也别闲着没事重新上锁了,因为如果上锁时手机没有完全恢复到官方系统,可能会过不了校验造成变砖(附:希望不会用到的救砖教程)。
安装 Magisk(使用 TWRP)
下载 Magisk-vX.X.zip 刷机包及 Magisk Manager.apk
[Android 9] 下载官方版 TWRP
[Android 10] 下载修改版 TWRP
- 进入 Bootloader,电脑上执行
fastboot boot twrp.img
让手机临时进入 TWRP。 - TWRP 中输入正确密码解密分区(如果设置了密码),并选择
Advanced -> ADB Sideload
,确认进入 Sideload 模式。- 注意!如果设置了密码,这里以及后续所有涉及 TWRP 的操作中,都必须正确解密分区。Magisk 会将备份的 boot.img 存在 data 中,如果不解密 data 直接 sideload,会造成 boot.img 被刷坏。
- 在电脑上执行命令刷入 Magisk 的刷机包:
adb sideload Magisk-vX.X.zip
- 关闭并重新启动手机,若 TWRP 提示安装其官方应用,无需安装。
- 安装 Magisk Manager 的 apk,确认 Magisk 已成功激活。
至此,Magisk 已成功安装,请跳过下一章节继续阅读。
安装 Magisk(备用方式:免 TWRP)
上一种安装方法中需要用到 TWRP,如果无法使用 TWRP(这也是撰文时的情况),则可以换用本章的方法。
下载各版本 ROM 所对应的 boot.img(也可用 payload.bin dumper 自行从 ROM 包中提取)
- 安装 Magisk Manager 的 apk。
- 用 Magisk Manager 给 boot.img 手动补丁(
Install -> Select and Patch a File
),将获得的magisk_patched.img
传回电脑。 - 再次进入 Bootloader,连接电脑,输入
fastboot boot magisk_patched.img
临时进入支持 Magisk 的系统。- 注意!这里请不要直接刷入(
fastboot flash ...
)Magisk,避免造成 Magisk 无法备份原版boot.img
,在日后的更新中出问题。
- 注意!这里请不要直接刷入(
- 开机后,Magisk Manager 暂时有了 Root 权限,此时可以在 Magisk Manager 中正式安装 Magisk(
Install -> Direct Install
)。
OTA(系统更新)时的操作
系统更新时,默认会用全量包刷回未 Root 的状态。如果此时想保留 Magisk,建议先备份下数据(我翻过一次车了 = =#),然后按以下流程操作:
- 等待系统更新进度条走到 100%,即更新完成,此时不要重启。
- 打开 Magisk,停用所有使用中的模块(不可省略本步骤)。
- 打开 Magisk,将 Magisk 安装到第二分区
(Install -> Install to Inactive Slot(After OTA)
)。 - 自动重启进入新系统,确认下系统版本号是否更新、Magisk 是否正常激活。
- 打开 Magisk,在 Downloads 页面下载、覆盖安装所有 Magisk 模块后再重新启用模块(不可省略本步骤),再次重启,检查自己用的模块是否正常工作。
- 如果这里直接启用第2步停用的模块而没有重装,或是第2步时忘记停用所有模块了,此时重启可能无法进入系统。可回到旧系统重新停用模块。
- 如果翻车,想回到旧系统却没有自动回去的话,可以进入 Bootloader,使用
fastboot getvar current-slot
获取当前分区,并使用fastboot --set_active=a
或fastboot --set_active=b
切换回原来的分区。
TWRP?
至此,我们已经成功安装了 Magisk,现在可以使用 Magisk 管理 Root 权限、安装 Xposed 框架,并做更多令人愉悦的事情。是的,我们不需要安装 TWRP ;)
如果你还是想装 TWRP,方便备份之类的操作,可以参考官方的教程。
Coxxs
感谢三三对本文的指导。