备份和恢复Android手机的NAND分区

备份:
Android使用的是Linux系统,因此通过使用内建的命令控制台可以备份大部分闪存中的内容(除开hboot和特殊的隐藏区段)。如果手机的HBOOT是处于S-OFF的状态,还可以通过 fastboot.exe 直接进行恢复。

先决条件:安装ADB驱动,具备adb shell环境,手机ROOT过。

首先,运行以下命令:

adb shell

su

cat /proc/mtd

在运行了 cat /proc/mtd 后,会显示出当前的ROM分区情况,注意看mtd后面的数字,通常是mtd0至mtd5。如果你的NAND重新分区过,建议执行以下命令进行导出到存储卡:

cat /proc/mtd >>/sdcard/mtd.txt

备份分区表名后,即可开始备份分区了,分别执行以下命令即可将分区导出到存储卡:

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

cat /dev/mtd/mtd1 >>/sdcard/mtd1.img

cat /dev/mtd/mtd2 >>/sdcard/mtd2.img

cat /dev/mtd/mtd3 >>/sdcard/mtd3.img

cat /dev/mtd/mtd4 >>/sdcard/mtd4.img

cat /dev/mtd/mtd5 >>/sdcard/mtd5.img

备份的速度取决于存储卡的速度,备份完毕后,将存储卡根目录下的 mtd.txt 和 mtd0.img至mtd5.img 拷贝到电脑上即可。


恢复:
如果要恢复分区,则需要安装fastboot(HBOOT)驱动,并且具备fastboot.exe和运行环境。

每个分区镜像的名字(mtd0.img)都对应一个分区,比如mtd0对应的是misc,这些名字都可以在上文中导出的分区表中看到。比如我的是:

dev:    size   erasesize  name 
mtd0: 000a0000 00020000 "misc" 
mtd1: 00480000 00020000 "recovery" 
mtd2: 00300000 00020000 "boot" 
mtd3: 05a00000 00020000 "system" 
mtd4: 00a00000 00020000 "cache" 
mtd5: 151a0000 00020000 "userdata"

假如我们需要恢复misc分区,那么将手机进入HBOOT状态(HTC Desire是按住返回键开机),通过USB连接上电脑,然后运行:

fastboot flash misc mtd0.img

这样,备份的misc分区就被写回了手机,以上表为例,recovery对应的是mtd1,boot对应的是mtd2,以此类推。



转载于:https://www.cnblogs.com/puncha/archive/2012/06/17/3876981.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值