Я запускаю CyanogenMod 12 по ночам на моем G900T (klte). Все отлично работает, за исключением пароля шифрования по умолчанию, который заставляет мой телефон зацикливаться.
Я отформатировал данные и произвел сброс настроек, но /data
все еще зашифрован и отображается как /dev/dm-0
.
Есть ли команда, которую я могу сделать, чтобы удалить шифрование? Меня не волнуют данные, я хочу, чтобы все прошло. Я просто хочу вернуться к тому, /data
что внутреннее хранилище хранится в незашифрованном виде на диске, чтобы иметь возможность загружаться в CyanogenMod.
Как я могу использовать, adb shell
чтобы удалить шифрование на этих разделах?
recovery-mode
encryption
Нафтули Кей
источник
источник
dd if=/dev/zero
а затем отформатировать раздел данных.Ответы:
Ответ для меня заключался в нескольких вещах, но я думаю, что один действительно является ключевым.
Используйте команду «восстановление», братан
При этом используется программа CyanogenMod / AOSP
recovery
для очистки пользовательских данных и отключения шифрования. (найдено в этом ответе по переполнению стека ) Загрузитесь с вашего восстановления, а затем с вашего компьютера запуститеВаш телефон перезагрузится в систему, и, надеюсь, все будет работать как запланировано.
Если вам нужно запустить его с самого телефона (то есть: у вас нет компьютера поблизости
adb
с):Следует стереть, отключить шифрование и перезагрузить систему.
Если все остальное не удается
Не используйте этот метод, если вышеперечисленное не работает или не применимо к вашему сценарию.
Уничтожить заголовок LUKS для шифрования файловой системы
root
рекавери, которое позволит вам закинуть как на оболочку , так что TWRP работает в моем случае.userdata
раздел, осмотревшись/dev/block/platform/*/by-name/userdata
.Запишите тонну нулей в начало этого раздела, чтобы стереть заголовок LUKS:
Я не несу ответственности за то, что вы делаете с этой командой. Если вы все испортили, вы можете заблокировать свой телефон, перезаписав загрузчик или другие важные разделы. Убедитесь, что это
$PATH_TO_YOUR_USERDATA
указывает на реальныйuserdata
раздел. Проверьте размер этого раздела, чтобы убедиться, что вы правильно стираете. У меня есть телефон на 16 ГБ иuserdata
10,4 ГБ, остальные выделеныsystem
, но ваш телефон будет другим.Переформатируйте этот раздел как
ext4
использующийmake_ext4fs $PATH_TO_YOUR_USERDATA
.Могут быть ошибки, но обычно они связаны с невозможностью найти внутреннюю «SDCard», это нормально.
После всего этого, перезагрузите восстановление снова и затем выполните сброс к заводским настройкам, чтобы быть в безопасности.
Почему это работает?
Казалось, что простое восстановление заводских настроек для меня ничего не значит, телефон по-прежнему видит раздел LUKS. Я предполагаю, что это потому, что заголовок LUKS все еще существовал на уровне диска, а раздел ext4 был просто наложен поверх него. По какой-то причине Android отдает приоритет обнаружению раздела LUKS над разделом ext4 и пытается (и успешно) монтирует его.
Куда пойти отсюда
(Если вы знаете, что делаете, вы также можете стереть
system
и установить ПЗУ с нуля. Опять же, я не несу никакой ответственности за то, что вы делаете с информацией, содержащейся в этом посте. )У меня работал на
klte
G900T (Samsung Galaxy S5 T-Mobile). Ваш пробег может варьироваться.источник
dd
команда наконец сделала свое дело. Большое спасибо!recovery
, похоже, не работает для меня. Я вызвал это изADB Shell
вTWRP
рекавери. Моя главная проблема в том, что отладка по USB не включена и/system
повреждена, поэтому я не могу загрузиться и включить ее. Кроме того, шифрование диска включено и, кажется, мешает мне работатьfastboot flash system system.zip
правильно.dd
команды в конце я мог завершить операцию. Спасибо!ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata
говорит:lrwxrwxrwx 1 root root 21 Sep 16 06:04 /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata -> /dev/block/mmcblk0p26
df -h /dev/block/mmcblk0p26
говорит: `` `Размер файловой системы Используется Доступно Использовать% Установлено в / dev / block / mmcblk0p26 10.5G 27.2M 10.5G 0% / data`` `` так я и сделал:dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512
это правильно?На моем Moto G 3rd Gen (osprey) не работали ни восстановление, ни очистка заголовка LUKS (в начале и конце раздела) - мне все еще нужно было вводить пароль шифрования во время загрузки Cyanogen Mod, затем застрял с сообщением «ошибка шифрования» ,
Наконец-то я обнаружил, что в моем восстановлении TWRP 3.0.1 есть опция «Форматировать данные» в разделе «Очистка». Это делает полный сброс настроек, который также отключает шифрование.
Работал как шарм. Если у вас есть доступ к приличной версии TWRP (легко прошивается, например, с помощью Flashify), попробуйте сначала.
источник
dd
подход полезен при очистке шифрования в сценариях, поскольку опция «форматировать данные» недоступна в командах TWRP, в то время как существующие команды не могут уничтожить шифрование. Надеюсь, они добавят такую команду в будущем ...При условии, что вы используете TWRP или аналогичный.
Data
раздела на внешнийSD
илиOTG Drive
f2fs
Data
разделисточник
Решение ручной очистки заголовка LUKS от Naftuli Tzvi Kay работает отлично, за исключением одной вещи. Я не знаю, от чего это зависит, но по моему опыту, Android держит заголовок LUKS в КОНЦЕ раздела. И если это так с вашим устройством, то работает
не удалит заголовок (нижний колонтитул?), потому что он стирает только начало раздела. Можно, конечно, стереть весь раздел, но это займет слишком много времени. Так...
Чтобы стереть конец раздела (любого размера), после выполнения вышеупомянутой команды выполните эту команду также:
источник
Вы используете кастомное рекавери?
Если да, то сделайте это после загрузки в кастомное рекавери ( в моем случае TWRP ):
При запуске восстановления НЕ расшифровывать устройство . Просто нажмите Отмена, когда будет запрошен пароль или шаблон.
Протрите раздел данных. (На TWRP после перелистывания для изменения системы: Wipe> Advanced> Check: Data)
Это, конечно, сотрет все в
userdata
разделе. Весь раздел данных будет переформатирован, включая ключи шифрования .источник
Мои голоса принадлежат @Naftuli Kay и другим полезным ответам здесь, но у меня есть некоторая информация, которой я хотел бы поделиться. Это слишком долго для комментария, пусть это будет ответом.
Начиная с некоторой версии TWRP, на экране Wipe есть пункт «форматировать данные». Он не только стирает / разделяет данные, но и обрабатывает зашифрованные файлы FS. В моем случае TWRP 3.0.2 на Samsung J500H стирает шифрование, и это был единственный способ, сброс к заводским настройкам не работает. CMR (тот, который построен на моем CM 12.1 для J500H) также не может очистить шифрование.
--set_encrypted_filesystem=off
также не работал в TWRP и CMR.очистка данных с помощью OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html также не работает
Android 3.0 начал сопоставлять / SDCard с / data / media, поэтому им пришлось переделывать / стирание данных, чтобы не / data / media, и
rm -rf
выполняется вместо этого. См. Https://twrp.me/faq/datamedia.html. для получения более подробной информации.Когда вы выполняете «форматирование данных», вы можете увидеть в журнале восстановления (/ cache / recovery / log или / cache / recovery / last_log) следующую информацию:
прежде чем он форматирует / данные с
make_ext4fs
. Код TWRP имеет ряд проверок, чтобы найти, где находится заголовок LUKS, и в моем случае он нашел его в нижнем колонтитуле.Я посмотрел на источник TWRP и не нашел способа «форматировать данные» из командной строки (мне нужно стереть зашифрованное хранилище из приложения в пользовательском rom), поэтому эта опция присутствует только в пользовательском интерфейсе. За единственным исключением - если TWRP скомпилирован с
TW_OEM_BUILD
включенным, то он будет «форматировать данные» при сбросе к заводским настройкам, очищая криптографический заголовок и форматируя раздел данных, в противном случае он будет использовать обычное стирание без форматирования.Я собираюсь попробовать
dd
с нулями, на самом деле TWRP делает то же самое, чтобы очистить шифрование, просто он точно знает, где искать заголовок))источник
Расширяя ответ Нафтули Цви Кея выше ...
Хорошо, этот ответ привел меня в нужное место, но у моего телефона (CM11 / i9300) не было
recovery
команды, и у этойwipe
команды не было возможности отключить шифрование. Поэтому я сделал это вручную, посмотрев комментарии в исходном кодеrecovery
команды (файл, связанный с ответом, приведенным в предыдущем вопросе):Итак, чтобы сделать это вручную (с помощью ADB):
поместите следующий текст в команду file / cache / recovery / с помощью echo или vi:
перезагрузка в CWM или аналогичное рекавери
Вы должны увидеть хороший индикатор, и это должно быть сделано :)
источник
Лучший способ работы - загрузиться в TWRP и использовать встроенный терминал, чтобы отформатировать его как ext2 (потому что это единственное, что поддерживается терминалом напрямую), и изменить раздел на ext4 с помощью параметра «Восстановить файловую систему» в разделе «Монтирование».
Чтобы отформатировать как ext2:
mkfs.ext2 /dev/block/mmcbl0p23
(Замените на значение вашего раздела пользовательских данных, просматривая в / dev / block / platform / * / by-name / userdata)Измените файловую систему как ext4:
Wipe -> Advanced Wipe -> Выберите «Data» -> Repair или Change FileSystem -> Change File System -> EXT4
Теперь вы должны удалить шифрование и иметь возможность монтировать раздел данных из TWRP. Надеюсь это поможет :)
источник