Mounten Sie das Android-Dateisystem unter Windows oder Linux

Ich möchte einige Dateien auf meinem Telefon bearbeiten, kann aber nicht auf den Stammordner auf meinem Telefon zugreifen.

Ich verwende ein gerootetes Google Nexus 5 mit Android 5.0. Ich kann auf meine lesen/schreiben /und /systemdie Android-App „ES File Explorer“ verwenden, aber keine Windows-Software.

Wie kann ich die Android-Systemdatei in Windows mounten, damit ich von dort aus an denselben Stellen lesen/schreiben kann? Falls das unter Windows nicht möglich ist: Ich benutze auch Ubuntu. Kann ich mein Telefon also unter Ubuntu mounten?

Antworten (4)

Es gibt einen zweiten Weg, der mit mehreren Betriebssystemen auf der Computerseite funktionieren sollte: Wenn Sie einen Blick auf meine Liste der Datei-Android-Server-Apps werfen, finden Sie einige Android-Dateiserver-Apps, die WebDAV oder Samba verwenden, und SSH Clients & Server hat einige für SSH. Aktivieren Sie diejenigen mit "Root-Fähigkeiten", da Sie auf das gesamte Dateisystem lesend und schreibend zugreifen möchten.

Das Vorbereiten Ihres Geräts für den Lese-/Schreibzugriff erfolgt auf die gleiche Weise wie in meiner anderen Antwort angegeben . Starten Sie dann die von Ihnen ausgewählte "Server-App", und Sie sollten fertig sein - nicht einmal ein Kabel erforderlich, da dies über WLAN funktioniert:

  • Linux unterstützt SSHFS , also das Mounten des Dateisystems per SSH. Es gibt auch Helfer, um dies unter Windows zu erreichen (dort aufgeführt)
  • Samba wird unter Linux als „Samba“ unterstützt und sollte unter Windows nativ als „Windows Share“ unterstützt werden.
  • Auch WebDAV sollte von beiden Systemen unterstützt werden

Mit jeder der drei Kategorien sollten Sie also in der Lage sein, das Dateisystem Ihres Android sowohl unter Linux als auch unter Windows zu mounten. Einzige mögliche „Nachteile“ sind hier, dass man auf dem Android-Gerät eine zusätzliche App braucht und es durch WLAN eventuell etwas langsamer ist (letzteres muss aber nicht unbedingt der Fall sein).

Den Windows-Teil kann ich nicht beantworten – aber den Ubuntu-Teil kann ich sicher beantworten, da ich das auch verwende und meine Geräte von meinem Computer aus mounte, manchmal mit vollem R/W-Zugriff. Was ich verwende, erfordert die Installation von ADB-Tools auf Ihrem Computer. Wenn Sie sie noch nicht installiert haben, siehe zB Gibt es eine minimale Installation von ADB?

Bereiten Sie Ihren Droiden vor

Zunächst eine grundlegende Anforderung, die für jedes Betriebssystem gilt, das auf Ihrem Computer ausgeführt werden könnte: Um vollen Zugriff zu erhalten, muss der ADB-Daemon im Root-Modus ausgeführt werden. Dies ist bei Stock-ROMs standardmäßig nicht der Fall, selbst wenn sie gerootet sind (obwohl viele benutzerdefinierte ROMs dies standardmäßig aktiviert haben). Überprüfen Sie also zuerst: Wenn ein "normaler" adb shellSie direkt zum Root-Prompt ( #) bringt, ohne aufzurufen su, ist alles in Ordnung. Andernfalls benötigen Sie einen Helfer wie adbd insecure : Führen Sie ihn aus und aktivieren Sie den "gepatchten unsicheren Modus". Aktivieren Sie optional das Kontrollkästchen, damit dies bei jedem Start Ihres Geräts automatisch erfolgt.

Bereiten Sie den Schreibzugriff auf schreibgeschützte Dateisysteme vor

Zweitens, wiederum unabhängig vom Betriebssystem auf Ihrem Computer: Um Dateisysteme lesen und schreiben zu können, müssen sie im Lese-/Schreibmodus gemountet werden. Sie können dies jederzeit erreichen, adb shellwenn Sie dort schreiben müssen (ich empfehle nicht, diese Partitionen im permanenten Lese-/Schreibmodus zu belassen), z. B. indem Sie eine mount -o remount,rw /systemfür die /systemPartition ausgeben.

Besteigen Sie Ihren Droiden

Kommen wir nun zu den Besonderheiten. Ich mounte das Android-Dateisystem über ADB unter Verwendung von FUSE . Das Tool dafür ist adbfs-rootless . Das Kompilieren des Codes ist angesichts der dortigen Anweisungen einfach; Kopieren Sie danach die resultierende adbfsBinärdatei in ein Verzeichnis in Ihrer $PATH. Erstellen Sie dann einen Einhängepunkt auf Ihrem Computer; In meinem Beispiel werde ich ~/droiddafür verwenden. Jetzt geht es los:

# Mount the Android FS:
adbfs ~/droid
# Unmount it again:
fusermount -u ~/droid

Um den Vorgang zu vereinfachen, habe ich zwei Aliase erstellt:

alias mdroid="adbfs ~/droid"
alias udroid="fusermount -u ~/droid"

Sie haben es sicher schon erraten: mdroidsteht für „mount droid“, udroidfür „unmount droid“.

Ein anderer Ansatz zum manuellen Mounten/Unmounten ist die Verwendung von Midnight Commander mit einem bestimmten VFS: mc-extfs-adb macht das. Eine von mir speziell für Ubuntu angepasste Version steht im Downloadbereich bei IzzyOnDroid zum einfachen Abholen bereit (Installationsanleitung liegt bei).

Beide Varianten haben ihre Vor- und Nachteile: mc-extfs-adb braucht eine ganze Weile beim ersten Zugriff (während es die gesamte Dateisystemstruktur zwischenspeichert) – ist dann aber ziemlich schnell beim Durchsuchen des Dateisystems (da es zwischengespeichert ist) und wird nur langsamer wenn Sie Dateien remote kopieren/bearbeiten. Die direkte Verwendung von adbfs startet viel schneller, "zögert" dann aber immer eine Sekunde, wenn Sie Verzeichnisse wechseln (da es nicht die gesamte Struktur zwischenspeichert, sondern nur bei Bedarf liest). Normalerweise bevorzuge ich letzteres, aber YMMV – daher habe ich Ihnen beide Optionen gegeben :)

