一键备份手机原版Recovery 刷机无鸭梨

发表于 2016-8-17 14:26 | 浏览 5554

现在 Android 都开启傻瓜式刷机模式了,网上随便找个刷机软件,连上数据线就可以一键刷入自己稀罕的 ROM 系统。但是很多小伙伴发现,刷机后自己的手机原版 Recovery (恢复模式) 也被刷掉了变成了第三方的。。。

万一手机要保修或第三方的不好用,那肿么恢复原厂的 Recovery 呢?网上关于刷机的教程很多,但是关于备份 Recovery 的方法还真不是很好,所以菲菲君自行研究了一番,发现了一个简单方便又可靠的小方法,下面跟童鞋们分享一二。

备份 Recovery 分区需要 Root 权限,没有权限是无法备份的。

在下面教程中,手机党也可以直接在 JuiceSSH 模拟终端执行,只要去掉“adb shell 和引号”就行了,正好趁热打铁练练手,为了截图方便,以下步骤我通过电脑来演示咯~

PS:由于市面上的手机鱼龙混杂,各种硬件、ROM参差不齐,没有统一标准,所以菲菲君不保证这个方法适用于所有的手机。而且已知部分ROOT软件会篡改 install-recovery.sh 脚本,所以你的手机到底适用与否,抱歉菲菲也不可能一一测试,但是我在自己手机上是测试可行的。

联发科CPU手机备份 Recovery 步骤

1、手机连接数据线到电脑,开启USB调试模式,下载adb工具包解压到 C:\Windows 目录。

2、打开 cmd 命令窗口,执行下面的命令,读取 Recovery 分区镜像大小。

adb shell "cat /etc/install-recovery.sh | grep -m1 recovery:"

执行结果后,可以看到“recovery”后两个冒号之间的数字就是当前 Recovery 文件大小。

由rec安装脚本得出recovery镜像大小

3、继续执行命令,通过 dd 命令将 recovery 分区镜像备份到手机存储内存里。

adb shell su -c "dd if=/dev/recovery of=/sdcard/rec.img bs=1024 count=n"

【注意上面的“n” = Recovery 文件大小 ÷ 1024,计算器算一下,很简单。】

执行 dd 命令,将rec分区文件镜像到存储空间

4、命令执行完成后,使用手机文件管理器找到手机存储内存里的 rec.img ,比对一下大小,确保备份出来的 Recovery 文件是完整的 img 镜像。

当然使用命令就更简单啦,直接上命令

adb shell "ls -l /sdcard/rec.img"

更保险的话,还可以效验一下 sha1 的值,得出的结果跟第二步一致的话,更加万无一失!

adb shell "busybox sha1sum /sdcard/rec.img"


使用高通骁龙CPU的手机看这里

如果你的手机cpu是高通家的,那肯定跟mtk的不一样喽。首先需要做的就是找到 Recovery 分区的设备路径。然后再使用 dd 命令读出镜像即可。

而rec分区的设备路径就存放在 install-recovery.sh 脚本,所以第一条命令和mtk一样。

adb shell "cat /etc/install-recovery.sh | grep -m1 recovery:"

从命令执行结果可以得出rec分区的设备 /dev/block/platform/msm_sdcc.1/by-name/recovery (注:这个路径不同手机不一样,你需要自己执行命令获取)

搭载高通骁龙CPU的手机可以直接得出recovery路径

然后再通过dd命令将rec镜像备份出来就行了

adb shell su -c "dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=/sdcard/rec.img"

顺便多说一句吧,如果你的高通cpu手机 install-recovery.sh 脚本被篡改或丢失,上面的方法就无效了,不过可以使用R.E管理器去 /dev/block/platform 子目录下找找 recovery 文件,找到的话,替换为上面命令中路径,也是可以备份的。

总结:adb工具包绝对是一枚功能异常强大的玩机神器,希望菲菲博客的童鞋们多加学习,熟练操作,就可以学会很多不一般的高逼格搞机乐趣,你会真正发现,其实在 Android 手机的身影之后,套路还是很深滴~ 这是全全封闭的 Apple iOS 所无法企及的。

(原创文章版权所有,如需转载请注明原文链接!)