Sukka's Blog

童话只美在真实却从不续写

一加 OnePlus 7 刷入氧 OS、TWRP、Magisk (Root)

Sukka's Avatar 2019-06-13 笔记本

  1. 1. 0. 安装 ADB 工具包
  2. 2. 1. 解锁 Bootloader
  3. 3. 2. 刷入 TWRP … ?
  4. 4. 3. 刷入氧 OS
  5. 5. 4. 刷入 TWRP … !
  6. 6. 5. 刷入 Magisk
  7. 7. 6. 其它注意事项

一个多月前,一加推出了「5 年诚意之作」OnePlus 7 系列。带 90Hz 流体屏幕的全面屏 OnePlus 7 Pro 发售第一天就被哄抢一空;倒是 OnePlus 7 完全不费劲就从官网上买到现货。一加就是要拿来折腾和刷机的,所以不出意外第一步应该是要输入 TWRP、Magisk。如果没有别的 ROM 可以刷,至少也要用氧 OS。

OnePlus 7 使用了 A/B 分区,因此没有独立的 Recovery 分区;Recovery 现在是 Boot 的一部分。按照指导教程,应该使用 fastboot boot 实现临时从指定镜像启动,从而进入 TWRP,并通过刷入 twrp-installer 实现对 TWRP 的持久化。完整的步骤如下:

0. 安装 ADB 工具包

如果你的电脑上还没有 ADB / Fastboot 工具包(Google SDK Platform),那么需要 前往 Google Developer 下载

1. 解锁 Bootloader

在「设置 - 关于手机」中点击 7 次「版本号」启用开发者选项:

op7/1.jpg

在 氢 OS 上启用开发者选项后,Google 服务框架会被自动取消隐藏。

然后前往「设置 - 系统 - 开发者选项」,分别启用「OEM 解锁」和「高级重启」。

op7/2.jpg

长按电源键,从电源菜单中选择「引导器模式」,手机将会自动重启进入 Bootloader 模式。

在终端中使用以下命令解锁 Bootloader。

$ fastboot devices # 检查设备是否连接
$ fastboot oem unlock

手机会提示解锁 Bootloader 的风险警告信息。你需要用音量键操作选择是否解锁,并使用电源键确认。

op7/3.jpg

解锁后手机会自动抹掉所有数据并执行重启。

2. 刷入 TWRP … ?

早在 5 月 23 日,开发者 mauronofrio(OnePlus 7 Pro 的 TWRP 也是他在维护)在 XDA 上发布适配了 OnePlus 7 的 TWRP,现在已经合并到 TWRP 官方了,所以也可以前往 TWRP 官网 下载 Official Build

前往 TWRP 官网 下载 OnePlus 7 的 TWRP,需要下载 twrp-3.3.1-0 -guacamoleb.imgtwrp-installer-3.3.1-0-guacamoleb.zip 两个文件。

解锁 Bootloader、手机重启后,需要重新设法进入 Bootloader(你可以重新开启一次开发者模式通过高级重启进入),然后在终端使用以下指令:

$ fastboot boot path/to/twrp-3.3.1-0-guacamoleb.img

fastboot boot 指令提供了临时从某个镜像文件启动的方式,大大降低了 debug 的难度。

正常情况下,手机会临时进入一次 TWRP。

氢 OS 出厂版本仍然使用低版本的 Bootloader,尚不支持 fastboot boot 指令。这不影响你下一步刷入氧 OS。在你刷完最新版本的氧 OS 以后你可以再使用 fastboot boot 命令尝试临时进入 TWRP。

3. 刷入氧 OS

截止至本文写成,OnePlus 官网仍然没有上架 OnePlus 7 的 氧 OS 下载链接。XDA 上 有人抓包给出了 OnePlus 7 的氧 OS 9.5.4 版本的下载链接:

GM57AA

9.5.8: OnePlus7Oxygen_14.O.14_OTA_014_all_1907280717
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.O.14_GLO_014_1907280717/OnePlus7Oxygen_14.O.14_OTA_014_all_1907280717_d1747f2d7.zip
MD5: 0b766e097a9a7d4d9493f061992f8360

9.5.7: OnePlus7Oxygen_14.O.13_OTA_013_all_1907122308
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.O.13_GLO_013_1907122308/OnePlus7Oxygen_14.O.13_OTA_013_all_1907122308_3da72.zip
MD5: dbcf78975e81a1770df8aa8b96f25aa9

9.5.6: OnePlus7Oxygen_14.O.12_OTA_012_all_1906211401
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.O.12_GLO_012_1906211401/OnePlus7Oxygen_14.O.12_OTA_012_all_1906211401_20d0bb04.zip
MD5: 54a48ccba52d58110b6e4e06e6caa881

9.5.5: OnePlus7Oxygen_14.O.11_OTA_011_all_1906072127
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.O.11_GLO_011_1906072127/OnePlus7Oxygen_14.O.11_OTA_011_all_1906072127_544669d.zip
MD5: e570c7e6bdd86785d7b3a323cf69bf

OxygenOS 9.5.4: OnePlus7Oxygen_14.O.10_OTA_010_all_1905230221
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.O.10_GLO_010_1905230221/OnePlus7Oxygen_14.O.10_OTA_010_all_1905230221_0d2d2bbb26c719e.zip
MD5: 6b7213825261d9dfd5d10fd4b8ed1003

GM57BA

