仅还原部分nandroid图像


8

为了尝试安装2.2,我删除了所有联系人(联系人已保存在手机中,而不是Google联系人),
我已经完成了完整的nandroid备份,而手机中仍然有这些联系人;但是,当我尝试还原图像时;我得到了bootloop。
Nandroid备份包含system.img,data.img,cache.img和boot.img;

我想知道是否只能还原data.img以获取联系。

我想到了另外2个解决方案:

a)制作一个新的当前状态的nandroid图像;通过重新启动来确认一切正常;然后打开包含联系人的副本数据库从一个备份到另一个。

b)使用data.img中的联系人打开数据库;并手动重新输入200条电话记录。

有没有更聪明(更快,更简单)的方法?

Answers:


6

Clockworkmod恢复具有“高级还原”选项,该选项使您可以仅选择以下分区之一:引导系统数据缓存sd-ext

如果尚未安装,请从市场上下载ROM Manager,这将帮助您安装Clockworkmod Recovery。

(我不知道这是否可以解决您的问题,但是是的,您可以还原数据分区!;))


3

将映像挂载到计算机(Linux)或电话中,提取联系人数据库,然后将其复制到电话中的联系人数据库中。您可以使用回送设备(例如)执行此操作mount -o loop /sdcard/myimage.img myimage。之后,您可以在“ myimage”中查看内容。该数据库应为data/data/com.android.providers.contacts/databases/contacts.db

您可以通过复制中的相关文件夹来还原单个应用程序的数据/data/data/



1

我无法通过mount -o loop挂载data.img :(同样,恢复旧的data.img导致Android手机卡在Cyanogen徽标屏幕上,并且无法完全加载Android OS :(

通过这样做,我设法从旧备份中提取联系人:

  1. 安装Android SDK

  2. 引导进入恢复模式

  3. 通过Nandroid备份对当前系统进行完整备份

  4. 恢复旧备份的/ data部分

  5. 引导进入恢复模式

  6. 启动adb服务器:

对于Fedora
   $ su-
   #cd〜/ android-sdk / tools
   #./adb kill-server ./adb启动服务器
或对于Ubuntu
   $ sudo su
   #cd〜/ android-sdk / tools
   #./adb kill-server ./adb启动服务器
  1. 通过adb SDK命令连接到您的Android手机

    ./adb外壳

  2. 通过手机上的“恢复”菜单挂载/ data和/ sdcard分区

  3. 将联系人从旧的/ data分区复制到/ sdcard分区

   #cp /data/data/com.android.providers.contacts/databases/contacts2.db /sdcard/contacts2.db.old
  1. 卸载/数据分区

  2. 格式/数据分区

  3. 从备份映像还原当前/数据分区

  4. 备份当前的联系人数据库

    #cp /data/data/com.android.providers.contacts/databases/contacts2.db /sdcard/contacts2.db.current
  1. 复制旧联系人到当前联系人
    #cp /sdcard/contacts2.db.old /data/data/com.android.providers.contacts/databases/contacts2.db

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.