更新recovery的一个巧妙方法

On 四月 12, 2011, in 技术记录, by pensz

这是我当时刷新我手机recovery所使用的一种方法,在此备份一下,如果你的recovery无法刷新,可以试试用这个方法。

看了几篇更新recovery1.5.2的帖子,总体感觉是非常简单的,核心就是一条命令。
但tim版(32A SPL 1.33.0008 S-ON,目前装rom为安卓3.04)却更新失败,这些问题经过搜索也没有满意的结果。
经过自己的实验,发现一种可行的办法,和大家分享一下,希望能够有用,如有不对,还请诸位拍砖。

常用的刷recovery1.5.2 方法可能会有以下问题:

out of memory 错误
使用的命令:
flash_image recovery recovery.img
问题的具体情况可以参考这个链接: http://www.hiapk.com/bbs/thread-63257-1-1.html

FAILED (remote: signature verify fail) 错误
使用的命令:
fastboot flash recovery img/recovery.img
既然flash_img不行,那就使用fastboot,结果发现报签名错误,应该是s-on的缘故吧。
(xda上推荐的方法就是刷spl了,可是现在我的recovery都进不去了,而且我还不想刷spl)

header is the same, not flashing recovery 错误
该方法已经有点麻烦了,原理是先使用recovery.img 启动,然后再刷recovery。

引用帖子(http://www.android.net/bbs/viewthread.php?tid=9926&;extra=pageD1&page=1):

1. 进入fastboot模式
2. 跟电脑连上,装驱动什么的当然要
3. fastboot boot recovery.1.4.img
boot后面跟要刷的recovery的镜像
adb shell mount -a
挂载一切设备(指手机内的ROM和SD卡),忽略其他错误
adb push recovery.1.5.img /system/recovery.img
adb push recovery.1.5.img /sdcard/recovery.1.5.img
adb shell flash_image recovery /sdcard/recovery.1.5.img
4. 重启

结果还是不行,报上面的错。

header is the same, not flashing recovery

大概意思是文件的内容一样,既然这样,本人就想了一个投机的方法:
将启动所使用的recovery改成一个低版本的,然后刷1.5.2的recovery
具体方法如下:

下载一个老一点的recovery版,我下的是1.3.2,地址:http://forum.xda-developers.com/showthread.php?t=530492
1. 进入fastboot模式(手机开机时按返回键和电源键)
2. 跟电脑连上,装好驱动,开启usb调试模式
3. 在sdk目录的命令行下输入 fastboot boot recovery.1.3.2.img
(此处的 recovery.1.3.2.img 即为刚下的老版本recovery,无需拷贝至手机)
手机再次重启,进入1.3.2的recovery模式
然后在pc cmd端上输入以下命令:
adb shell mount -a
(挂载一切设备(指手机内的ROM和SD卡),忽略其他错误)
adb push recovery.1.5.2.img /system/recovery.img
adb push recovery.1.5.2.img /sdcard/recovery.1.5.2.img
adb shell flash_image recovery /sdcard/recovery.1.5.2.img
4. 重启

最后提醒大家,刷机有风险,刷前需谨慎。

Tagged with: