玩过安卓刷机的朋友相信都听说过Recovery,在刷机前,第一步往往是解锁手机,第二部就是刷入Recovery了。利用Recovery读取第三方Rom并刷入系统,才能实现刷机。不过关于安卓的Recovery,很多人只是刷机时就简单用一下,并不求甚解,有时候跳进了坑还浑然不知。今天,就一起来谈谈安卓Recovery吧!
安卓Recovery:它到底是什么
熟悉安卓系统的朋友都知道,Google官方发布的安卓系统完整镜像包含着数个img文件,其中就有recovery.img。按照官方步骤进行刷机的时候,安卓镜像的数个img文件会被写入安卓机中不同的分区,例如安卓系统主体会被写入System分区,Recovery也拥有自己独立的分区。实际上,Recovery无需安卓系统主体,也可以独立运行。从这方面来看,Recovery很像是一个微型的操作系统。
这是手机厂商预装的Recovery的界面,刷机前一般会先把Recovery更换成第三方
实际上,Recovery的定位的确很类似PC平台的WinPE。它本质上是一个非常精简的Linux,用以读写System分区(安卓系统主体)、Boot分区(内核)的内容。为什么刷机需要先刷Recovery?因为用Recovery改写System分区是极为方便的。尽管Fastboot也可以改写System分区,但这往往需要连接电脑、利用adb来进行,比较麻烦。例如使用Fastboot来root手机,需要在电脑上输入复杂的命令行,而使用Recovery来root就只需要点选相应的su文件,然后刷入System分区即可。
安卓Recovery:它到底可以做什么
很多朋友都用过WinPE,WinPE能干的事情令人印象深刻。当系统挂掉或者需要调校系统的时候,引导进入WinPE,可以自由管理电脑中的文件,运行一些工具,对系统进行备份、修改乃至重装。Recovery在安卓中干的事情,和WinPE也非常相似。
Recovery的本职工作就如其名字一样,是“重置”。Recovery首先可以对安卓系统进行各种重置,例如清除Cache、Data等等,也就是刷机玩家常说的“Wipe”。但是,如果要彻底重置系统,还是需要重新刷入System相关文件才能实现。
使用TWRP进行Wipe的界面
Recovery可以修改System分区,玩家可以藉此实现很多功能。例如前文说过的root,root的本质是用第三方su替换掉系统su,从而实现提权,正统的root方法就是手动把相应的文件从Recovery中刷入System。又例如可以利用Recovery清除系统预装App,预装App一般被写到了System分区中,寻常方法难以更改,如果Recovery带有文件管理器,那么删除预装的App就成为了轻而易举的事情。
使用TWRP在System分区刷入zip包
除了这些功能外,一些强大的第三方Recovery还拥有挂载系统储存、解压缩、备份系统、编辑系统文件(如host、build.prop)等。不过,官方的Recovery一般都不会去做这么多功能,多数的官方Recovery只提供了重置系统(Wipe)和升级系统的功能。这是可以理解的,对普罗大众开放太多的高级功能,有概率会把系统玩坏或造成数据丢失。其中,利用官方Recovery进行升级,可能是最实用的功能之一。
这是原生安卓官方的Recovery,没有什么功能,非常简陋
以Google官方的原生系统为例,Google的系统更新推送往往不能第一时间覆盖所有的机型,但是没有收到OTA更新的话,是可以利用Recovery来手动进行OTA升级的。下载OTA升级包后,在Recovery模式下连接电脑,用adb sideload命令刷入OTA包即可,效果等同于接收OTA推送,不会丢失数据。
第三方Recovery:你都用过吗?
显然,官方Recovery难以满足玩家们的各种折腾需求。刷第三方ROM需要写入System分区,官方Recovery是不提供该功能的。因此,第三方的Reocvery就成为了刷级玩家标配,刷ROM前需要先刷Recovery,也是因为如此。
现在主流的第三方Recovery有两种,一起来看看吧。
◆ClockWorkMod Recovery
ClockWorkMod简称CWM,这是一个资格非常老的第三方Recovery。CWM基于安卓2.1的Recovery改写,从安卓2.X时代开始,它就非常流行,一度是最受欢迎的第三方Recovery。CWM的功能强大,可以进行Wipe、刷机、备份、挂载磁盘、格式化等操作,甚至还可以调节手机CPU等硬件性能。CWM的开发团队和著名第三方ROM CyanogenMod有着千丝万缕的关系,这令CWM更为流行。
CWM Recovery界面,通过音量键来操作
不过,CWM对触屏的支持并不好,而且功能也渐渐被其他Recovery超赶。目前CWM已经不是最广为流行的Recovery了。
◆Team Win Recovery Project
这是目前最为流行的第三方Recovery,可以说是现在刷机的标配了。和CWM相比,TWRP的界面更加华丽,可以进行触屏操作,不需要用音量键慢慢上下选择功能。在功能方面,TWRP对比CWM可谓是有过之而无不及,它拥有一个非常强大的终端,并且带有触摸键盘,能够直接在Recovery当中使用adb命令来设置、修改系统。
TWRP的界面更华丽,而且可以触控操作
TWRP支持的机型非常多,而且匹配新机型的速度也很快,加之是开源的,开发者可以自行修改以匹配特定机型,因而TWRP非常受欢迎。
无论是CWM还是TWRP,都是开源的Recovery,因此它们也为安卓业界贡献了很多,一些厂商使用了它们的代码,编写自己的Recovery。
厂商为何不让用户刷Recovery?
和官方的Recovery相比,第三方Recovery无疑强大得多。要如何安装第三方Recovery?没有限制的话,只需要在fastboot状态下连接电脑,使用fastboot命令“fastboot flash recovery xxx.img(Recovery的文件名)”就可以刷入。但是,第三方的Recovery并不是随便就能够安装的。除了机型匹配方面的问题,最大的问题就是很多厂商都锁定了bootloader,用户不能更改Recovery分区的内容。而且,这趋势在这两年还愈演愈烈,以前不锁机的厂商,现在也锁机了。为什么会这样呢?
厂商给出最有力的理由,就是安全。的确,Recovery如果可以随意改写,会造成很多安全问题。例如一些恶意App,可以凭借修改Recovery,在安卓中挥之不去——无论你把它卸载了多少次,下次开机后,你又会重新见到它。某些正规大厂出品的安全App,也会更改Recovery,例如雷电OS这个App就会篡改Recovery,这些是手机厂商难以容忍的。
不过很多厂商也为用户提供了解锁bootloader的服务,刷机玩家选购手机的时候,可以着重关注一下这方面。
总结
现在安卓玩家已经越来越少刷机,厂商对Recovery的限制也越来越严格,连Nexus/Pixel都需要比较繁琐的解锁步骤,才能刷入Recovery。因此,关注Recovery的用户也少了很多。不过,第三方Recovery总是有用的,如果你不是特别注重安全,想要最大限度发挥安卓机的功能,不妨刷一个TWRP之类的第三方Recovery试试吧!