- Как сделать бэкап всего Android-устройства без рут прав
- Как сделать резервную копию всей информации на устройстве
- Как сделать резервную копию только данных приложений
- Как сделать резервную копию некоторых приложений
- Как восстановить данные из резервной копии
- Дополнительная информация
- Как сделать nandroid backup устройства непосредственно на компьютер, минуя sdcard
- Общая информация
- Требования
- Разделы в устройстве
- Резервное копирование всей памяти (посредством adb)
- Резервное копирование всей памяти (через WiFi)
- Резервное копирование всей памяти (через USB-модем или Wi-Fi-модем)
- Резервное копирование одного Раздела (raw = точная побитовая копия раздела)
- Резервное копирование одного Раздела (tar = копируются только файлы и папки)
Как сделать бэкап всего Android-устройства без рут прав
28 November 2017 в 14:14
С выходом Android 6.0 Marshmallow пользователям стала доступна по-настоящему нужная функция — автоматическое резервное копирование пользовательских данных приложений в сервис Google Drive. Но хоть в Google и позаботились о пользователях, добавив данную возможность, не все разработчики особо спешат обновлять свои продукты и добавлять в них подобную функцию. Так что после смены устройства либо сброса к заводским настройкам приходится заново проходить игры, менять настройки программ на свой вкус и т. д. Конечно, выручить из подобной ситуации может наличие рут-прав на устройстве. Но что делать, если получить их не представляется возможным? Кроме того, чтобы это сделать зачастую потребуется разблокировать загрузчик, что автоматически ведёт к потере всей информации на девайсе. В таком случае на помощь приходит ADB.
Немногие пользователи Android-устройств знают, что резервную копию всех установленных приложений и их данных возможно сделать без дополнительных манипуляций с их устройством. И в сегодняшней статье мы расскажем, как сделать бэкап всей системы, без разблокировки загрузчика и получения прав суперпользователя.
Как сделать резервную копию всей информации на устройстве
Чтобы не заморачивать себе голову и сохранять все скопившиеся фотографии, музыку, видео самому, данный способ будет отличным выбором. И вот что потребуется:
- Создать папку с именем Android в корне диска C:\.
- Установить USB-драйвера для вашего устройства (здесь можно найти ссылки на универсальные драйвера для некоторых устройств).
- В некоторых случаях для установки драйверов потребуется отключить проверку подлинности.
- Для Windows 7:
Во время включения компьютера, после загрузки BIOS, необходимо нажать клавишу F8. В появившимся меню «Дополнительные варианты загрузки» выбрать «Отключение обязательной подписи драйверов». Данный способ может сработать не с первого раза, поэтому следует повторить действие либо открыть командную строку от имени администратора и ввести две команды:
«bcdedit.exe /set loadoptions DDISABLE_INTEGRITY_CHECKS»;
«bcdedit.exe /set TESTSIGNING ON». - Для Windows 8:
Нужно нажать сочетание клавиш Win+I, зажать клавишу Shift и выбрать пункт «Выключение» > «Перезагрузка». При включении компьютера выбрать «Диагностика» > «Дополнительные параметры» > «Параметры загрузки» > «Перезагрузить». При загрузке выбрать режим «Отключить обязательную проверку подписи драйверов», нажав клавишу F7. - Для Windows 10:
Необходимо зажать клавишу Shift и выбрать меню «Пуск» > «Выключение» > «Перезагрузка». После загрузки выбрать «Поиск и устранение неисправностей» > «Дополнительные параметры» > «Параметры загрузки» > «Перезагрузить». Затем выбрать пункт «Отключить обязательную проверку подписи драйверов», нажав клавишу F7.
- Для Windows 7:
- Скачать архив adb-fastboot.zip и распаковать файлы в папку Android.
- Активировать пункт «Отладка по USB» на смартфоне.
Сделать это можно в разделе «Для разработчиков». Если данный раздел скрыт, открыть его поможет эта инструкция. - Изменить длительность режима ожидания.
Для этого в настройках экрана нужно выбрать пункт «Спящий режим» и установить переключатель на максимально возможное время. - Подключить телефон к компьютеру по USB-кабелю.
Рекомендуется использовать оригинальный или кабель хорошего качества, а также порт USB 2.0, расположенный на материнской плате (для ПК). - Изменить тип подключения с «Только зарядка» на «Передача файлов (MTP)».
Это не обязательно делать на каждом устройстве, но многие производители требуют этого в качестве меры безопасности, прежде чем разрешить работу с ADB. - Открыть командную строку и перейти в созданную папку Android командой «cd c:\Android\» (команды пишутся без кавычек).
- Убедиться, что компьютер находит устройство по ADB.
Для этого необходимо ввести «adb devices» в командную строку. На появившейся запрос на телефоне о разрешении об отладке по ADB на данном компьютере необходимо нажать «Ok», при этом выбрав пункт «Всегда разрешать с этого компьютера». Если устройство видно, то выведется текст «List of devices attached» и список всех устройств (например,xxxxxxx device). Если же вместо «device» будет написано «offline» либо список окажется пустым, то необходимо обновить ADB, проверить драйвера/шнур, поменять порт USB/компьютер. - В командной строке ввести «adb backup -apk -shared -all -f path/to/backup.ab», где path/to/backup.ab — путь к каталогу и имя файла резервной копии.
- На смартфоне появится окно, где будет предложено ввести пароль для дополнительной защиты резервной копии. После его ввода нужно нажать кнопку «Создать резервную копию данных» в правом нижнем углу.
Операция может занять достаточно продолжительное время, всё будет зависеть от количества информации на смартфоне.
Как сделать резервную копию только данных приложений
К сожалению, как и всё в этой жизни, предыдущий метод не идеальный. Не всегда все данные могут корректно сохраниться. Рекомендуется вручную сохранить медиафайлы и документы на ПК или в облако, а затем приступать к бэкапу пользовательских данных приложений. Для этого потребуется выполнить шаги с 1-го по 10-й и затем ввести в командной строке «adb backup -apk -all -f path/to/backup.ab», где path/to/backup.ab — путь к каталогу и имя файла резервной копии. После этого на смартфоне ввести пароль для защиты резервной копии и нажать кнопку «Создать резервную копию данных» в правом нижнем углу.
Как сделать резервную копию некоторых приложений
Если резервное копирование всех установленных на устройстве программ не требуется и достаточно сохранить данные некоторых приложений, то понадобится следующее:
- Выполнить шаги с 1-го по 10-й из первого способа.
- Установить приложение App Inspector на смартфон.
- Запустить утилиту App Inspector и выбрать пункт App List (Ordered by name). Найти и выбрать приложение, которому нужно ограничить работу в фоне. Под именем программы будет отображено имя пакета и его версия.
- Ввести команду «adb backup -f path/to/backup.ab -apk name.of.package», где path/to/backup.ab — путь к каталогу и имя файла резервной копии, а name.of.package — имя пакета, которое ранее узнали в App Inspector.
- На смартфоне появится окно, где будет предложено ввести пароль для дополнительной защиты резервной копии. После его ввода нужно нажать кнопку «Создать резервную копию данных» в правом нижнем углу.
Как восстановить данные из резервной копии
Для восстановления данных потребуется в командной строке ввести лишь «adb restore path/to/backup.ab», где path/to/backup.ab — путь к файлу резервной копии и нажать Enter. На смартфоне в появившемся окне ввести пароль и нажать кнопку «Восстановить данные». Через определённое время, в зависимости от размера файла, на телефоне во всплывающем окне будет выведено «Восстановление завершено».
Дополнительная информация
В дополнение к сказанному выше хочется дополнить статью ещё несколькими командами и параметрами, которые могут помочь в определённых ситуациях.
Формат команд для создания резервной копии:
Самая простая команда для создания резервной копии:
После ввода данной команды будет создана резервная копия только данных всех приложений (без APK-файлов) в текущем каталоге с именем backup.ab.
Если после воода этой команды возникнет ошибка (что-то вроде «adb: cannot open file ./backup.ab») нужно ввести следующее:
В этом случае файл резервной копии будет создан в корневом каталоге диска C:\. Вместо C:\backup.ab можно указать любой необходимый адрес и имя файла.
Вот описание некоторых параметров, которые можно использовать при создании резервной копии:
Данный параметр используется для обозначения пути и имени файла резервной копии. Например, «-f C:\Backup\mybackup.ab» указывает на папку Backup, расположенную на диске C. Имя резервной копии — mybackup.ab.
Этот флаг означает, должны ли включаться в резервную копию APK-файлы приложения либо только соответствующие данные. Рекомендуется использовать «-apk», когда приложение не доступно в Google Play или используется более старая версия, чем на Маркете. По умолчанию установлено «-noapk».
Этот флаг используется для включения/выключения резервного копирования содержимого внутренней памяти/SD-карты устройства. По умолчанию установлено «noshared». Рекомендуется не делать бэкап внутренней памяти таким образом, а вручную сохранять все необходимые файлы, т. к. не все данные могут быть сохранены/восстановлены.
Этот флаг — самый простой способ сделать резервную копию всей системы.
Данный параметр определяет, будут ли включены системные приложения в резервную копию. По умолчанию используется «-system». Рекомендуется не включать системные приложения в бэкап, чтобы избежать возможных ошибок при восстановлении в дальнейшем.
Здесь вы можете указать имена пакетов (например, com.google.android.apps.plus), которые необходимо сохранить. Используется только в том случае, если нужно сделать резервное копирование определенного приложения.
На этом всё. Напишите в комментариях, помогла ли вам данная инструкция и вся ли информация была сохранена корректно.
Источник
Как сделать nandroid backup устройства непосредственно на компьютер, минуя sdcard
Так случилось, что мне понадобилось создать полную копию Android устройства, в котором полностью отсутствовали обычно используемые для этого средства. Поиски меня привели на форум XDA, где и была найдена данная всеобъемлющая инструкция, которая пришлась как нельзя кстати и которой я решил поделиться с вами.
В статье имеются мои комментарии, так как применял эту инструкцию для создания backup’a планшета Teclast x98 3g.
Общая информация
Это руководство предназначено для помощи в создании полной резервной копии вашего устройства (вся память со всеми разделами) или одного раздела (в том числе sdcards и т.д.) непосредственно на компьютер:
- На уровне Блоков памяти (с помощью команды dd): для отдельных разделов или полностью всей памяти (все разделы). Резервная копия всегда будет иметь тот же размер, который имеет сохраняемый раздел.
- На уровне Файлов (с помощью команды tar): только для отдельных разделов. Копия будет содержать только файлы и папки, которые имеются на устройстве, таким образом занимая гораздо меньше места, в зависимости от того, на сколько заполненным будет раздел.
Данная инструкция применима, когда аппарат включен или находится в ClockworkMod Recovery (в данных случаях ADB будет работать, в режиме Fastboot данная инструкция не применима). Если дополнительно не будет никаких ремарок, все команды предназначены для использования в Windows. То же касается и Linux с Unix.
Требования
- Рутированное Android устройство;
- Установленный Busybox на устройстве;
- Если вы используете Linux / OS X, у вас уже имеются необходимые инструменты, для Windows скачайте Cygwin и установите вместе с ним netcat, pv и util-linux, выбрав их во время установки (от себя добавлю, что лучше пользоваться терминалом из Cygwin mintty.exe, чем родным для Windows cmd.exe, так как скорость копирования у первого доходила до 3-4 МБ\с, а у cmd.exe — максимум 400 кб\с);
- Установленный ADB;
- Убедитесь, что adb.exe находится в переменной PATH. Посмотрите здесь и здесь, или воспользуйтесь Path Manager;
- Включенный режим отладки по USB на устройстве и соответствующие драйверы, установленные в Windows. Ввод «adb devices» в терминале должен показать ваше устройство.
Разделы в устройстве
Теперь вам необходимо определить разделы и блоки на вашем устройстве, копию которых вы хотите сделать. Для копирования одного раздела можно использовать команды tar или dd, в то время как для копирования всей памяти нужно использовать только dd.
На Teclast x98 3g для определения разделов используются две команды: cat proc/partitions и mount.
127|root@android:/ # mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,relatime,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
[b]/dev/block/mmcblk0p9 /system ext4 ro,noatime,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/mmcblk0p6 /config ext4 rw,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,noauto_da_alloc,data=ordered 0 0
/dev/block/mmcblk0p8 /logs ext4 rw,nosuid,nodev,relatime,data=ordered 0 0[/b]
none /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
tmpfs /mnt/libreg tmpfs rw,noexec,noatime,size=4k,mode=700,gid=1003 0 0
/dev/block/vold/179:1 /storage/sdcard_ext fuseblk rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
root@android:/ # cat proc/partitions
cat proc/partitions
major minor #blocks name
179 10 30535680 mmcblk0
179 11 229376 mmcblk0p1
179 12 32768 mmcblk0p2
179 13 32768 mmcblk0p3
179 14 131072 mmcblk0p4
179 15 131072 mmcblk0p5
179 16 131072 mmcblk0p6
179 17 786432 mmcblk0p7
179 18 262144 mmcblk0p8
179 19 1048576 mmcblk0p9
259 0 27742188 mmcblk0p10
179 30 2048 mmcblk0boot1
179 20 2048 mmcblk0boot0
179 0 30657536 mmcblk1
179 1 30657504 mmcblk1p1
Обычно на Android весь блок, содержащий все разделы, расположен в /dev/block/mmcblk0, а все остальные разделы являются его подразделами. Вы можете установить parted with GPT support, чтобы просмотреть информацию о всех разделах.
Вся память телефона -> /dev/block/mmcblk0 (хотя, на некоторых телефонах, это может быть и sdcard).
Разделы -> все зависит от конкретного устройства. Обычно в /dev/block/platform/dw_mmc/by-name/ перечислены все разделы для данного устройства.
Резервное копирование всей памяти (посредством adb)
Подключите телефон с включенным режимом отладки по USB к компьютеру.
Что касается Teclast x98 3g и того случая, когда аппарат не загружается (bootloop). Очень важно, чтобы до всего этого случившегося был включен режим отладки по USB. Выключите полностью планшет, отсоедините все кабели, дайте пару секунд на «отдых» и подключите кабель от компьютера к планшету, должна появиться такая большая белая батарея, которая будет показывать, что идет процесс зарядки, вот только тогда, даже в выключенном состоянии можно будет работать с аппаратом через терминал и adb.
Запустите Cygwin Терминал и введите (при необходимости замените mmcblk0):
adb forward tcp:5555 tcp:5555
adb shell
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0
Вы увидите мигающий курсор на следующей строке слева. На данный момент аппарат ожидает передачи Блока по сети.
Откройте другой Cygwin Терминал и введите:
adb forward tcp:5555 tcp:5555
cd /path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw
Вы увидите, как начнет увеличиваться размер файла до тех пор, пока полностью не скопируется весь выбранный вами Блок. Теперь у вас имеется полный бекап аппарата в raw формате. Вы можете увидеть всё содержимое в скопированном Блоке с помощью gptfdisk, доступного для Windows, Linux и других ОС (официальный сайт или SourceForge). Аналогичное вы сможете сделать при помощи ClockworkMod Recovery, но первоначально необходимо смонтировать Раздел /system, так как в BusyBox, входящем в ClockworkMod, отсутствует netcat, потому вам необходимо использовать netcat из /system раздела Вашего устройства.
При помощи определенных инструментов в Linux вы можете изменять и извлекать необходимые Разделы из всего Блока.
Вы можете использовать ADB через WiFi, аналогично как и Wi-Fi ADB.
Резервное копирование всей памяти (через WiFi)
Необходимо:
- Установленный FTP сервер на компьютере или другом устройстве;
- Пользователь с паролем;
- Установленный порт для FTP сервера, по умолчанию 21, но в данном примере используется 40;
- Домашняя директория пользователя с правами записи.
Правилом хорошего тона будет копирование myfifo в /cache, а не в /data, так как можно случайно затереть важные данные в случае использования raw данных для восстановления.
Запустите Cygwin Терминал и введите:
adb shell
su
mkfifo /cache/myfifo
ftpput -v -u user -p pass -P 40 COMPUTER_IP block.raw /cache/myfifo
Откройте другой Cygwin Терминал и введите:
adb shell
su
dd if=/dev/block/mmcblk0p12 of=/cache/myfifo
Некоторые замечания:
- FIFOs можно сделать только на Linux Native файловых системах, FAT для этого не подойдет;
- Процесс чтения Раздела с устройства никоим образом его не видоизменяет.
Резервное копирование всей памяти (через USB-модем или Wi-Fi-модем)
Для этого необходимо отключить все сетевые соединения на компьютере, кроме того, с помощью которого вы будете осуществлять процесс копирования.
Как только соедините компьютер с Android устройством, вы сможете просмотреть IP компьютера и IP устройства в «Свойствах соединения». IP — будет являться IP самого компьютера, а Gateway будет содержать IP Android устройства.
- Wi-Fi модем: Компьютер Android устройство Интернет
- USB модем:
Компьютер Android устройство Интернет
Компьютерные Android устройство Интернет
Процесс абсолютно аналогичный передачи данных через Wi-Fi, единственное, скорость передачи данных будет значительно выше, потому что компьютер и Android устройство соединены непосредственно, вместо того, чтобы использовать роутер в качестве шлюза. В данном случае шлюзом будет само Android устройство. USB-модем имеет самый высокий уровень передачи данных.
Резервное копирование одного Раздела (raw = точная побитовая копия раздела)
Все аналогично тому, что было описано выше, только необходимо заменить mmcblk0 на соответствующий Раздел. Вы можете использовать в данном конкретном случае ПО для просмотра содержимого скопированного Раздела. В зависимости от файловой системы: DiskInternals Linux Reader, Ext2Read, Ext2 File System Driver for Windows, Ext4Explore, плагин для Total Commander и ImDisk Virtual Disk Driver. Можно также использовать ПО для восстановления данных с отдельных разделов, например, Recuva совместно с VHD Tool или инструменты командной строки, включенные в сами операционные системы.
Резервное копирование одного Раздела (tar = копируются только файлы и папки)
Теперь вы должны знать, где и какой раздел монтируется, например, Firmware смонтирована в /system, которая по сути является ROM.
В данном случае вам придется открыть три Cygwin Терминала, вследствие ограничений, накладываемых самим Android:
Откройте первый Cygwin Терминал и создайте FIFO, например, в /cach, и перенаправте tar в него:
adb forward tcp:5555 tcp:5555
adb shell
su
/system/xbin/busybox mkfifo /cache/myfifo
/system/xbin/busybox tar -cvf /cache/myfifo /system
Вы должны это сделать потому, что перенаправление tar в stdout (c «-«) не работает на Android и портит сохраняемый файл.
Откройте второй Cygwin Терминал:
adb forward tcp:5555 tcp:5555
adb shell
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox cat /cache/myfifo
Откройте третий Cygwin Терминал:
adb forward tcp:5555 tcp:5555
cd /path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > system.tar
Полученный tar файл вы можете просмотреть с помощью Winrar, Total Commander, PeaZip и т.д. Обратите внимание, вы не должны извлекать файлы или редактировать их, так как tar формат сохраняет данные доступа и владельца для каждого файла, которые исчезают при извлечении в FAT / NTFS разделы.
Источник