没解锁的一加手机刷Recovery的方法
先跟大家说说我蛋疼的经历吧:最开始拿到一加,是ColorOS,后来在论坛上找了一个TWRP直接刷进去,因为没解锁,但是一加的Bootloader似乎没有限制临时引导Rec,所以直接进入了TWRP,刷了CM11但是,注意是没解锁,进入CM11以后,手贱勾选了开发者选项里的更新CM恢复模式,重启之后发现,Recovery变成了CM官方的Recovery,只能识别CM官方包,其他什么也刷不进去。同理,不管用什么刷机工具包,什么万能工具,什么一键恢复官方XX……都不管用,连强制线刷也不行,问题就是出在没有解锁这点上。(我想吐槽:什么叫强制线刷啊,如果一定要解锁才能线刷,还能叫强制吗……按照这种工具的逻辑,如果事先没有解锁,变砖了,那岂不是只能返修?)网上搜索的无数种办法都没法用。后来,我换了个思路:为什么CM本身能把原来ColorOS的Rec主动替换成自己的呢?我不是没解锁吗?于是我想起来我以前给全志A31s平板做的刷机包——那时候我是在安卓系统下直接通过终端模拟器输入Recovery镜像的。毕竟设备Root容易过刷机,反正现在已经在CM11模式下了,Root是现成的,那么这种方法能不能也适用于一加手机呢?于是决定死马当活马医,试一试!
先给大家看看当年我做全志A31s的TWRP时的刷入方法,方案和思路来自国外论坛Slatedroid:
(关键就在于cat这行,这是将img镜像写入block分块里的命令,懂安卓的还可以用cat干很多事情,这里不再赘述。)
方法/步骤
-
一加的Recovery在block里不是nandg,具体是什么,我们需要下载任意一个Recovery卡刷包来查看。这里我使用的是论坛上最新的TWRP卡刷包,打开zip文件,依次进入META-INF\com\google\android目录,双击打开update-script文件,最好事先下载一个notepad++之类的高级编辑器,然后用它打开,系统自带的记事本会没法识别UNIX格式的换行符,看起来是一堆英文混在一起,而不是清晰的分行。打开刷机脚本update-script后,我们需要看的是刷入Recovery这行命令,相信对于做过刷机包的同学来说都不陌生:
-
真相大白了,一加手机的Recover的位置是/dev/block/platform/msm_sdcc.1/by-name/recovery,那么我们只需要像刚才A31s刷Recovery那样,替换一下文字即可。
-
进入CM11或其他已经Root了的系统,切记开发者选项内Root授权要选择应用程序与ADB,也要允许电脑进行调试!
-
将下载好的ColorOS官方recovery.img放进手机存储根目录(一加论坛有下载。这样做是为了进入ColorOS的Rec进行解锁,如果你不想解锁,可以直接用别的Rec,但是还是建议解锁吧,不然真砖以后就难办了)。
-
电脑上运行adb(方法不再赘述),输入如下命令: adb shell 回车 su 回车 (等待一会儿,看到命令行里的$变成#以后,继续操作) cat ./data/media/0/recovery.img > /dev/block/platform/msm_sdcc.1/by-name/recovery 回车 (切记,cat后面有一个空格,recovery.img后面有一个空格,>后面有一个空格) (等待一会儿,命令行会自动完成执行并回到#处)
-
此时退出adb,重启手机到Recovery下,是不是发现你已经成功刷入你想要的Recovery了?真正的无解锁刷Rec哦!
-
至此,你想解锁就解锁,想刷机就刷机吧!解锁后的手机,终于可以用fastboot命令刷入其他Recovery了。
-
于是我果断刷了TWRP,一次成功,然后又刷入CM12,终于让我看到了完美的一加手机!
END