找回一加7pro更新安卓11时意外丢失的root权限
0x00 前因
一加7pro最近正式推送了安卓11版本,大概修复了前两个撤包正式版的问题。常规不丢失root的更新方法是安装OTA更新后不要重启:
- 打开magisk管理器
- 在magisk一栏选择安装
- 选择安装到未使用的槽位
然而为了快速体验到安卓11,安装完更新后手滑直接点了重启,然后root权限就无了。由于更新app检测到root会下载完整包更新,更新完之后recovery也会重置成官方版本。更雪上加霜的是,由于更新了安全启动验证,目前在安卓11上暂时没有recovery可以使用fastboot boot recovery.img
启动,所以通过第三方recovery安装magisk的计划也泡汤了。
不过好在某个时期之后的新机器都采用了A/B槽机制,原有的系统和recovery还在另一个槽位。不过并不能通过直接切换槽位的方法进入未更新前的系统,但是可以通过原有的recovery来找回root权限。
注意:如果原来没有root过,或者没有安装第三方recovery如twrp,那么恭喜你,该问题不能简单解决,用大侠阿木的工具解决吧。
0x01 工具准备
ADB工具和相应的驱动是必须的,可以到这里下载,密码3neq
。
0x02 操作步骤
安装完驱动后,手机通过USB连接电脑。然后按照以下步骤操作(假设更新后系统槽位为b,如果发现下述操作无效,则把以下步骤中的a换为b,b换为a):
- 让手机进入fastboot模式(重启手机时按住音量-,输入解锁密码后选择进入刷机模式)
- 打开解压完的adb工具目录下的
cmd-here.exe
- 输入
fastboot --set-active=a
并回车 - 输入
fastboot reboot
,按住手机音量-并回车 - 此时手机进入了更新系统前的第三方recovery,依次输入:
1adb shell dd if=/dev/block/by-name/boot_a of=/tmp/boot.img
2adb pull /tmp/boot.img
3adb reboot bootloader
4fastboot --set-active=b
5fastboot reboot
- 在adb工具的目录下应该能找到名为
boot.img
的文件,将其复制到手机中 - 打开magisk软件,选择magisk一栏中的安装,选择并修补一个文件,选择刚刚复制到手机中的
boot.img
- 将magisk生成的
magiskxxxxx.img
复制到电脑adb工具的目录下,改名为bootp.img
- 再次让手机进入fastboot模式,然后输入
fastboot boot bootp.img
,等待一会儿进入系统 - 此时手机具有临时的root权限,打开magisk软件,选择magisk一栏中的安装,选择直接安装
- 大功告成!
0x03 后记
安装OTA更新之后务必要记住使用magisk工具安装到未使用的槽位!
安装OTA更新之后务必要记住使用magisk工具安装到未使用的槽位!!
安装OTA更新之后务必要记住使用magisk工具安装到未使用的槽位!!!
目前安卓11似乎在没有root的情况下不能正常进入第三方recovery,至少我的尝试失败了,所以不能通过先安装recovery再root的方法找回root权限。
此外,如果需要安装第三方recovery,在进入原槽位的第三方recovery后,可以直接安装recovery的zip包,可以同时更新两个槽位的recovery。或者在取得root权限后,使用fkm等内核管理软件安装recovery的zip包。recovery推荐使用twrp。
师兄666,成功找回了root权限