При попытке установить 2.2 я удалил все свои контакты (контакты были сохранены на телефоне, а не как контакты Google)
. Я сделал полную резервную копию nandroid , пока в телефоне все еще были эти контакты; однако, когда я пытаюсь восстановить изображение; Я получаю бутлуп.
Бэкап Nandroid содержит system.img, data.img, cache.img и boot.img;
Меня интересует, смогу ли я восстановить только data.img, чтобы вернуть контакты.
Я подумал о двух других решениях:
а) сделать новый нандроидный образ текущего состояния; убедитесь, что все в порядке, выполнив перезагрузку; затем откройте копию базы данных с контактами из одной резервной копии в другую.
б) открыть базу с контактами из data.img; и вручную перепечатать 200 телефонных записей.
Есть ли способ умнее (быстрее, проще)??
Восстановление Clockworkmod имеет опцию «Расширенное восстановление», которая позволяет вам выбрать только один из следующих разделов: загрузочный системный кеш данных sd-ext
Если у вас его еще нет, скачайте ROM Manager с маркета, и это поможет вам установить рековери clockworkmod.
(Я понятия не имею, решит ли это вашу проблему, но да, вы можете восстановить раздел данных! ;))
Установите образ на свой компьютер (Linux) или телефон, извлеките базу данных контактов и скопируйте ее поверх базы данных контактов в телефоне. Вы делаете это с помощью петлевого устройства, например mount -o loop /sdcard/myimage.img myimage
. «myimage» — это место, где вы можете просмотреть содержимое позже. База данных должна быть data/data/com.android.providers.contacts/databases/contacts.db
.
Вы можете восстановить данные для одного приложения, скопировав соответствующую папку в формате /data/data/
.
Вы можете использовать unyaffs для распаковки образа резервной копии, а затем получить прямой доступ к данным. Вот руководство о том, как это сделать.
Я не смог смонтировать data.img с помощью цикла mount -o :( Также восстановление старого data.img привело к тому, что телефон Android завис на экране с логотипом Cyanogen и не загружал ОС Android полностью :(
Мне удалось извлечь контакты из старой резервной копии, сделав это:
Установите пакет SDK для Android
Загрузитесь в режиме восстановления
Сделайте полную резервную копию вашей текущей системы через резервную копию Nandroid
Восстановите /data часть вашей старой резервной копии
Загрузитесь в режиме восстановления
Запускаем adb-сервер:
$ вс - # компакт-диск ~/android-SDK/инструменты # ./adb kill-server ./adb start-serverИЛИ для Ubuntu
$ судо су # компакт-диск ~/android-SDK/инструменты # ./adb kill-server ./adb start-server
Подключитесь к телефону Android с помощью команды adb SDK.
./адб оболочка
Смонтируйте разделы /data и /sdcard через меню Recovery на вашем телефоне.
Скопируйте контакты из старого раздела /data в раздел /sdcard
# cp /data/data/com.android.providers.contacts/databases/contacts2.db /sdcard/contacts2.db.old
Размонтировать раздел /data
Формат / раздел данных
Восстановите текущий раздел /data из резервной копии
Сделайте резервную копию вашей текущей базы контактов
# cp /data/data/com.android.providers.contacts/databases/contacts2.db /sdcard/contacts2.db.current
# cp /sdcard/contacts2.db.old /data/data/com.android.providers.contacts/databases/contacts2.db
Также доступно несколько приложений, помогающих с частичным восстановлением Nandroid:
Все они дают вам возможность извлечь части вашей резервной копии Nandroid: приложения и их данные, SMS и т. д., и немного упрощают процедуру.
Мэтью Рид