Daten aus der ‚Adoptable Storage‘ von Android-Geräten retten

34 mal gelesen

Seit Android 6 gibt es die Möglichkeit, Speicherkarten auf zwei verschiedene Weisen zu nutzen: Als „Portable Storage“, also wie eine zweite Festplatte, oder als „Adoptable Storage“, wie eine Erweiterung des fest eingebauten Speichers.

Die „Portable Storage“ hat den Vorteil, dass die SD-Karte jederzeit entnommen und im Computer ausgelesen werden kann; auch kann sie einfach in ein neues Handy gesteckt und sofort weiterbenutzt werden. Sollte das Handy beschädigt werden, können die Daten der Karte noch einfach gerettet werden. Zudem kann man – abhängig von der Android-Version und dem Gerät – einige Apps auf die SD-Karte verschieben.

Die „Adoptable Storage“ verhält sich dagegen nicht wie eine zweite „Festplatte“, sondern wie schon erwähnt als Erweiterung des eingebauten Speichers. Um eine SD-Karte so zu verwenden, muss sie immer im Gerät formatiert werden. Das hat einen Grund: Die Karte wird dabei verschlüsselt, und zwar ohne Rückfrage beim Benutzer. Die Vorteile dieser Technik sind, dass man nun mehr Speicherplatz für Apps hat, die ihn dringend brauchen und auch nicht verschoben werden können – zum Beispiel Microsoft Teams, Whatsapp und viele andere. Der Nachteil liegt aber auf der Hand: Die Karte kann nicht mehr von einem Windows-Rechner ausgelesen werden. Sollte das Handy defekt sein oder ein Werks-Reset ausgeführt werden, könnten alle Daten auf der Karte für immer verloren sein. Zudem weiß man meist nicht, ob die Dateien nun im internen Speicher des Telefons oder auf der SD-Karte landen. Mehr zu dem Thema hier.

Das fand ich ein wenig gruselig, doch es gibt (wie fast immer) einen Weg, Adoptable Storage-Karten auszulesen. Der ist aber ein bißchen tricky. Und so geht’s – das habe ich hier gelernt:

  1. Das Gerät muss gerooted sein. Anleitungen zum Rooten für praktisch jedes Gerät finden sich bei Google.
  2. Der TWRP Recovery Boot Manager muss installiert sein. Auch hierbei hilft Google.
  3. Außerdem sollte man sich ein wenig mit Linux auskennen und einen Rechner oder eine virtuelle Maschine z. B. mit Ubuntu installiert haben.
  4. Telefon ausschalten und den Recovery boot durchführen → man befindet sich im Hauptbildschirm von TWRP
  5. Advanced → File Manager
  6. data – misc – vold → hier sollte eine .key-Datei sein!
  7. Diese Datei antippen, „copy file“, Ziel: /sdcard – unten rechts aufs Symbol klicken.
  8. Per USB-Kabel oder frischer SD-Karte die Datei umkopieren.
  9. In Linux (z. B. Ubuntu): Key-Datei auf den Rechner kopieren.
  10. Folgenden Konsolenbefehl im Verzeichnis mit der .key-Datei ausführen:
    hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.key

    (Dateiname entsprechend anpassen; ein Druck auf den Tabulator hilft!)
    => 32 Zeichen werden ausgegeben; diese kopieren (eine Textdatei ist hilfreich)

  11. SD-Karte mit Linux verbinden (z. B. über USB-Kartenleser)
  12. Im Terminal:
    sudo su
    
    fdisk -l
    parted -l

    => 2 Partitionen sollten angezeigt werden; eine mit 16MB, die andere mit dem restlichen Speicherplatz; von dieser zweiten, großen Partition brauchen wir die Adresse, welche mit /dev beginnt!

  13. Nun den folgenden Befehl entsprechend Ihrer Daten anpassen:
    dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt aes-cbc-essiv:sha256 AnDieserStelleDenHexcodeEingeben 0 /dev/sdb2 0"
    mkdir /mnt/1
    
    mount -t f2fs /dev/mapper/crypt1 /mnt/1
    
  14. Für den Zugriff auf die Ordner unter /mnt/1 mit dem Dateimanager sind teils Root-Rechte erforderlich, weil wir die Operationen oben auch als root ausgeführt haben; entweder also das root-Passwort eingeben oder Datei-Explorer als root starten.
    Die Dateien finden sich dann unter /mnt/1/media/0

Vielen herzlichen Dank an Muhammad Yasir für seine geniale Anleitung! Es macht natürlich Sinn, sich den Key zu kopieren und an einer sicheren Stelle auf dem PC zu speichern, solange das Telefon noch funktioniert; wenn das Display erst mal zerbrochen ist, geht meist nichts mehr!

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

CAPTCHA: Bitte folgende Rechenaufgabe lösen (blockiert Spam) - Ziffern eingeben! Danke! * Time limit is exhausted. Please reload CAPTCHA.