У меня смартфон Samsung Galaxy S2 GT-I9100 с LineageOS и TWRP. Каждую неделю я делаю резервную копию следующей командой:
adb backup -f twrp-20170322.ab --twrp boot data system
Я также могу по желанию использовать эту --compress
опцию.
Есть ли способ извлечь twrp-20170322.ab
файл резервной копии с помощью стандартных инструментов командной строки GNU / Linux? Я также рассмотрю возможность установки дополнительного программного обеспечения, если это необходимо, но оно должно быть бесплатным (как на свободе).
Ссылки:
--compress
при создании резервной копии, создает несжатые резервные копии? В последнем случае попробуйте пропуститьzlib
параметр (или сделайте его наоборот и укажите--compress
при создании резервной копии;).openssl
). Но когда я пытаюсь составить список содержимого архива tar с помощью tar -tf twrp-20170320.tar, я получаю: tar: Это не похоже на архив tar; tar: переход к следующему заголовку; tar: выход с состоянием ошибки из-за предыдущих ошибок--compress
опцию сadb
: она сжимает гораздо менее эффективно, чемxz
. Я предпочитаю экономить как можно больше места. Но это не связано с моей первоначальной проблемой.--compress
). Из вашего заявления (adb backup …
) я предположил тот же формат. Если вы просто используете другое сжатие, вы должны учитывать это.openssl
необходим для расшифровки резервной копии - поэтому без этого вы не получите действительный.tar
. Из ваших последних комментариев я бы предположил, что вы должны заменитьzlib
на соответствующую часть дляxz
. Кроме того, у меня нет идей, извините.Я обнаружил, что сгенерированные TWRP
.ab
файлы отличаются от обычныхadb backup
файлов, поэтому смещение отличается от обычных.ab
файлов. Мне удалось проверить и извлечь файлы, используя (например, для проверки) следующую команду:Очевидно, что заголовок может быть длиннее, но он должен быть выровнен по границам в 512 байт, поэтому просто увеличьте
skip=
параметр, если он не может его найти сначала.Обратите внимание, что формат файла определен в twadbstream.h , если вам нужно углубиться в это.
источник
Проблема с наивным подходом, основанным на dd, заключается в том, что в файле часто встречаются метаданные. Это приводит к повреждению файлов любой значительной длины.
Я написал инструмент извлечения, использующий twadbstream.h (спасибо @anarcat), который я использовал для успешного восстановления больших (~ 10 ГБ) резервных копий TWRP ADB с несколькими файловыми системами. twrpabx
источник