Ich habe das befolgt, was Sie gesagt haben, wenn ich den Befehl "adbfs ~/droid" implementiere, zeigt mein PC "droid has been connected", das Terminal zeigt "--*-- exec_command: adb shell ls", aber wenn ich auf das klicke Gerätesymbol, Es zeigt "Unbehandelte Fehlermeldung: Fehler beim Abrufen von Informationen für die Datei '/home/peter/droid': Transportendpunkt ist nicht verbunden". Was muss ich jetzt tun?
Der erste Teil (was das Terminal anzeigt) ist normales und erwartetes Verhalten. Da das Klicken in die Shell nichts bewirkt, weiß ich nicht, welches "Gerätesymbol" Sie meinen. Sie sollten lieber cdzu diesem Ordner oder (mit Ihrem Datei-Explorer) zu /home/peter/droid(dem "lokalen" Verzeichnis) anstelle eines Geräts navigieren. Für Dateioperationen bin ich nicht der "Grafiker" ;)
Das zeigt das Terminal peter@peter-N56VV:~/adbfs-rootless$ ./adbfs /droid --*-- exec_command: adb shell ls peter@peter-N56VV:~/adbfs-rootless$ /home/peter/ droid bash: /home/peter/droid: Transportendpunkt ist nicht verbunden
Ist das Gerät angeschlossen und USB-Debugging aktiviert? Was adb deviceszeigt? Ich habe diese Fehlermeldung noch nie gesehen, aber irgendwie scheint "Transportendpunkt ist nicht verbunden" darauf hinzudeuten, dass am "anderen Ende" nichts verwendet werden könnte.
adb devices: Liste der angeschlossenen Geräte 04b713228291c6d0 device Der USB-Debugging-Modus ist aktiviert.
Äh, sieht so aus, als wären Sie auf Ausgabe Nr. 3 gestoßen – bitte folgen Sie diesem Github-Ticket, der Fix ist da.

Installieren Sie den FX-Datei-Explorer aus dem Play Store , geben Sie ihm Root-Zugriff und ändern Sie ihn über das Dateisystem.

Der Windows-Datei-Explorer lässt Sie standardmäßig nicht auf die Android-Root-Dateien zugreifen. Dafür müssen Sie eine andere Anwendung (auf Ihren PC) herunterladen. Viele Orte (wie dieses Tutorial von Guidingtech.com) empfehlen Android Commander . Ein weiteres empfohlenes Datei-Explorer-Programm ist Droid Explorer .

Wenn Sie eine bestimmte Anwendung benötigen, um mit dem Dateisystem des Android-Geräts zu interagieren, beantwortet dies nicht die Frage. Das Mounten eines Dateisystems macht es systemweit für jede Anwendung verfügbar. Wenn die Frage wäre, "wie man Dateien kopiert", gibt es viele gute Anwendungen dafür – Ryans Droid Explorer ist definitiv eine davon (der Entwickler ist auch hier aktiv ;)
Es beantwortet die Frage, wie Sie die Root-Dateien des Android-Systems auf dem PC sehen und lesen / schreiben.
Yupp, es beantwortet diesen Teil der Frage, du hast Recht. Vielleicht nehme ich es ein wenig zu wörtlich, wie der Titel schon sagt mount android file system . Es ist definitiv ein nützlicher Hinweis – dem das OP vielleicht folgen möchte, da es unter Windows keine Alternativen gibt :) Also danke, dass du das eingebracht hast!