iphone4备份的另类恢复:无法使用itunes恢复的解决方法

美版iphone4有锁,之前一直都是采用伪激活方法,没法使用推送和facetime,最近在taobao上买了att激活卡,在激活和越狱后遇到了iphone的备份恢复问题,特此记录,供有类似问题的同学参考。

重新激活后不能恢复之前的备份,需要设置为新iphone,就在这一步带来了问题。但之前的之前的最新call_history、sms等还没有单独备份出来,因此首先想到的就是先从旧的备份里恢复。

但在itunes里恢复的时候傻眼了,从备份中恢复的窗口里显示的备份居然不完整(此备份是好久以前了),而刚刚最新的备份居然不显示。

抱着侥幸的心态,先从此次新的备份里先恢复看看。恢复完成后发现通话记录、sms都只到这个次新的时间点,大量的信息丢失,因此不可接受。

为什么itunes里不显示所有的备份?找了很久也没有找到一个合适的解决办法。

进入到itunes的备份目录,我在mac下是在 ~/Library/Application Support/MobileSync目录下,进去后发现系统重装之前的时间点的确是有备份的。

同时在google过程中发现还有别的软件可以读取itunes的备份记录,而itunes的备份中文件名都是一个编码后的文件。包括data recovery for itunes,下载下来运行后先试用发现最新的备份记录中各种信息的确在那儿,但试用版不能恢复文件。又找到了另外一个iphone backup extractor,这个是用.net实现的,在mac下可以通过mono来运行,但速度超慢,不知为何。

但从其官网网站的帮助里找到了这个好东西:iphone备份文件各种重要信息的命名方法!(iTunes stores the backup files with hex-encoded SHA1 hashes.)

几个重要文件的备份文件如下表。

Contents OS Real filename Backup filename Type
SMS / Text messages 1-6 sms.db 3d0d7e5fb2ce288813306e4d4636395e047a3d28 SQLite 3
Contacts / address book 1 AddressBook.sqlitedb adb8c77534444e97c31ff15924d50f3ed1fbd3b1 SQLite 3
Contacts / address book 2-6 AddressBook.sqlitedb 31bb7ba8914766d4ba40d6dfb6113c8b614be442 SQLite 3
Calendar 1 Calendar.sqlitedb 14ee8cdc3e6e0220399ff210246e1c92b7df89a0 SQLite 3
Calendar 2-6 Calendar.sqlitedb 2041457d5fe04d39d0ab481178355df6781e6858 SQLite 3
Notes 1-3 notes.db 740b7eaf93d6ea5d305e88bb349c8e9643f48c3b SQLite 3
Notes 4-6 notes.sqlite ca3bc056d4da0bbf88b5fb3be254f3b7147e639c SQLite 3
Call history 1 call_history.db a49bfab36504be1bf563c1d1813b05efd6076717 SQLite 3
Call history 2-3 call_history.db ff1324e6b949111b2fb449ecddb50c89c3699a78 SQLite 3
Call history 4-6 call_history.db 2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca SQLite 3
Locations 4-6 consolidated.db 4096c9ec676f2847dc283405900e284a7c815836 SQLite 3

因此想是否可以直接从这些备份里找到几个关键的数据库文件,然后越狱后用ssh覆盖对应的文件。重新安装系统、越狱、安装openssh。然后通过ssh拷贝所有的文件到iphone中:

/private/var/mobile/Library/SMS/sms.db
/var/root/Library/AddressBook/AddressBook.sqlitedb
/var/root/Library/Caches/locationd/consolidated.db
/private/var/wireless/Library/CallHistory/call_history.db

其实,最重要的就是sms和call history,其他的关系不大。同时要注意,其中数据库文件的另外缓存文件(如sms.db-wal等文件)是需要删除的,然后将手机重新启动即可。


已发布

分类

来自

标签:

评论

《 “iphone4备份的另类恢复:无法使用itunes恢复的解决方法” 》 有 2 条评论

  1. gonewithwind 的头像
    gonewithwind

    谢谢楼主的文章,总算又来了点思路。不知道行不行,没越狱的是否能有其他办法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注