Auslagerung von Userdaten auf die Datenpartition -> Mehr nutzbarer Speicher!

S

sessions

Stammgast
152
Hallo alle zusammen!


Inspiriert von diesem Thread Interner Speicher - Partition ändern - Android-Hilfe.de hab ich nach Möglichkeiten gesucht, den Speicher auf dem Telefon für Userdaten zu verwenden. Ich habe da einige Möglichkeiten überprüft und bin dann auf eine relativ simple und vielversprechende Lösung gekommen!

Benötigt werden:

- Root
- File Explorer (z.B. ES, Root Explorer oder ähnliches)
- Script- Programm (ich verwende SManager ads, kostenlos im Store)



Was wir hier machen:

Das System verteilt seine Daten auf verschiedene Partitionen, die alle eine fixe Größe haben und auf denen überall noch Platz für Daten ist.
Um diesen Speicher nutzen zu können, müssen wir dem System sagen, dass ein Verzeichnis woanders liegt als auf dem "Internen Speicher"


Das Xperia U System besteht unter ICS aus den folgenden Partitionen:

Code:
	shell@android:/ # df
	df
	Filesystem               Size     Used     Free   Blksize
	/dev                   194.3M    68.0K   194.3M   4096
	/mnt/asec              194.3M     0.0K   194.3M   4096
	/mnt/obb               194.3M     0.0K   194.3M   4096
	/dev/shm               194.3M    40.0K   194.3M   4096
	/system               1007.9M   508.3M   499.6M   4096
	/data                    2.0G   580.0M     1.4G   4096
	/cache                 246.1M     4.1M   241.9M   4096
	/modemfs                 2.8M     1.1M     1.7M   1024
	/data/idd                7.5M     1.1M     6.4M   1024
	/mnt/sdcard              4.0G     3.4G   584.7M   32768

/mnt/sdcard oder /sdcard sind der INTERNE SPEICHER (bei mir sind hier noch 972,1MB frei)
Die /data Partition, auf der alle User- Apps installiert sind, wird als TELEFONSPEICHER bezeichnet.
Bei mir sind hier jetzt noch 916,9MB frei.


Indem wir dem System sagen, dass ein Verzeichnis am Internen Speicher auf den Telefonspeicher ausgelagert werden soll, können wir damit Speicher auf dem Internen Speicher frei machen.


Ablauf:

Der Ablauf sollte eigentlich auf jedem Android- Gerät funktionieren, da nur ein grundlegender System- Befehl verwendet wird.


Achtung!
Ich bin nicht verantwortliche für auftretende Probleme mit euren Apps, Datenverlust oder gebrickte Telefone. Mit dem beschriebenen Ablauf werden eigentlich nur Daten verschoben, wobei normalerweise nichts kaputtgemacht werden kann. Die Daten solltet ihr vorher am PC als Backup speichern...


Wichtig!
Grundsätzlich auf Groß- und Klein- Schreibung achten! Sonst geht gar nichts - das ist LINUX!



Los gehts!

In diesem Beispiel werde ich das Verzeichnis /sdcard/DCIM/.thumbnails auslagern. In dem werden alle Vorschaubilder der Gallerie zwischengespeichert. Je nach Bildanzahl können das ein paar 100 MB sein!


1) Mit dem Filemanager navigieren wir nach /data

2) Dort ein Verzeichnis "sdcard2" erstellen

3) In dieses Verzeichnis wechseln

4) Dort ein Verzeichnis "DCIM" erstellen

5) Nach /sdcard/DCIM navigieren.

6) Das Verzeichnis .thumbnails ausschneiden (Im File Manager vorher versteckte Dateien einblenden)

7) Nach /data/sdcard2/DCIM navigieren

8) Das Verzeichnis dort einfügen
--> Dadurch wurden alle Dateien aus .thumbnails auf den Telefonspeicher in das Verzeichns /data/sdcard2/DCIM/.thumbnails verschoben! Dieser Speicherplatz ist jetzt im internen speicher frei!

9) Zurück nach /sdcard/DCIM navigieren

10) Einen Ordner .thumbnails anlegen -> Der nachfolgende Befehl braucht ein leeres Verzeichnis als Ziel!


Jetzt geht's daran, diese Dateien wieder nutzbar zu machen:



