Entfernen der Verschlüsselung aus der Wiederherstellung

10

Ich verwende CyanogenMod 12 jeden Abend auf meinem G900T (klte). Alles funktioniert einwandfrei, bis auf das Standard-Verschlüsselungskennwort, das dazu führt, dass mein Telefon eine Startschleife ausführt.

Ich habe Daten formatiert und auf die Werkseinstellungen zurückgesetzt, bin aber /dataimmer noch verschlüsselt und wird als angezeigt /dev/dm-0.

Gibt es einen Befehl, mit dem ich die Verschlüsselung entfernen kann? Die Daten sind mir egal, ich möchte, dass alles weg ist. Ich möchte nur darauf zurückkommen, dass /datader interne Speicher im Klartext auf der Festplatte gespeichert ist, um CyanogenMod starten zu können.

Wie kann ich adb shelldie Verschlüsselung auf diesen Partitionen entfernen?

Naftuli Kay
quelle
Welche Wiederherstellung haben Sie geflasht?
Jordy19
1
Team Win Recovery Project (TWRP)
Naftuli Kay
Ich habe hier gelesen , dass Sie die Verschlüsselung durch Flashen eines neuen ROMs entfernen können. Sie sind sich nicht sicher, ob dies in Ihrem Fall funktioniert, aber es ist einen Versuch wert.
Jordy19
Hat nicht funktioniert. Ich versuche, dd if=/dev/zerodie Datenpartition manuell und dann zu formatieren.
Naftuli Kay

Antworten:

12

Die Antwort für mich beinhaltete eine Reihe von Dingen, aber ich denke, eines ist wirklich der Schlüssel.

Verwenden Sie den Befehl "Wiederherstellung", Bruder

Dies verwendet das recoveryProgramm von CyanogenMod / AOSP , um die Benutzerdaten zu löschen und die Verschlüsselung zu deaktivieren. (in dieser Antwort unter Stapelüberlauf zu finden ) Starten Sie Ihre Wiederherstellung und führen Sie sie dann von Ihrem Computer aus

adb shell recovery --wipe_data --set_filesystem_encryption=off

Ihr Telefon wird im System neu gestartet und die Dinge sollten hoffentlich wie geplant funktionieren.

Wenn Sie es vom Telefon selbst aus ausführen müssen (dh Sie haben keinen Computer in der Nähe adb):

recovery --wipe_data --set_filesystem_encryption=off

Es sollte das System löschen, die Verschlüsselung deaktivieren und neu starten.

Wenn alle Stricke reißen

Verwenden Sie diese Methode nur, wenn die oben genannten Methoden nicht funktionieren oder auf Ihr Szenario zutreffen.

