Android ADB-Shell-Wiederherstellungsmontage

*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
Gibt es eine Möglichkeit, die USB-Einstellung über XML mit den von mir erworbenen Systemdateien zu aktivieren?
ist das Ziel, die /data Partition zu mounten, um die Dateien mit adb zu extrahieren?

Antworten (6)

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 mmcblkXpXXersten Befehl.

Wenn erfolgreich, /datasollte korrekt montiert werden

Alle meine Mount-Befehle führen zu 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.
Ihre Antwort ist richtig, aber er gab an, dass sein Gerät nicht gerootet ist, sodass es keine Hilfe sein wird.

Samsung Galaxy S2 Partitionen mit nützlichen Daten sind /dataund /sdcard(interner Speicher) oder /emmcabhä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 /dataoder /sdcardkönnen Sie es mit mount /dataund versuchen mount /sdcard.

Wenn der Einhängepunkt noch nicht definiert ist, müssen Sie die Partition verwenden: mount /dev/block/mmcblk0p10 /data. Der -oParameter definiert die Optionen beim Aufruf von mount , aber da Sie nur alle Daten erhalten (lesen) möchten, würden die Standardoptionen ausreichen.

Danke für den Wechsel ins richtige Forum. Der einzige richtige Mount-Befehl, den ich ausführen konnte, war mount -t jpg /dev/block/mmcblk0p1 /sdcard -operation not allowed. Ich habe mmcblk0p1 verwendet, weil Ihr erwähnter Ort nicht existiert.
Warum verwenden Sie -t jpgden 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:

  1. Flashen Sie eine benutzerdefinierte Wiederherstellung über Odin ( http://forum.xda-developers.com/showthread.php?t=2204700 vielleicht)
  2. Booten Sie wie zuvor in die Wiederherstellung
  3. Mounten Sie Daten über ADB, wenn Sie bei dieser Wiederherstellung Root-Berechtigungen haben
  4. 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.

  5. 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

  1. Gehen Sie mit der Tastenkombination in den Download-Modus (halten Sie die Leiser-Taste, die Home-Taste und die Einschalttaste gedrückt)

  2. Öffnen Sie Odin (es könnte großartig sein, es vorher herunterzuladen)

  3. Klicken Sie auf die PDA-Schaltfläche und wählen Sie CF-Root-xxx-vX.X.tar
  4. Verbinden Sie das Telefon mit Ihrem Computer
  5. Stellen Sie sicher, dass die Neupartitionierung NICHT aktiviert ist
  6. Klicken Sie auf die Schaltfläche STARTEN
  7. Warten Sie, bis das Telefon neu gestartet wird

Jetzt können Sie diese Wiederherstellung wie zuvor eingeben und Daten über adb mounten, da Sie Root-Berechtigungen haben sollten.

Danke für deinen Beitrag zu diesem alten Thread. Ich werde mein Bestes tun, um Ihre Lösung in der nächsten Woche zu versuchen und so schnell wie möglich nachzugehen.
Mal sehen, ob das hilft. Also ist meine Vermutung richtig, dass du das Stock-ROM installiert hast?
Sie können auch versuchen, heimdall anstelle von Odin zu verwenden, je nachdem, welches Betriebssystem Sie verwenden. Installieren Sie möglicherweise die TWRP2-Wiederherstellung von Ihrem Computer auf dem Telefon. Starten Sie dann in den Wiederherstellungsmodus, und Sie sollten zu diesem Zeitpunkt root haben, was Ihnen Optionen bietet, einschließlich des manuellen Mountens, wie vorgeschlagen, und dann des ADB-Pull-Dateien, die Sie benötigen, oder Sie können die gesamte Partition auf Ihren Computer ziehen, dann lokal mounten und auf diese Weise wiederherstellen.

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.

Versuche dies:

$ adb shell
$ su
# mount -o rw,remount /system
su: nicht gefunden. Der Mount-Befehl schlägt auch bei Verwendung der #-Methode fehl.
Wenn das Telefon nicht gerootet ist, kann es nicht als su (oder als root) ausgeführt werden.