Mal wieder ein aktuelles Problem: Bilder auf dem internen Speicher des Smartphones gelöscht – wohlgemerkt, auf dem internen Speicher, nicht auf der SD-Karte! An das Backup, dass die NSA macht, kommt man ja so nicht dran 😉
Unter Windows gibt es eine Menge kostenpflichtiger (und kostenloser mit Viren gespickten) Programme, die dies können, aber alle Programme kochen auch nur mit Wasser, also geht das auch unter Linux!
Update: Hier das Grundprinzip:
- Keine Änderungen mehr am Gerät durchführen
- Gerät rooten (ohne geht es nicht)
- Image kopieren
- photorec drüber laufen lassen
Schritt 1:
Der Hinweis auf Ask Ubuntu hat mir dasGrundprinzip gezeigt: Flugmodus sofort an, keine Apps mehr starten (ähnlich wie bei der Datenrettung unter Windows. Danach die Android Developer Tools installieren und den Debugging Modus aktivieren…. Klingt kompliziert? Habe ich auch gedacht, aber so schwer ist das garnicht:
Es gibt ein Repositry für das Android Developer Studio: Android Studio Repositry
Zum Hinzufügen einfach:
sudo apt-add-repository ppa:paolorotolo/android-studio
sudo apt-get update
sudo apt-get install android-studio
Dann noch Java (original Oracle) installieren -laut: Install Oracle Java
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Dann den Debugging Modus starten: Debugging starten
Dann musste ich noch den adb-Daemon neu starten: adb-daemon neu starten
cd /home/Benutzername/Android/Sdk/platform-tools
./adb devices
./adb kill-server
./adb start-server
2. Jetzt das Gerät rooten. Es gibt zwar die Möglichkeit, dies mit heimdall zu machen, bisher habe ich mich da aber nicht genauer beschäftigt. Nähere Infos hier: Flashen mit Heimdall
Zu meiner Schande muss ich gestehen, dafür habe ich auf ein Windows 7 zurückgegriffen und Odin verwendet: Galaxy Alpha rooten
Danach habe ich die notwendigen Tools auf das Handy installiert (Busybox – gibt’s im Play Store).
3. Jetzt wirds schwierig: Bisher habe ich es nur geschafft, wenn ich die richtige Partition kopiert habe, und diese herauszufinden, ist nicht ganz einfach:
loop0 mmcblk0boot0 mmcblk0p16 mmcblk0p5 ram0 ram3
loop1 mmcblk0boot1 mmcblk0p17 mmcblk0p6 ram1 ram4
loop2 mmcblk0p1 mmcblk0p18 mmcblk0p7 ram10 ram5
loop3 mmcblk0p10 mmcblk0p19 mmcblk0p8 ram11 ram6
loop4 mmcblk0p11 mmcblk0p2 mmcblk0p9 ram12 ram7
loop5 mmcblk0p12 mmcblk0p20 mmcblk0rpmb ram13 ram8
loop6 mmcblk0p13 mmcblk0p21 modem/ ram14 ram9
loop7 mmcblk0p14 mmcblk0p3 param ram15 vnswap0
mmcblk0 mmcblk0p15 mmcblk0p4 platform/ ram2 vold/
Beim Galaxy Alpha ist es mmcblk0p21
Als Tipp:
adb shell
ls -la /dev/block/platform/xxxxxxxxxxxxxxx/by-name/
Ein Terminal öffnen:
adb shell
su
cat /proc/partitons/
nc -l -p 5555 -e dd if=/dev/block/mmcblk0p21
(oder welche Partition es auch immer ist!) Danach ein zweites Terminal öffnen und mit
adb forward tcp:5555 tcp:555
ncat.exe localhost 5555 > /home/username/alphaimage.img
die Datei empfangen. Dafür wird das Programm netcat verwendet. Für diesen Tipp bedanke ich mich bei durd3n (Android Hilfe)
4. Nachdem man das Image kopiert hat, kann man es mit photorec nach Dateien durchsuchen.
Aber Achtung, durch das Rooten geht die Garantie verloren!!!!