LineageOS - Daten sichern, wiederherstellen, transferieren, migrierenFalls Sie ebenfalls Ihre Sicherungen lieber selber durchführen anstatt die Cloudlösung von LineageOS oder eine Backup App zu verwenden, dann können Sie ADB verwenden um Sicherungen zu erstellen und Ihre Daten wiederherstellen. Es ist auch kein großes Problem die Daten auf ein anderes/neues Gerät mit LineageOS zu übertragen. LineageOS ist ein Freies Betriebssystem für Smartphones und Tabletcomputer, basierend auf dem Betriebssystem Android. Nützliche Scripts: adb-scripts-20240324.zip VoraussetzungenAm Smartphone/Tablet:
Am Computer:
SetupLineageOS: Aktivieren der EntwickleroptionenDie App 'Einstellungen' öffnen. Den Menüpunkt 'Über das Telefon' öffnen. 10x auf 'Build-Nummer' tippen. LineageOS: ADB Zugriff via USB erlaubenDie App 'Einstellungen' öffnen. Den Menüpunkt 'System' / 'Entwickleroptionen' öffnen. 'USB-Debugging' aktivieren, 'Root-Debugging' aktivieren. Lineage Recovery: ADB Zugriff via USB erlaubenIm Menü 'Advanced' drücken Sie auf 'Enable ADB'. Am Computer: ADB rootUm vollen Zugriff am Smartphone/Tablet zu haben müssen Sie ADB in den Root Modus versetzen. Verbinden Sie Ihr Smartphone/Tablet via USB mit dem Computer. Am Computer starten Sie 'adb root', am Gerät tippen Sie beim Popup 'USB-Debugging zulassen' auf 'Erlauben'. Scripts / DownloadEin paar kleine Scripts als Einstiegshilfe. Download: adb-scripts-20240324.zip Daten sichern - BackupSie können das gesamte Gerät als Disk Images oder Daten auf Dateibasis sichern. Die Sicherung kann im laufendem Betrieb von LineageOS durchgeführt werden oder während Lineage Recovery läuft. Daten sichern während LineageOS läuft oder wenn Lineage Recovery läuft? Disk Images oder auf Dateibasis?Wenn Sie Ihre Daten via ADB sichern während LineageOS läuft, dann können Sie Ihr Gerät wie gewohnt nutzen. Sie sind während der Sicherung erreichbar, weiterhin online, alles läuft wie gewohnt. Allerdings besteht das Risiko, dass es zu einem Datenfehler kommen kann wenn LineageOS in eine Datei schreibt während sie gerade gesichert wird. Um dies zu verhindern kann man das Gerät mit Lineage Recovery booten. Allerdings ist das weniger komfortabel. Wenn Sie als Sicherungsstrategie anstelle von Disk Images das Sichern von Dateien und Verzeichnissen durchführen, verringert sich das Risiko eine fehlerhafte Datei zu sichern. Da nur bestimmte Dateien übertragen werden, dauert der Sicherungsvorgang viel kürzer als beim Sichern des gesamten Datenträgers mit einem Disk Image. Allerdings erhöht sich das Risiko Dateien zu übersehen. ADB startenVerbinden Sie Ihr Smartphone/Tablet via USB mit dem Computer. Am Computer starten Sie 'adb root', am Gerät tippen Sie beim Popup 'USB-Debugging zulassen' auf 'Erlauben'. Ein Disk Image erstellenÜblicherweise ist der Device Node vom internen Datenträger '/dev/block/mmcblk0' oder '/dev/block/sda'. Um zu erfahren welche Device Nodes von LineageOS verwendet werden, verbinden Sie sich mit Ihrem Gerät mit 'adb shell'. Mit dem Befehl 'mount' erhalten Sie unter anderem eine Liste aller Datenträger, die aktuell von LineageOS verwendet werden.
Beispiel 1: Ausgabe von mount === CUT === tmpfs on /mnt type tmpfs (rw,seclabel,nosuid,nodev,noexec,relatime,size=86... /dev/block/mmcblk0p23 on / type ext4 (ro,seclabel,nodev,relatime,discard) tmpfs on /apex type tmpfs (rw,seclabel,nosuid,nodev,noexec,relatime,size=8... tmpfs on /linkerconfig type tmpfs (rw,seclabel,nosuid,nodev,noexec,relatim... /dev/block/mmcblk0p26 on /data type ext4 (rw,seclabel,nosuid,nodev,noatime... /dev/block/mmcblk0p24 on /cache type ext4 (rw,seclabel,nosuid,nodev,noatim... /dev/block/mmcblk0p12 on /efs type ext4 (rw,seclabel,nosuid,nodev,noatime,... /dev/block/mmcblk0p26 on /data/user/0 type ext4 (rw,seclabel,nosuid,nodev,... === CUT ===Bei diesem Beispiel ist '/dev/block/mmcblk0p23' zu '/' gemountet. '/dev/block/mmcblk0p23' steht für Datenträger mmcblk0 Partition 23. Der Device Node für den internen Datenträger ist '/dev/block/mmcblk0'. Mit 'exit' können Sie die Shell verlassen. Um ein Disk Image vom internen Datenträger zu machen, starten Sie 'adb pull /dev/block/mmcblk0 mmcblk0.img'.
Beispiel 2: Ausgabe von mount === CUT === tmpfs on /mnt/androidwritable type tmpfs (rw,seclabel,nosuid,nodev,noexec,... /dev/block/sda29 on /metadata type ext4 (rw,seclabel,nosuid,nodev,noatime,... /dev/block/sda25 on / type ext4 (ro,seclabel,nodev,relatime) /dev/block/sda26 on /vendor type ext4 (ro,seclabel,relatime) /sys/kernel/debug on /sys/kernel/debug type debugfs (rw,seclabel,relatime) none on /config type configfs (rw,nosuid,nodev,noexec,relatime) none on /sys/fs/fuse/connections type fusectl (rw,relatime) === CUT ===Bei diesem Beispiel ist '/dev/block/sda25' zu '/' gemountet. '/dev/block/sda' steht für Datenträger mmcblk0 Partition 25. Der Device Node für den internen Datenträger ist '/dev/block/sda'. Mit 'exit' können Sie die Shell verlassen. Um ein Disk Image vom internen Datenträger zu machen, starten Sie 'adb pull /dev/block/sda sda.img'. Dateien und Verzeichnisse sichernLineageOS speichert die Daten der Apps unter '/data/data/'.
Media Dateien wie Fotos und Videos werden am internen Datenträger unter '/data/media/0' gespeichert. Beim zweiten Beispiel wird eine Sicherung der SD Karte gemacht. Die SD Karte wird zu einem Verzeichnis unter '/storage' gemountet. Um herauszufinden zu welchem Verzeichnis die SD Karte gemountet wird, verbinden Sie sich zu LineageOS mit dem Befehl 'adb shell'. Dann starten Sie 'ls /storage'. Hier ist eine Beispielausgabe emulated self 1865-F8CFAuf diesem Gerät wird die SD Karte mit dem Verzeichnis /storage/1865-F8CF gemountet. Der Verzeichnisname wird bei Ihrem Gerät anders lauten. Wenn Sie den Inhalt der Verzeichnisses auflisten, dann sollten Sie Ihre Dateien und Verzeichnisse sehen. Auf dem Beispielgerät würde der Befehl 'ls /storage/1865-F8CF' lauten. Beispiel: Sichern der gesamten SD Karte Beispiel: Sichern des Verzeichnisses DCIM von der SD Karte Daten wiederherstellen / transferieren / migrierenSie können die Daten und sämtliche Einstellungen des Gerätes via Disk Image oder Dateibasierend wiederherstellen. Weiters können Sie Ihre Daten und Einstellungen der Apps auf z.B. ein neues Gerät auf dem LineageOS installiert wurde übertragen. Weiter unten auf dieser Seite finden Sie Beispiele mit den Apps Telefon, Kontakte, SMS/MMS, Notepad und WhatsApp. Verbinden Sie Ihr Gerät via USB mit dem Computer. Am Computer starten Sie 'adb root', am Gerät tippen Sie beim Popup 'USB-Debugging zulassen' auf 'Erlauben'. Wiederherstellen mit einem Disk ImageFür das Wiederherstellen mit deinem Disk Image muss das Gerät mit Lineage Recovery gebootet werden. Im Lineage Recovery muss im Menü 'Advanced' der Menüpunkt 'Enable ADB' gedrückt werden um die Verbindung mit ADB zu ermöglichen. Warnung: Sollten Sie ein Image von einem Gerät auf ein anderes Gerät speichern wollen, dann prüfen Sie ob es eine Trim Area oder ähnliches gibt. Es werden zum Beispiel bei Sony Geräten auf der Trim Area gerätespezifische Informationen gespeichert. Durch überschreiben dieser Informationen können verschiedene Funktionen des Gerätes nicht mehr genutzt werden. Beispiel: Wiederherstellen von LineageOS am internen Datenträger. Sie verwenden den gleichen Device Node, der bei der Sicherung verwendet wurde. Der Device Node des Datenträgers bei diesem Beispiel lautet '/dev/block/sda'. Warnung: Alle Daten auf dem Zieldatenträger werden mit der Sicherung überschrieben! Wiederherstellen: Dateien und Verzeichnisse wiederherstellen'adb push' kopiert Dateien und Verzeichnisse auf das Gerät. Mit '--sync' werden nur ältere Dateien überschrieben. Beispiel: Sicherung des Verzeichnisses Pictures von der SD Karte: Beispiel: Wiederherstellen/transferieren des Verzeichnisses Pictures auf der SD Karte: Beispiele: Sichern und wiederherstellen/transferieren von AppsJede app hat ihr eigenes Verzeichnis für ihre Daten. LineageOS speichert die Daten der Apps unter '/data/data/[package name]'. Den Package Name finden Sie heraus, indem Sie die App für die Einstellungen starten. Unter 'Apps' und 'Alle Apps ansehen' wählen Sie die gwünschte App aus. Am untersten Ende der Seite finden Sie den Package Name. Zum Beispiel lautet der Package Name des Browsers org.lineageos.jelly. Die Daten werden in '/data/data/org.lineageos.jelly/' gepeichert. Achtung: Mit 'adb push' und 'adb pull' werden Benutzer/Gruppe und Dateirechte nicht übertragen. In den Beispielskripts finden Sie unter "filebased/01_keep_owner_and_permissions" Skripts bei denen Benutzer/Gruppe und Dateirechte gespeichert und wiederhergestellt werden. Hinweis: Schliessen Sie die App bevor Sie mit der Wiederherstellung/Transferierung der Daten beginnen.
Telefon & AnruflisteSichern: Wiederherstellen: KontakteSichern: Wiederherstellen: SMS & MMS NachrichtenSichern:
Wiederherstellen: NotepadSichern: Wiederherstellen: Nachrichten sichern: Mediadateien (Fotos, Videos, ...) sichern: Installieren Sie WhatsApp bevor Sie die Dateien wiederherstellen oder transferieren. Mit der Installation von WhatsApp werden alle notwendigen Verzeichnisse vorab erstellt. Danach können die gesicherten Daten mit ADB auf das Gerät übertragen werden. Nachrichten wiederherstellen:adb push com.whatsapp /data/data Mediadateien (Fotos, Videos, ...) wiederherstellen: adb exec-out & tarWenn man mit 'adb pull' ein Backup erstellt, dann wird von adb intern eine Liste aller zu kopierenden Dateien und Verzeichnisse erstellt. Danach kopiert adb die Dateien anhand dieser Liste. Sollte eine dieser Dateien beim Kopiervorgang nicht mehr vorhanden sein, z.B. eine temporäre Datei die mittlerweile von der App wieder gelöscht wurde, dann bricht adb den Kopiervorgang ab. Sie erhalten die Fehlermeldung 'adb: warning: stat failed for path ....: No such file or directory'. Es gibt derzeit leider keine Möglichkeit, dass adb fehlende Dateien ignoriert und den Kopiervorgang fortsetzt. Man kann dieses Problem umgehen, indem man anstelle von 'adb pull' die Befehle 'adb exec-out' und 'tar' verwendet. Damit wird ein Tar-Archiv erstellt und fehlende Dateien werden ignoriert. Befehl: Mit Datum im Dateinamen: Siehe auch ADB pull stops after first error Zugriff via MTPMTP hat nichts mit ADB zu tun, ist aber eine Möglichkeit über einen Mount-Punkt auf den internen Datenspeicher und die SD-Karte eines Smartphones/Tablets zuzugreifen. Verbinden Sie das Gerät mittels USB mit dem Computer. Es erscheinen ein paar Popup Nachrichten am Gerät. Tippen Sie auf Die Einstellungen für die USB Verbindung öffnet sich. Im Bereich 'Verbindungszweck für USB-Verbindung' wählen Sie 'Datenübertragung' aus. Einen Mount-Punkt erstellen. Zum Beispiel 'smartphone': Das Gerät mounten mit: Nun kann man auf das Gerät über das Verzeichnis 'smartphone' zugreifen. Ein Hinweis, wenn sich viele Dateien in einem Verzeichnis befinden, dann dauert das Öffnen des Verzeichnisses etwas länger. Unmount vom Gerät: ProblembehebungZugriff verweigert: Sie müssen 'adb root' am Computer starten und am Smartphone/Tablet beim Popup 'USB-Debugging zulassen' auf 'Erlauben' tippen.
Fehlermeldung: adb: unable to connect for root: device unauthorized.* daemon not running; starting now at tcp:5037 * daemon started successfully adb: unable to connect for root: device unauthorized. This adb server's $ADB_VENDOR_KEYS is not set Try 'adb kill-server' if that seems wrong. Otherwise check for a confirmation dialog on your device. ADB on device enabled?Starten Sie erneut am Computer 'adb root', am Gerät drücken Sie beim Popup 'USB-Debugging zulassen' auf 'Erlauben'. Fehlermeldung: adb: warning: stat failed for path ....: No such file or directorySiehe 'adb exec-out & tar'. © 2024 by
Elmar Hanlhofer |