OxygenOS 9.5.8: OnePlus7Oxygen_14.E.14_OTA_014_all_1907280716
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.E.14_GLO_014_1907280716/OnePlus7Oxygen_14.E.14_OTA_014_all_1907280716_59f785502677f.zip
MD5: bd8bc0520d319ff426b7d58eba5b4964

OxygenOS 9.5.7: OnePlus7Oxygen_14.E.13_OTA_013_all_1907122301
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.E.13_GLO_013_1907122301/OnePlus7Oxygen_14.E.13_OTA_013_all_1907122301_8799f6c3.zip
MD5: 14c7850ff32534d5496c378ee03b8f45

OxygenOS 9.5.6: OnePlus7Oxygen_14.E.12_OTA_012_all_1906211402
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.E.12_GLO_012_1906211402/OnePlus7Oxygen_14.E.12_OTA_012_all_1906211402_ac77b5ced.zip
MD5: 58242729a73830d537f129806b1088e5

OxygenOS 9.5.5: OnePlus7Oxygen_14.E.11_OTA_011_all_1906072127
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.E.11_GLO_011_1906072127/OnePlus7Oxygen_14.E.11_OTA_011_all_1906072127_2a2e9cad.zip
MD5: c3c4c37ab1af4a4c1bbc0d0e232e3179

OxygenOS 9.5.4: OnePlus7Oxygen_14.E.10_OTA_010_all_1905230229
Download: https://otafsg1.h2os.com/patch/amazone2/GLO/OnePlus7Oxygen/OnePlus7Oxygen_14.E.10_GLO_010_1905230229/OnePlus7Oxygen_14.E.10_OTA_010_all_1905230229_6645b981a5.zip
MD5: 7dc363bedb1be48d4175912fa879d1b8

本文不是 氧 OS 下载页面,不会及时更新下载链接。请关注 XDA 原帖

一加国行、印度和全球版本的 OnePlus 7 需要刷 GM57AA(美版、印版)的氧 OS。GM57BA(欧版)的由于欧洲运营商频段覆盖不同,基带存在差异。

氢氧 OS 可以无缝互刷,但是不能从高版本降级到低版本。
如果你的 OnePlus 7 到手时并没有升级最新的 氢 OS,你可以直接将 氧 OS 的 zip 文件导入手机存储中,直接在「设置 - 系统 - 系统升级 - 右上角齿轮按钮 - 本地升级」中选择 氧 OS 的 zip 直接升级。

如果你已经将氢 OS 更新到最新版了,有可能无法通过「系统升级 - 本地升级」刷入。可以尝试一下 一加社区 提供的 氢氧互刷工具

如果你在第 2 步时已经进入了临时 TWRP,你也可以直接在 TWRP 中刷入氧 OS,但是注意刷完氧 OS 后一定先不要重启。

4. 刷入 TWRP … !

如果你之前在氢 OS 下无法进入临时 Bootloader,升级到氧 OS 9.5.4 以后 Bootloader 也已经升级到可以使用 fastboot boot 了,可以直接通过第 2 步的命令临时进入 TWRP。

临时进入 TWRP 以后,需要将 twrp-installer-3.3.1-0-guacamoleb.zip 导入手机存储中,在 TWRP 中刷入,使 TWRP 在手机中持久化。安装包会在 AB 两个分区中都安装一次 TWRP,这样无论手机从哪个分区启动都可以进入 TWRP。

5. 刷入 Magisk

在 GitHub 上 下载最新版的 Magisk 安装包和 Magisk Manager 并导入手机存储中,在 TWRP 中直接刷入 Magisk 的 zip 安装包即可。刷入成功后重启手机即可进入 氧 OS,并且已经安装好了 Magisk,从手机存储中安装 Magisk Manager 即可。

6. 其它注意事项

如果你想在下一次通过 TWRP 刷入 ROM 时保留所有 TWRP 和 Magisk,你需要严格按照以下步骤进行操作:

  • 在刷入 ROM 之前尽量关闭所有 Magisk 模块
  • 将你的 ROM、twrp-installer.zipmagisk.zip 全部导入手机存储中
  • 重启进入 TWRP,按顺序刷入 ROM、twrp-installer.zipmagisk.zip
  • 重启手机

如果你想在系统内升级并保留 TWRP 和 Magisk,你需要按照以下步骤操作:

  • 将你的 ROM、twrp-installer.zipmagisk.zip 全部导入手机存储中
  • 使用系统设置中的「系统升级」来升级系统;如果需要手动选择 zip,请使用「系统升级」中的「本地升级」
  • 在 Magisk Manager 的 Modules(模块)页面,通过「+」按钮刷入 twrp-installer.zip
  • 在 Magisk Manage 首页,点击 Magisk 旁边的「Install - Install - Direct Install」(直接安装)
  • 在 Magisk Manage 首页,点击 Magisk 旁边的「Install - Install - Install to Inactive Slot」(在非活跃分区安装)
  • 重启手机

一加已经在 GitHub 开源了他们的 骁龙 855 的内核源码,相信 OnePlus 7 很快也会有很多的 ROM。

完了,ROM 被我奶没了。OP7 到 2019 年 9 月 8 日本文更新,仍然只有一个印度人发布的测试版的 LineageOS,而且印度人咕咕咕了。

本文作者 : Sukka
本文采用 CC BY-NC-SA 4.0 许可协议。转载和引用时请注意遵守协议!
本文链接 : https://blog.skk.moe/post/op7-oos-twrp-magisk/

本文最后更新于 天前,文中所描述的信息可能已发生改变