Восстановить только часть образа nandroid

При попытке установить 2.2 я удалил все свои контакты (контакты были сохранены на телефоне, а не как контакты Google)
. Я сделал полную резервную копию nandroid , пока в телефоне все еще были эти контакты; однако, когда я пытаюсь восстановить изображение; Я получаю бутлуп.
Бэкап Nandroid содержит system.img, data.img, cache.img и boot.img;

Меня интересует, смогу ли я восстановить только data.img, чтобы вернуть контакты.

Я подумал о двух других решениях:

а) сделать новый нандроидный образ текущего состояния; убедитесь, что все в порядке, выполнив перезагрузку; затем откройте копию базы данных с контактами из одной резервной копии в другую.

б) открыть базу с контактами из data.img; и вручную перепечатать 200 телефонных записей.

Есть ли способ умнее (быстрее, проще)??

Ответы (5)

Восстановление 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 полностью :(

Мне удалось извлечь контакты из старой резервной копии, сделав это:

  1. Установите пакет SDK для Android

  2. Загрузитесь в режиме восстановления

  3. Сделайте полную резервную копию вашей текущей системы через резервную копию Nandroid

  4. Восстановите /data часть вашей старой резервной копии

  5. Загрузитесь в режиме восстановления

  6. Запускаем adb-сервер:

для Федоры
   $ вс -
   # компакт-диск ~/android-SDK/инструменты
   # ./adb kill-server ./adb start-server
ИЛИ для Ubuntu
   $ судо су
   # компакт-диск ~/android-SDK/инструменты
   # ./adb kill-server ./adb start-server
  1. Подключитесь к телефону Android с помощью команды adb SDK.

    ./адб оболочка

  2. Смонтируйте разделы /data и /sdcard через меню Recovery на вашем телефоне.

  3. Скопируйте контакты из старого раздела /data в раздел /sdcard

   # cp /data/data/com.android.providers.contacts/databases/contacts2.db /sdcard/contacts2.db.old
  1. Размонтировать раздел /data

  2. Формат / раздел данных

  3. Восстановите текущий раздел /data из резервной копии

  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

Также доступно несколько приложений, помогающих с частичным восстановлением Nandroid:

Все они дают вам возможность извлечь части вашей резервной копии Nandroid: приложения и их данные, SMS и т. д., и немного упрощают процедуру.

Таких больше нет ? :(
@endolith Вау. Затем я вижу призрак. Titanium Backup все еще там (правда, некоторое время не обновлялся).
Да, но Titanium Backup больше не видит резервные копии Nandroid
Ах! Не знал этого. Давным-давно, когда я пытался… Тем временем я проверил и не смог найти более новый инструмент, извините.