11) Am Handy den Scriptmanager (SManager ads) starten
WICHTIG! Als root ausführen!

12) In das Verzeichnis /sdcard navigieren

13) Optionen- Taste -> Neues Script erstellen. Man wird nach dem Namen für das neue script gefragt.

14) Das Script "mount_links.sh" benennen. --> Weiter

15) Es öffnet sich nun der Editor (SM Editor).

Die folgenden Zeilen müssen ihr in das Script schreiben, die erste Zeile steht schon dort:

Code:
	#!/system/bin/sh
	mount -o bind /data/sdcard2/DCIM/.thumbnails /sdcard/DCIM/.thumbnails

--> Mit diesem Befehl werden die beiden Verzeichnisse verbunden!


12) Das Script schließen und speichern

13) In der Datei- Liste im SManager ist nun unser neues Script aufgetaucht, mit dem grünen Totenkopf Symbol!

14) Das Script anklicken und folgende Optionen aktivieren:
- su (Damit die nötigen Rechte da sind)
- boot (Damit die Einstellung beim nächsten Neustart verwendet werden)
- is script (Voreingestellt)

15) Danach mit "run" durchführen.

16) Das Script wird erstmalig abgearbeitet. Auf dem Bildschirm sollte keine Fehler ausgegeben werden. Wenn doch, passt was mit dem Script nicht. Nochmal kontrollieren!
Damit ist das re-mounten abgeschlossen. Wenn man jetzt mit dem Filemanager auf dem internen Speicher auf das Verzeichnis /sdcard/DCIM/.thumbnails navigiert sind alle Dateien da!

17) Bei einem Neustart des Handys wird das script automatisch gestartet, man erkennt das daran, dass nach dem booten kurz die Meldung "SManager ads wurden Superuser Rechte gewährt" ausgegeben wird.



Ich habe die .thumbnails und meine Navi Karten ausgelagert, der Speicher sieht jetzt so aus wie unten dargestellt, wird auch unter Einstellungen --> Speicher richtig angezeigt!

Code:
VORHER:
	Filesystem               Size     Used     Free   Blksize
	/data                    2.0G   580.0M     1.4G   4096
	/sdcard                  4.0G     3.4G   584.7M   32768


NACHHER:
	/data                    2.0G     1.2G   815.0M   4096
	/sdcard                  4.0G     2.9G     1.0G   32768


Um andere Verzeichnisse auszulagern genau nach dem selben Schema vorgehen. Im script dann einfach eine weitere "mount" Zeile mit den richtigen Pfaden einfügen und das script dann neu durchlaufen lassen.




Bugs:

- Ich habe bemerkt dass man keine Ordner vom internen Speicher direkt auf ein am internen Speicher (/sdcard) verlinktes Verzeichnis kopieren kann. Man muss solche Operationen immer nach /data/sdcard2/... durchführen, dann funktioniert das auch.

- Wenn man jetzt ein CWM Backup macht, dann werden natürlich auch diese Daten mitgesichert. Euer /sdcard/clockworkmod Verzeichnis wird dadurch entsprechend größer!

- Die Daten sind über CWM nicht ansprechbar, da sie ja auf /data liegen

- Ich habe keine Ahnung wie sich diverse Datensicherungs- Apps verhalten, wenn App- Daten ausgelagert sind.

- Bei einem Factory Reset oder Wipe System/Data sind alle Daten, die ausgelagert sind, weg!

- Bitte aufpassen, was ihr auf die Datenpartition schiebt!

- Mein größtes Problem war, das script richtig hinzubekommen, mit diversen Editoren vom PC aus hat's nicht wollen... :huh:



Bis jetzt läuft bei mir alles problemlos, Navi funktioniert mit den Karten, Gallerie wird auch richtig dargestellt.
Bei USB Verbindung werden die Daten sogar auch angezeigt!

Viel Erfolg!
sessions
 
  • Danke
Reaktionen: waldkater

Ähnliche Themen

A
  • adi2044
Antworten
1
Aufrufe
1.841
Aaskereija
Aaskereija
K
Antworten
7
Aufrufe
2.365
snoopy-1
snoopy-1
meetdaleet
  • Gesperrt
  • Angepinnt
  • meetdaleet
Antworten
0
Aufrufe
886
meetdaleet
meetdaleet
Zurück
Oben Unten