*Frage: Ich benötige Hilfe beim Mounten der internen Daten eines Android-Telefons mit der Android ADB Shell, während das Gerät über USB verbunden ist und sich im Wiederherstellungsmodus befindet. Wie bilde ich einen richtigen Mount-Befehl? Nähere Informationen finden Sie weiter unten.
*FYI: Ich habe Erfahrung in der Entwicklung mit dem Android SDK unter Verwendung von Java/XML. Ich habe wenig Dokumentation für die Android ADB Shell für meinen Zweck gefunden.
Ich habe ein Samsung GT-i9000 Android-Telefon mit einem zertrümmerten Bildschirm. Der Bildschirm ist schwarz und reagiert nicht auf Berührungen. Auf dem Telefon ist weder USB-Debugging noch USB Auto Mount aktiviert. Ich kann das Telefon nicht einfach über USB anschließen, um auf die gewünschten Dateien (Fotos und andere interne Daten) zuzugreifen. Die OS-Version kann ich leider nicht bestätigen. Das Telefon hat keine SD-Karte, alle gewünschten Daten befinden sich auf der internen Platine. Das Telefon ist nicht gerootet.
*Was ich versucht habe: Nach einigen Recherchen habe ich das Telefon mit der Drei-Tasten-Methode (VolUP + Home + Power) in den Wiederherstellungsmodus gebootet und es geschafft, mit dem Befehl „adb devices“ auf meinem Win 7-Computer auf das Gerät zuzugreifen. Es wird als "Wiederherstellung" angezeigt. Nur so konnte ich den Computer dazu bringen, das Gerät über USB zu erkennen. Ich habe Kies und Androidscreencast ohne Erfolg ausprobiert.
Ich konnte den Befehl "Pull" verwenden, um vom Telefon aus auf alle Android-Systemdateien zuzugreifen. Ich vermute, das liegt daran, dass der Wiederherstellungsmodus nur die erforderlichen Systemdateien für Updates/Reparaturen einbindet und sich nicht um die internen Daten kümmert. Mit dem Befehl mount kann ich sehen, was ich als Pfade zu den Dateien betrachte, nach denen ich suche:
$ mount
mount
rootfs / rootfs rw 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
nodev /tmp tmpfs rw,relatime 0 0
/dev/block/stl6 /mnt/.lfs j4fs rw,relatime 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/stl9 /system rfs rw,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=
utf8 0 0
/dev/block/stl3 /efs rfs rw,nosuid,nodev,relatime,vfat,llw,check=no,gid/uid/rwx,
iocharset=utf8 0 0
/dev/block/stl11 /cache rfs rw,relatime,vfat,llw,check=no,gid/uid/rwx,iocharset=
utf8 0 0
Alle meine Mount-Bemühungen scheitern, normalerweise mit einem Verwendungsvorschlag:
$ mount rootfs / /mnt/ rw 0 0
mount rootfs / /mnt/ rw 0 0
Usage: mount [-r] [-w] [-o options] [-t type] device directory
ls -l /dev/block/platform/dw_mmc/by-name/
um den Pfad zur Benutzerdatenpartition zu finden. Dann
mount -t ext4 /dev/block/mmcblk0p10 /data
Überprüfen Sie den korrekten Dateisystemtyp sowie den mmcblkXpXX
ersten Befehl.
Wenn erfolgreich, /data
sollte korrekt montiert werden
mount: Operation not permitted
. Ich glaube, ich habe gefunden, worauf Sie sich beziehen, obwohl sie (mmcblk0p2, mmcblk0p1) im Blockverzeichnis vorhanden sind. Das Plattformverzeichnis scheint nicht zu existieren.Samsung Galaxy S2 Partitionen mit nützlichen Daten sind /data
und /sdcard
(interner Speicher) oder /emmc
abhängig von der Wiederherstellung.
Um eine Partition einzuhängen, geben Sie den folgenden Befehl ein: mount <partition> <mount_point>
oder mount <mount_point>
wenn der Einhängepunkt bereits definiert ist. Für /data
oder /sdcard
können Sie es mit mount /data
und versuchen mount /sdcard
.
Wenn der Einhängepunkt noch nicht definiert ist, müssen Sie die Partition verwenden: mount /dev/block/mmcblk0p10 /data
. Der -o
Parameter definiert die Optionen beim Aufruf von mount , aber da Sie nur alle Daten erhalten (lesen) möchten, würden die Standardoptionen ausreichen.
-t jpg
den Mount-Befehl?Das ist eine Art knifflige Situation. Da Sie keinen Root-Zugriff haben, können Sie die Datenpartition nicht über adb in der Wiederherstellung mounten. Sie werden auch nicht in der Lage sein: adb backup
.
Der einzig mögliche Weg, irgendwie an Ihre Daten zu kommen, könnte folgender sein:
oder verwenden Sie die Tastennavigation in der Wiederherstellung, um Daten zu mounten (normalerweise gibt es dazu eine Option). Sie können mit eh vol+ vol- navigieren und mit Power bestätigen. Sie müssen nur wissen, wie Ihre Wiederherstellung auf einem Gerät mit einem funktionierenden Bildschirm aussieht.
alles aus Daten ziehen und glücklich sein
Möglicherweise treten Probleme bei der Verbindung über adb auf, da Ihr Computer nicht autorisiert wird. Dies muss überprüft werden. Wenn ja, sind Sie aufgeschmissen, es sei denn, Sie finden eine Wiederherstellung, bei der diese Sicherheitsfunktion deaktiviert ist.
AKTUALISIEREN:
Ich habe gerade etwas gefunden, was dir ziemlich helfen könnte. Es ist ein gerooteter Kernel, der aus dem Stock-ROM stammt, und eine Wiederherstellung mit deaktivierter Sicherheit ist enthalten. Das Flashen dieses Kernels über Odin sollte Ihnen helfen, Daten oder Partitionen zu mounten, die Sie mounten möchten, um Ihre Daten zurückzubekommen.
Tun Sie Folgendes: 1. Laden Sie das richtige CF-ROOT für Ihre Android-Version hier herunter: http://forum.xda-developers.com/showpost.php?p=8238938&postcount=3
Gehen Sie mit der Tastenkombination in den Download-Modus (halten Sie die Leiser-Taste, die Home-Taste und die Einschalttaste gedrückt)
Öffnen Sie Odin (es könnte großartig sein, es vorher herunterzuladen)
Jetzt können Sie diese Wiederherstellung wie zuvor eingeben und Daten über adb mounten, da Sie Root-Berechtigungen haben sollten.
aus der Adb-Shell
cat /etc/fstab
oder
cat /fstab.qcom
~ # cat fstab.qcom
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/mmcblk0p8 /boot emmc defaults defaults
/dev/block/mmcblk0p13 /recovery emmc defaults defaults
/dev/block/mmcblk0p17 /system ext4 ro,errors=panic wait
/dev/block/mmcblk0p15 /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,journal_async_commit,errors=panic,barrier=1 wait,check
/dev/block/mmcblk0p28 /data ext4 noatime,nosuid,nodev,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/mmcblk0p28 /data f2fs rw,discard,nosuid,nodev,noatime,nodiratime,inline_xattr wait,check,encryptable=footer,length=-16384
# zRAM
/dev/block/zram0 none swap defaults zramsize=201326592
# vold managed volumes
/devices/platform/msm_sdcc.4/mmc_host auto auto defaults voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/msm_hsusb_host.0 auto auto defaults voldmanaged=usbdisk:auto
~ #
sollte Ihnen den Partitionsnamen geben, nach dem Sie suchen.
Gerät: SG-i9001 - Samsung Galaxy S Plus
Ich hatte vorher das gleiche Problem. Der Hauptgrund, warum Sie Ihr Dateisystem und andere Partitionen Ihres Android-Geräts nicht neu mounten können, ist, dass Sie die Adb-Shell nicht im Root-Modus ausführen. Folgendes habe ich vorher gemacht:
$ adb shell
$ su
# mount -o rw, remount /system
Dies sollte Ihre Probleme lösen. In meinem Fall führe ich dies natürlich auf einem gerooteten Android-Gerät aus (LineageOS Android 7.1.2-Build). Es mag in Ihrem Fall anders sein, aber im Grunde ist die Idee die gleiche.
$ adb shell
$ su
# mount -o rw,remount /system
Benutzer1710096
Peter