TF101 Android: устройство блокировки изображения через adb
У меня планшет Asus TF101 под управлением Android ICS. Я пытаюсь изобразить всю внутреннюю файловую систему флэш-памяти на моем рабочем столе через adb. Проблема в том, что изображение, которое я получаю, кажется поврежденным:
На моем рабочем столе я использую Ubuntu 12.10:
adt-bundle-linux-x86-20131030/sdk/platform-tools/adb shell su -c "dd if=/dev/block/mmcblk0" | pv > mmcblk0.raw
Затем я пытаюсь использовать это изображение с:
testdisk mmcblk0.raw
К сожалению, testdisk находит только бессмысленные данные раздела, даже используя глубокий поиск. Попытка перечислить любой из файлов, содержащихся в этих, предположительно бессмысленных разделах, приводит к повреждению файловой системы.
Даже при попытке прочитать только один раздел, например
adt-bundle-linux-x86-20131030/sdk/platform-tools/adb shell su -c "dd if=/dev/block/mmcblk0p7" | pv > mmcblk0p7.raw
Полученное изображение раздела кажется поврежденным. Попытка смонтировать через петлевое устройство не удалась с поврежденными ошибками файловой системы. Запуск fsck на образе наводняет меня бесконечными ошибками файловой системы.
Любой намек на то, что я здесь делаю неправильно?
3 ответа
Я знаю, что эта тема старая, но это может кому-то помочь: если вы можете установить модованное восстановление, это было бы очень полезно, дамп с включенной системой не всегда хорошая идея. Тогда попробуйте это:
adb shell "dd if=/dev/block/mmcblk0" | dd of=mmcblk0
Файловая система должна быть отключена при выполнении дампа для достижения наилучших результатов.
Необходимо использовать двойные кавычки. (С пряниками 2.3.4)
adb shell 'su -c "dd if=/dev/block/mmcblk0"' | dd of=data.raw
Во-первых, оболочка на стороне Android конвертирует LF в CR-LF - шестнадцатеричные 0A в 0D 0A. Различные обходные пути должны отменить изменения путем потоковой передачи через sed
или же perl
, обработка файла после или установка stty
на устройстве Android и с помощью stty raw
как часть adb shell
команда.