Как сделать резервную копию полного образа разделов или eMMC?

У меня есть Archos 55 Platinum. Так же есть неофициальный TWRP, если это может помочь. Я хотел бы сделать резервную копию памяти телефона, например, ddдля любого раздела, чтобы я мог проверить содержимое позже.

Кроме того, я не хочу ни рутировать, ни прошивать, ни устанавливать приложения.

Есть ли способ, который позволяет мне запускать TWRP через fastboot вместо прошивки? Любые идеи, как я могу действовать?

@IrfanLatif разве это не ответ? Обратите внимание, что, по крайней мере, в Linux вы также можете adb exec-out dd if=/dev/block/(bootdevice/)mmcblk0 > mmcblk0.imgхранить изображения непосредственно на своем компьютере, а не на устройстве Android. В TWRP включен ADB.

Ответы (2)

Да, вы можете загрузиться в TWRP, если загрузчик разблокирован:

fastboot boot /path/to/twrp.img

Тогда вы можете просто ddцеликом eMMC или отдельные разделы. Вам понадобится дополнительная память (на внешней SD-карте) для резервного копирования всей eMMC или /dataраздела. Меньшие разделы (включая самый большой: system) могут быть скопированы во внутреннюю память, т.е. в раздел данных.

Для Qualcomm SoC:
(для устройств MTK путь немного отличается)

dd if=/dev/block/(bootdevice/)mmcblk0 of=/path/to/external-sd/emmc-backup  

Для одного раздела:

dd if=/dev/block/bootdevice/by-name/userdata of=/path/to/external-sd/data-backup

Чтобы решить проблему нехватки места, вместо использования SD-карты вы можете сохранять файлы резервных копий непосредственно на ПК с помощью adb shellили exec-out. Благодаря @Izzy:

adb exec-out dd if=/dev/block/(bootdevice/)mmcblk0 > emmc-backup.img  

Убедитесь, что ваш adbбинарный файл (в Windows или Linux) поддерживает exec-out . Также позаботьтесь о том, чтобы нежелательные непечатаемые терминальные символы не включались в вывод.

Существуют также другие методы adb pull, такие как UMS или потоковая передача по сети. Подробнее см. Как восстановить удаленный файл из раздела /data?

PS:

Еще один способ сэкономить место и ускорить процесс резервного копирования — создать резервную копию только содержимого монтируемых файловых систем, а не всего образа раздела. В частности userdata, и systemбольшие разделы, но они обычно не полностью заполнены. Смонтируйте их и создайте резервный архив tar, чтобы не копировалась обнуленная часть этих разделов.

Обязательно сохраните все разрешения и атрибуты файлов (независимо от того, какие применимы в зависимости от файловой системы и т. д.), включая классический файловый режим UNIX и владельца, ACL, XATTR и контексты SELinux. Эти опции поддерживаются tar. В противном случае все может испортиться. Дополнительные сведения см. в разделе Как передать зашифрованную резервную копию всего устройства на удаленный хост?


СВЯЗАННЫЙ:

Основываясь на этом вопросе, я использовал метод, описанный выше:

~$ adb exec-out dd if=/dev/block/bootdevice/by-name/userdata > data.img

Но есть проблема, изображение будет зашифровано, если данные не будут предварительно расшифрованы. Имена файлов и папок будут тарабарскими.

Единственный способ, которым я получил расшифрованные данные, был через TWRP, потому что он запрашивает пароль для расшифровки при запуске.

И тогда я смог скопировать данные через mtp.

Я знаю, что это может показаться не относящимся к теме восстановления файлов, но этот вопрос получает много трафика, а предлагаемое решение имеет недостаток, и мне сейчас не разрешено комментировать.