Ответ 1
Как сказано в комментарии, adb pull /dev/block/mmcblk0 mmcblk0.img
работал у меня. "DD-образ" - это всего лишь двоичный файл изображения устройства.
У меня есть смартфон без возможности вставки SD-карты. Я хотел бы сделать дамп самого большого раздела (потому что я потерял файлы, и я хотел бы использовать дамп для их восстановления).
Разделение составляет 10 ГБ.
Я искал команду ADB
для pull
, используя dd
, но ничего...
Я попытался использовать Carliv touch recovery
с помощью 32-битного USB-ключа OTG, но USB-ключ не монтировался... Тогда я не мог использовать "dd" прямо на телефоне, используя Aroma file manager
и эмуляцию терминала.
Спасибо!
Как сказано в комментарии, adb pull /dev/block/mmcblk0 mmcblk0.img
работал у меня. "DD-образ" - это всего лишь двоичный файл изображения устройства.
Вы хотите скопировать диск с устройства Android на компьютер (желательно на самый быстрый диск) для более быстрого и без потерь анализа/восстановления.
Это краткое пошаговое руководство в окнах (linux: прокрутка вниз) для достижения этого с помощью инструмента linux dd
, предназначенного для точных побитовых копий данных. Кредиты идут в Scandium на xda для кода, см. Его пост для более подробной информации.
Предпосылки
Windows:
netcat
(под Net) и pv
(под util-linux
); стандартная установка находится в C:\
, поэтому заранее убедитесь, что у вас достаточно места на диске;установить adb например через Android Studio. Обязательно добавьте исполняемый файл adb.exe
в переменную path, чтобы получить к нему правильный доступ (руководство).
Откройте две консоли/терминалы Cygwin (одна для отправки данных, другая для получения данных) и введите данные в один из терминалов:
# terminal 1
adb forward tcp:5555 tcp:5555 # forward data over tcp connection
adb shell # open a connection
su # gain root access
BUSYBOX=/system/xbin/busybox # default location for most bb installers
# note: adapt the variable 'BUSYBOX' to point to your install directory
# the TWRP default is 'BUSYBOX=/sbin/busybox' (in case of bricked device)
Решите, какой раздел копировать, обычно это раздел /dev/block/mmcblk0
, содержащий данные, которые вы обычно хотели бы получить.
В следующем коде измените имя раздела в соответствии с 4. и быстро один за другим введите в terminal 1
и terminal 2
:
# terminal 1
$BUSYBOX nc -l -p 5555 -e $BUSYBOX dd if=/dev/block/mmcblk0
# terminal 2
nc 127.0.0.1 5555 | pv -i 0.5 > $HOME/mmcblk0.raw
Это сохраняет раздел в домашнем каталоге cygwin (в двух словах: он отправляет/получает выходные данные
dd
через соединение tcp)
Посмотрите на файлы/анализ
Для монтирования раздела в Windows вы можете использовать (OSFmount).
Для анализа файлов я рекомендую Active @Undelete, но существует множество альтернатив. С помощью этой программы вы также можете напрямую загрузить все разделы из файла (без его монтирования, поэтому шаг 5 в этом случае является избыточным).
Руководство для пользователей GNU/Linux: установите netcat
и pv
(шаг 1), используйте утилиту Диски для анализа
Запуск от имени пользователя root:
adb root
Используйте dd для вывода содержимого в stdout и записи файла на вашем компьютере:
adb shell 'dd if=/dev/block/platform/msm_sdcc.1/by-name/XXXXXX 2>/dev/null' > XXXXXX.img
Или все (см. cat/proc/partition)
adb shell 'dd if=/dev/block/mmcblk0 2>/dev/null' > mmcblk0.img