提取安卓手机的recovery

一直都是从网上下载的recovery文件安装到手机。至于这个小小的recovery到底是什么全然不知。能不能自己做一个recovery呢?因为功能比较多的clockworkmod(简称cmw)的官网上并没有提供我的机型下载,网上的版本是如何做出来的呢?

先找个recovery研究一下再说。

recovery.img 是一个镜像文件,想起了之前弄过的软盘镜像文件。找一个可以打开镜像的工具(winimage、ultraiso),打开里头有三个文件:bootimg-header.bin、bootimg-kernel.bin、bootimg-ramdisk.gz。根据字面意思,一个头和内核二进制文件、内存盘的压缩文件。

搜索了一下自制recovery教程,前面两个应该是内核,bootimg-ramdisk应该就是recovery程序。根据教程所谓的移植,难不成就是官方内核加上cmw的ramdisk。这个问题再放在一边。

先提取手机的recovery吧。我的手机型号是v880+,找到官网的支持下载。找到了三个文件:一个驱动、一个tf卡升级bin文件、一个(在电脑上)一键升级的文件。二进制文件(bin)没办法搞,一键升级的又是单独exe文件,却不知道怎么解开,先放弃。

试试如何从手机里提取出。

发现网上用调试工具(adb)可以对手机进行备份等操作。找到官方提供的驱动安装程序安装,安装成功后,可以在设备管理器里找到adb interface下有一个zte composite adb interface。另外在安装文件夹里有一个adb.exe的文件。

shift+右键单击文件管理器的空白处,选择“在此处打开命令窗口”。

打开手机的开发者调试选项。

执行adb,可以看到一些帮助信息,adb devices看看连接上没。

查看磁盘分区信息 adb shell,进入手机的shell,获取权限# su ,#cat /proc/mtd 可以查看到分区。似乎不同设备查看分区的方法不一样,具体这个分区又是个怎么回事也不清楚。

分区如下:

# cat proc/mtd
cat proc/mtd
dev:    size   erasesize  name
mtd0: 00500000 00020000 "recovery"
mtd1: 00500000 00020000 "boot"
mtd2: 00180000 00020000 "splash"
mtd3: 00080000 00020000 "misc"
mtd4: 02580000 00020000 "cache"
mtd5: 0dc00000 00020000 "system"
mtd6: 0a280000 00020000 "userdata"
mtd7: 01500000 00020000 "oem"
mtd8: 00180000 00020000 "persist"

把recovery导出来:

# cat /dev/mtd/mtd0 > /sdcard/recovery.img

就导出到sdcard里的recvoery.img文件了。然后拉到电脑里来:adb pull /sdcard/recovery.img e:\android\v880plus-recovery.img

---

另外一个命令查看分区:

# cat /proc/partitions
cat /proc/partitions
major minor  #blocks  name

7        0      10427 loop0
  31        0       5120 mtdblock0
  31        1       5120 mtdblock1
  31        2       1536 mtdblock2
  31        3        512 mtdblock3
  31        4      38400 mtdblock4
  31        5     225280 mtdblock5
  31        6     166400 mtdblock6
  31        7      21504 mtdblock7
  31        8       1536 mtdblock8
179        0    7774208 mmcblk0
179        1    7274414 mmcblk0p1
179        2     250000 mmcblk0p2
179        3     249793 mmcblk0p3
254        0      10426 dm-0

---

一个玩国产安卓平板的网页:http://www.imajeenyus.com/computer/20130301_android_tablet/android/index.html

上一篇:在Windows上运行Linux


下一篇:ASP.NET状态管理详解,让你明明白白