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 команда.

Другие вопросы по тегам