Zerstören Sie den LUKS-Header für die Dateisystemverschlüsselung

  1. Sie benötigen eine Wiederherstellung, mit der Sie auf eine Shell als fallen lassen können root, sodass TWRP in meinem Fall funktioniert.
  2. Suchen Sie die userdataPartition, indem Sie sich in umschauen /dev/block/platform/*/by-name/userdata.
  3. Schreiben Sie eine Menge Nullen an den Anfang dieser Partition, um den LUKS-Header zu löschen:

    dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512
    

    Ich übernehme keine Verantwortung dafür, was Sie mit diesem Befehl tun. Wenn Sie dies vermasseln, können Sie Ihr Telefon blockieren, indem Sie Ihren Bootloader oder andere kritische Partitionen überschreiben. $PATH_TO_YOUR_USERDATAStellen Sie sicher, dass dies auf die reale userdataPartition verweist . Überprüfen Sie die Größe dieser Partition, um sicherzustellen, dass Sie das Richtige löschen. Ich habe ein 16-GB-Telefon und habe userdata10,4 GB , der Rest ist dafür vorgesehen system, aber Ihr Telefon wird anders sein.

  4. Formatieren Sie diese Partition wie ext4folgt neu make_ext4fs $PATH_TO_YOUR_USERDATA.

    Es kann Fehler geben, aber normalerweise beziehen sie sich darauf, dass die interne "SD-Karte" nicht gefunden werden kann. Dies ist in Ordnung.

Starten Sie nach all dem die Wiederherstellung erneut und führen Sie dann aus Sicherheitsgründen einen Werksreset durch.

Warum funktioniert das?

Nur einen Werksreset durchzuführen, schien nichts für mich zu tun, das Telefon würde dort immer noch eine LUKS-Partition sehen. Ich gehe davon aus, dass dies daran liegt, dass der LUKS-Header noch auf Festplattenebene vorhanden war und die ext4-Partition nur darüber gelegt wurde. Aus irgendeinem Grund hat Android die Erkennung einer LUKS-Partition gegenüber einer ext4-Partition priorisiert und versucht (und ist erfolgreich), diese bereitzustellen.

Wohin von hier aus?

(Wenn Sie wissen, was Sie tun, möchten Sie möglicherweise auch systemIhr ROM von Grund auf löschen und installieren. Auch hier übernehme ich keine Verantwortung für alles, was Sie mit den in diesem Beitrag enthaltenen Informationen tun. )

Arbeitete für mich auf einem klteG900T (Samsung Galaxy S5 T-Mobile). Ihr Kilometerstand kann variieren.

Naftuli Kay
quelle
Diese Art funktionierte (die Option dd / make_ext4fs). - Beim Neustart wurde bei der TWRP-Wiederherstellung immer noch nach einem Kennwort gefragt, und die erweiterten Formatoptionen funktionierten nicht. Bei einem regulären Datenpartitionsformat funktionierte dies jedoch. - Ich konnte die Wiederherstellung ohne Eingabeaufforderung für Kennwörter neu starten. :-)
BrainSlugs83
1
Naftuli, du bist ein Lebensretter! Ich habe meinen S6-Edge (SM-G925F) in einer Dead-Boot-Schleife, da er wahrscheinlich aufgrund der benutzerdefinierten Wiederherstellung (TWRP) nicht verschlüsselt werden konnte. Ich denke, die Verschlüsselung erfolgt über die Wiederherstellung des Bestands. Es wurde immer wieder gesagt "Verschlüsselung wurde nicht beendet. Werksreset und Neustart". Ich habe sogar versucht, die Wiederherstellung des Flash-Materials zu starten. Es wurde nicht gestartet (wahrscheinlich falsch, aber für mein Gerät gekennzeichnet). Der gesamte Bestand war auch nicht gut (konnte keinen richtigen finden, der von Odin abgelehnt wurde). Schließlich habe ich alles getan, was Sie hier gesagt haben, und das ddKommando hat es endlich geschafft. Vielen Dank!
Mixaz
Der recoveryBefehl schien für mich nicht zu funktionieren. Ich habe es ADB Shellin der TWRPGenesung genannt. Mein Hauptproblem ist, dass das USB-Debugging nicht aktiviert und /systembeschädigt ist, sodass ich es nicht starten und aktivieren kann. Außerdem ist die Festplattenverschlüsselung aktiviert und scheint mich von der fastboot flash system system.zipkorrekten Leistung abzuhalten .
anon58192932
1
Du hast meinen Tag oder besser meine Nacht gerettet. Nachdem ich drei Stunden lang versucht hatte, lineageOS 14.1 auf meinem Huawei P8 Lite zu installieren und immer die Meldung erfolglose Verschlüsselung erhalten hatte, ddkonnte ich mit dem Befehl am Ende den Vorgang abschließen. Danke!
Matteo De Felice
ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdatasagt: 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/mmcblk0p26sagt: `` `Verwendete Dateisystemgröße Verfügbar Verwendung% Mounted on / dev / block / mmcblk0p26 10.5G 27.2M 10.5G 0% / data`` `` also habe ich getan: dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 Stimmt das?
LarS
8

Auf meinem Moto G 3rd Gen (Fischadler) funktionierte weder das Aufrufen der Wiederherstellung noch das Löschen des LUKS-Headers (zu Beginn und am Ende der Partition). Ich musste während des Starts von Cyanogen Mod immer noch das Verschlüsselungskennwort eingeben und blieb dann mit der Meldung "Verschlüsselungsfehler" hängen .

Ich habe schließlich festgestellt, dass meine TWRP 3.0.1-Wiederherstellung eine Option "Daten formatieren" im Abschnitt "Löschen" enthält. Dies führt einen vollständigen Werksreset durch, wodurch auch die Verschlüsselung deaktiviert wird.

Lief wie am Schnürchen. Wenn Sie Zugriff auf eine anständige TWRP-Version haben (leicht zu flashen, z. B. mit Flashify), versuchen Sie dies zuerst.

Unispezi
quelle
1
Danke. Warum eine komplizierte Lösung wählen, wenn eine einfache funktioniert?
Peter Gordon
Mein einziges Problem mit dieser Option war, dass der Text impliziert, dass auch Ihre SD-Karte gelöscht wird. Wenn Ihre Karte leicht zu erreichen ist, ist das kein großes Problem. : - |
zaTricky
1
@pgmann: Die Option 'Daten formatieren' wurde vor kurzem in TWRP angezeigt. Deshalb. Sicher war es 2014 nicht da, als diese Antworten gegeben wurden. Der ddAnsatz ist auch nützlich, wenn die Verschlüsselung in Skripten bereinigt wird, da die Option "Daten formatieren" in TWRP-Befehlen nicht verfügbar ist, während vorhandene Befehle die Verschlüsselung nicht löschen können. Hoffe, dass sie in Zukunft einen solchen Befehl hinzufügen ...
Mixaz
5

Vorausgesetzt, Sie verwenden TWRP oder ähnliches.

  • Starten Sie TWRP neu (geben Sie das Passwort ein) und sichern Sie die DataPartition auf extern SDoderOTG Drive
  • Starten Sie TWRP neu (Kennwort abbrechen) und formatieren Sie die Datenpartition auf f2fs
  • Stellen Sie die in Schritt 1 erstellte Sicherung auf der neu erstellten DataPartition wieder her
  • System neu starten
  • Genießen Sie Android mit all Ihren gespeicherten Daten und entfernter Verschlüsselung
ArtDeineka
quelle
4

Die Lösung, den von Naftuli Tzvi Kay bereitgestellten LUKS-Header manuell zu löschen, funktioniert bis auf eine Sache einwandfrei. Ich weiß nicht, worauf es ankommt, aber meiner Erfahrung nach behält Android den LUKS-Header am Ende der Partition. Und wenn dies bei Ihrem Gerät der Fall ist, laufen Sie

dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512

Der Header (Fußzeile?) kann nicht entfernt werden, da nur der Anfang der Partition gelöscht wird. Man könnte natürlich die gesamte Partition löschen, aber das würde unnötig lange dauern. So...

Führen Sie diesen Befehl auch aus, um das Ende der Partition (beliebiger Größe) zu löschen , nachdem Sie den obigen Befehl ausgeführt haben:

dd bs=512 if=/dev/zero of=$PATH_TO_YOUR_USERDATA count=22048 seek=$((`blockdev --getsz $PATH_TO_YOUR_USERDATA` - 22048))
Lockheed
quelle
Das Löschen nur des Headers funktionierte für mich in Ordnung (möglicherweise, weil die Verschlüsselung nicht abgeschlossen wurde - nicht sicher). Aber stimmen Sie Ihre Antwort wegen Ihres niedrigen Karmas ab))
Mixaz
4

Verwenden Sie die benutzerdefinierte Wiederherstellung?

Wenn ja, tun Sie dies nach dem Booten zu einer benutzerdefinierten Wiederherstellung ( in meinem Fall TWRP ):

  1. Entschlüsseln Sie das Gerät beim Start der Wiederherstellung NICHT . Tippen Sie einfach auf Abbrechen, wenn Sie nach einem Passwort oder Muster gefragt werden.

  2. Löschen Sie die Datenpartition. (Auf TWRP nach dem Wischen, um das System zu ändern: Löschen> Erweitert> Überprüfen: Daten)

Dadurch wird natürlich alles in der userdataPartition gelöscht. Die gesamte Datenpartition wird einschließlich der Verschlüsselungsschlüssel neu formatiert .

Majal
quelle
1
Durch das Löschen der Datenpartition wird einfach der Dateisystem-Header am Anfang der Partition entfernt. Es funktioniert nicht, da sich bei vielen Android-Versionen der LUKS / dm-crypt-Header am Ende des Dateisystems befindet.
Naftuli Kay
1
Hast du es versucht? Weil es gerade in meinem Nexus 9 funktioniert hat.
Majal
1
Ich bin mir nicht sicher, warum jemand diese Antwort abgelehnt hat. Dies funktioniert und ist der einfachste Weg, um die Verschlüsselung loszuwerden
ArtDeineka
1
Das habe ich letztendlich getan - und es hat funktioniert. :)
zaTricky
1
Hier gilt das gleiche. Lief wie am Schnürchen.
Linus Kleen
1

Meine Stimmen gehen an @Naftuli Kay und andere hilfreiche Antworten hier, aber ich habe einige Informationen, die ich gerne teilen möchte. Es ist zu lang für einen Kommentar, dann sei es eine Antwort.

Seit einer TWRP-Version befindet sich auf dem Löschbildschirm das Element "Daten formatieren". Es löscht nicht nur die Datenpartition, sondern behandelt auch die verschlüsselte FS-Angelegenheit. In meinem Fall löscht TWRP 3.0.2 auf dem Samsung J500H die Verschlüsselung, und es war die einzige Möglichkeit, dass das Zurücksetzen auf die Werkseinstellungen nicht funktioniert. CMR (das, das entlang meiner CM 12.1-ROM für J500H erstellt wird) kann die Verschlüsselung ebenfalls nicht löschen.

--set_encrypted_filesystem=off funktionierte auch nicht in TWRP und CMR.

Das Löschen von Daten über OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html funktioniert ebenfalls nicht

Android 3.0 hat begonnen, / sdcard / data / media zuzuordnen, daher mussten sie / data wipe auf not / data / media überarbeiten und werden rm -rfstattdessen ausgeführt. Weitere Informationen finden Sie unter https://twrp.me/faq/datamedia.html .

Wenn Sie 'Daten formatieren' ausführen, werden im Wiederherstellungsprotokoll (/ cache / recovery / log oder / cache / recovery / last_log) folgende Informationen angezeigt:

I:Successfully wiped crypto footer.

bevor es Formate / Daten mit make_ext4fs. Der TWRP-Code enthält eine Reihe von Überprüfungen, um festzustellen, wo sich der LUKS-Header befindet, und in meinem Fall wurde er in der Fußzeile gefunden.

Ich habe mir die TWRP-Quelle angesehen und keine Möglichkeit gefunden, Daten über die Befehlszeile zu formatieren (ich muss den verschlüsselten Speicher einer Anwendung in einem benutzerdefinierten ROM löschen). Daher ist diese Option nur in der Benutzeroberfläche verfügbar. Mit der einzigen Ausnahme: Wenn TWRP mit TW_OEM_BUILDaktiviert kompiliert wird , werden beim Zurücksetzen auf die Werkseinstellungen Daten formatiert, der Krypto-Header gelöscht und die Datenpartition formatiert. Andernfalls wird das reguläre Löschen ohne Formatierung verwendet.

Ich werde es ddmit Nullen versuchen , tatsächlich macht TWRP dasselbe, um die Verschlüsselung zu löschen, nur weiß es, wo genau nach dem Header gesucht werden muss))

Mixaz
quelle
0

Die Antwort von Naftuli Tzvi Kay oben erweitern ...

Nun, diese Antwort brachte mich an den richtigen Ort, aber mein Telefon (CM11 / i9300) hatte keinen recoveryBefehl und der wipeBefehl hatte keine Option zum Deaktivieren der Verschlüsselung. Also habe ich es manuell gemacht, indem ich mir die Kommentare im Quellcode für den recoveryBefehl angesehen habe (Datei, die mit der Antwort in der obigen Frage verknüpft ist):

* The recovery tool communicates with the main system through /cache files.
* /cache/recovery/command - INPUT - command line for tool, one arg per line
* /cache/recovery/log - OUTPUT - combined log file from recovery run(s)
* /cache/recovery/intent - OUTPUT - intent that was passed in
*
* The arguments which may be supplied in the recovery.command file:
* --send_intent=anystring - write the text out to recovery.intent
* --update_package=path - verify install an OTA package file
* --wipe_data - erase user data (and cache), then reboot
* --wipe_cache - wipe cache (but not user data), then reboot
* --set_encrypted_filesystem=on|off - enables / diasables encrypted fs
*
* After completing, we remove /cache/recovery/command and reboot.

Also manuell (mit adb):

  1. Rufen Sie eine Eingabeaufforderung mit Root-Zugriff auf, z
    $ adb shell
    > su
    
  2. Fügen Sie den folgenden Text entweder mit echo oder vi in ​​die Datei / cache / recovery / command ein:

    --wipe_data
    --set_encrypted_filesystem=off
    

    zB mit echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. Starten Sie CWM oder eine ähnliche Wiederherstellung neu

Du solltest einen schönen Fortschrittsbalken sehen und er sollte fertig sein :)

Allicoder
quelle
Der Wiederherstellungsbefehl ist in meinem TWRP (3.1.1) verfügbar. Er akzeptiert --wipe-data und --set_encrypted_filesystem = off sowohl über / cache / recovery / command oder über die Befehlszeile, aber sobald der Zugriff auf die Datenpartition angefordert wird (von --wipe-data) TWRP fordert zur Eingabe des Kennworts auf. In der neuesten TWRP funktioniert das also nicht. 'Daten
formatieren
0

Die beste Arbeitsmethode besteht darin, TWRP zu starten und es mit dem eingebauten Terminal als ext2 zu formatieren (da dies das einzige ist, was direkt vom Terminal unterstützt wird), und die Partition mithilfe der Option "Dateisystem reparieren" unter "Mounten" in "ext4" zu ändern

So formatieren Sie als ext2:

mkfs.ext2 /dev/block/mmcbl0p23 (Ersetzen Sie den Wert Ihrer Benutzerdatenpartition, indem Sie sich in / dev / block / platform / * / by-name / userdata umsehen.)

Ändern Sie das Dateisystem als ext4:

Löschen -> Erweitertes Löschen -> Wählen Sie "Daten" -> Reparieren oder Ändern des Dateisystems -> Ändern des Dateisystems -> EXT4

Jetzt sollten Sie die Verschlüsselung entfernt haben und in der Lage sein, / data partition von TWRP zu mounten. Hoffe das hilft :)

Snazzy Sanoj
quelle