SD-Karte: Mit ext2 / ext3 / ext4 anstatt FAT32 formatieren?

  • 15 Antworten
  • Letztes Antwortdatum
K

Killhunter

Stamm-User
25
Hi, wenn ich free in den Terminal Emulator eingebe steht da dass ich 0 Swap habe.. Ich habe aber folgendes gemacht:

1. Wipe
2. Partition im Recovery gemacht (Hatte vorher schon eine, hat aber auch nicht funktioniert, habe nicht auf clear partition oder wie es heißt gedrückt)
3. Partition auf ext3 erhöht (ist doch standardmäßig auf ext2 oder?)
4. Partition auf ext4 erhöht
5. Aktuelles Cyanogen geflasht
6. Mit Root Explorer auf die userinit.sh gegangen und auf Execute gedrückt (userinit war auf ext4 eingestellt)

Fehlt da was? Hab ich was falsch gemacht?

mfG Killhunter
 
Die userinit.sh in das Verzeichnis sd-ext auf der Speicherkarte.
Handy neu starten nicht die Datei anklicken.
Ob ext3 oder ext4 spielt keine Rolle merkste eh keinen Unterschied aufm Handy.
 
  • Danke
Reaktionen: Killhunter
Neustarten hat tatsächlich gereicht ^^ Danke
 
Generelle Frage:

Normalerweise formatiert man die SD-Karte des Android-Smartphones ja mit FAT32.

Das verstehe ich, weil dann der Datenaustausch per USB-Kabel mit Windows PC klappt, weil Windows ja ext2/3/4 nicht kennt.
Aber ich benutze einen Linux Ubuntu PC, also bin ich auf FAT32 deswegen nicht angewiesen.

Darum meine Frage:
Kann ich meine DATEN-PARTITION (ich rede jetzt NICHT von der etwaigen zweiten A2SD-Partition!) auf der SD-Karte (also die erste Partition, die normalerweise FAT32 ist) auch in ext2/3/4 formatieren?

Das Dateisystem ext2/ext3/ext4 fragmentiert ja denke ich weniger oder gar nicht (darum gab es bei FAT32-basieretem Windows früher immer Defragmatierungs-Tools, bei Linux aber nie), so dass ich auch langfristig keine Geschwindigkeitseinbußen wie bei FAT32 zu befürchten hätte. Ich hab z.B. irgendwo im Forum gelesen, dass jemand wegen massiven Speed-Problemen seine FAT32-Partition komplett gebackupped, dann gelöscht und dann wieder neu beschrieben hat mit den selben Daten wie vorher, und danach dauerten einige Operationen nur 20 sec, die zuvor 8 min gedauert hatten, obwohl die SD-Karte ja genau die gleichen Daten drauf hatte. Sowas ist ja sehr nervig, und wenn das per ext2/3/4 vermeidbar wäre, dann würde ich von Anfang an meine Datenpartition auf der SD-Karte gleich mit ext2/3/4 formatieren.

Geht das?
Gibt es vieleicht Nachteile, die ich gerade nicht bedenke (außer dem mir schon bewussten geringeren Netto-Platz für Daten, der bei ext-Partitionnen übrig bleibt im vgl. zu FAT)


Wenn ja, eine Anschlussfrage:
Wenn ich nun noch eine ZWEITE Partition auf der SD-Karte wegen A2SD oder Link2SD einrichten möchte(*), kommt es dann zu Problemen, weil das Android-System dann plötzlich ZWEI ext-Partitionen auf der SD-Karte sieht und evtl. statt der zweiten Partition die erste (die Daten-Partition) nach "/system/sd/" mountet?


(*) ich spreche hier nicht von dem nativen "App2SD/Move2SD", was ja nativ ab Froyo 2.2 supported wird und die Apps (*.apk) auf der (erste) Datenpartition nach "/sdcard/.android-secure" auslagert, sondern vom anders funktionierenden A2SD (oder Link2SD) (um off-topic-Discussionen zu vermeiden, hier der Link dazu)
 
  • Danke
Reaktionen: Johan
Android erwartet eine Fat32 Partition, d.h. es geht nicht. Die muss sein.

Bye, Klaus
 
  • Danke
Reaktionen: michael_and
Du weißt aber schon dass eine SD-Karte keine Festplatte ist, und es deshalb da sowas wie Fragmentierung nicht gibt.
 
  • Danke
Reaktionen: michael_and
Keine Fragmentierung? Naja, aber die oben geschilderte Erfahrung dieses Users muss ja irgendwie zu erklären sein, und ich hatte gedacht, so eine Art Fragmentierung (wenn auch vielleicht anders als bei HDD) gibt es da auch.

Naja, ist ja egal, wenn FAT32 sein muss, erübrigt sich die Frage (außer es kommt mal ein Custom RAM raus, was diesen FAT32-Zwang aufhebt - kann ja eigentlich nicht so schwer sein - aber ist nur sinnvoll, wenn es auch relevante Vorteile bietet)

PS: Ein Argument für FAT32 gegenüber ext2/3/4 ist vielleicht noch die Lebensdauer des Flash-Spechers?
 
Klar gibt es auch mit SSDs und SD-Karten Fragmntierung. Ist ja ein "Feature" des Filesystems und nicht des Speichermediums.

Wenn du root hast kannst du den Mountpoint für die SD-Karte ändern. Dann kannst auch andere Filesysteme verwenden.
 
Also bei den oben genannten Symptomen würde ich eher auf einen Fehler in der FAT tippen. Eine Fragmentierung hätte mit Sicherheit nicht so gravierende Auswirkungen. Und da es, wie schon gesagt, sowas bei Speicherkarten nicht gibt...
 
GalaxyS_User schrieb:
Klar gibt es auch mit SSDs und SD-Karten Fragmntierung. Ist ja ein "Feature" des Filesystems und nicht des Speichermediums.

Wenn du root hast kannst du den Mountpoint für die SD-Karte ändern. Dann kannst auch andere Filesysteme verwenden.

Nein! Du vergisst, dass zwischen dem Filesystem und den Speicherzellen noch der Controller der Karte sitzt. Ich glaube hier gibt es reichlich Klärungsbedarf.
Also mal von Grundauf:
Jedem von Euch ist das Prinzip der Festplatten bekannt.
Auf einem Magnetspeicher (Festplatte) ist der Speicher in Sektoren eingeteilt. Diese Sektoren liegen hintereinander Spurweise auf der Magnetscheibe. Von Fragmentierung spricht man wenn einzelne Blöcke einer Datei auf mehrere voneinander entfernt liegenden Sektoren verteilt sind.
Warum ist das ein Problem?
Beim einlesen der Datei muss der Controller der Festplatte alle Teile der Datei zusammen suchen. Der Lesekopf wird also zur ersten Spur bewegt auf der Teile der Datei zu finden sind. Dort wartet er bis sich die Blöcke auf der Scheibe vorbei drehen und liest sie dann aus. Dann wird er zur nächsten Spur bewegt. Solange bis alle Teile der Datei eingelesen sind. Diese Methode kostet natürlich Zeit, da der Lesekopf immer wieder neu positioniert werden muss und auf das "Vorbeidrehen" der Sektoren warten muss. Besser ist es wenn alle Blöcke einer Datei am Stück auf der Scheibe liegen. Dann können alle Teile der Datei in einem Rutsch eingelesen werden.
Soweit ist es sicher allen klar!!!
Was ist also bei Speicherkarten anders?
In Speicherkarten sitzen Speicherzellen. Logisch, oder? :tongue:
Jede Speicherzelle hat eine Adresse und kann vom Controller direkt angesprochen werden. Eine physikalische Aufreihung wie auf der Festplatte gibt es nicht. Deshalb ist es egal in welcher Reihenfolge die Zellen abgefragt werden. Ob 1, 2, 3, 4, 5 oder 17, 112, 45, 2, 89 der Lesevorgang dauert ungefähr gleich lang. Aber Speicherzellen haben ein riesiges Problem. Sie vertragen nur eine gewisse Anzahl an Schreibzyklen. Würden die Speicherzellen direkt wie auf der Festplatte adressiert, dann würden einige Zellen sehr oft beschrieben (dort wo z.B. eine Logdatei liegt), andere aber eventuell nie, weil nie Dateien in dem Bereich landen. Um das Problem zu umgehen besitzen die Controller quasi eine Intelligenz. Sie wissen welche Zelle wie oft beschrieben wurde. Wenn eine Zelle zu oft beschrieben wird, landen die Daten einfach in einer anderen Zelle. So verteilt der Controller alle Schreibzugriffe möglichst gleichmäßig auf alle Zellen. Es gibt also keinen direkten Zusammenhang zwischen physischer Adresse (laut Dateisystem) und den Speicherzellen. Welche Zelle zu welcher Adresse gehört weiß allein der Controller. Es ist also völlig egal wie fragmentiert die Dateien sind. Selbst nicht fragmentierte Dateien liegen evtl. über die ganze Speicherkarte verteilt. Auf die Leserate hat das keinen Einfluss, weil ja nichts bewegt werden muss.
Das schlimmste was Ihr eurer Speicherkarte antun könnt ist defragmentieren!!! Warum?
Das Defragmentierer analysiert die physischen Adressen (Filesystem) die zu allen Dateien gehören. Von der Verteilung auf die Speicherzellen weiß er nichts. Er versucht also eine fragmentierte Datei, die sagen wir auf Adresse 5, 46 und 78 verteilt ist, wieder zusammen zu führen.
Er liest Adresse 5, der Controller liefert den Inhalt aus Zelle 27 (Da liegen gerade die Daten)
Er schreibt an Adresse 1, der Controller schreibt in Zelle 124 (ist seiner Meinung nach das beste)
Er liest 46, Controller liefert 4
Schreibt 2, Controller schreibt 13
Liest 78, Controller liefert 146
Schreibt 3, Controller schreibt 82
Der Defragmentierer ist zufrieden, da die Datei an einem Stück ist (laut Dateisystem), obwohl sie immer noch über die ganze Speicherkarte verteilt liegt, nur anders. Aber dabei sind wieder 3 Zellen beschrieben worden und ein Stück gealtert.
Versteht ihr, dass es egal ist wie fragmentiert die Daten laut Dateisystem sind? Sind sie eh, aber das hat keinen Einfluss!!!
Also schont Eure Karten und lasst das Defragmentieren!!! :thumbup:

Gruß
 
  • Danke
Reaktionen: BigManitu, Sandmann79, dragonette und 8 andere
Danke Steeven! Super Erklärung!

GalaxyS_User schrieb:
[...] Wenn du root hast kannst du den Mountpoint für die SD-Karte ändern. Dann kannst auch andere Filesysteme verwenden.
Hmm, also, Du meinst, mit Root ist es möglich, eine ext2 oder ext4-Partition nach "/sdcard/" zu mounten? Dann muss ich aber bestiimt irgend welche boot scripte oder so anpassen...

Eigentich dachte ich, ich formatiere einfach die erste Partition mit ext2/3/4 statt FAT32, und das System bindet die dann automatisch nach /sdcard/ ein, so wie bei FAT32 ja auch.

Naja, aber nach Steevens Erklärung weiß ich jetzt auch nicht, ob es wirklcih ein Vorteil wäre, statt FAT32 eine extX-Partition zu haben.
 
Es hätte z.B. Vorteile, wenn du Dateien >4GB Größe benötigst. Die kann FAT32 nämlich nicht.

Bei Ext4 muss auf jeden Fall der Kernel des Androiden mitspielen - sehr viele bringen von Haus aus aber nur Ext2- und Ext3-Unterstützung mit. Und einige Features von Ext2/3 (z.B. Journaling oder ATIME) sollte man dem Speicher zuliebe auch abschalten (-> begrenzte Schreibzyklen).

Es könnte aber sein, dass du noch die eine oder andere Config (z.B. vold.fstab) oder Init-Skript anpassen musst.
EDIT: Init.d-Support ist erstmal nicht mit dabei.
 
Hier im unteren Absatz steht auch etwas über Defragmentieren von SSDs, sollte sich weitestgehend auf SD-Karten übertragen lassen. Hoffe, die Infos sind korrekt, stammen zumindest vom Autor des meiner Meinung nach besten Defrag-Tools, noch dazu Open Source.

Grüße, Müsli
 
  • Danke
Reaktionen: Mystery1 und michael_and
muesli schrieb:
Hier im unteren Absatz steht auch etwas über Defragmentieren von SSDs, sollte sich weitestgehend auf SD-Karten übertragen lassen. Hoffe, die Infos sind korrekt, stammen zumindest vom Autor des meiner Meinung nach besten Defrag-Tools, noch dazu Open Source.

Grüße, Müsli

Hi Saitenbacher, alles klar, dann ist Fragementierung auf SSD (und damit auch SD) also doch ein Thema, das wäre dann geklärt. Steeves Erklärung war zwar lang und scheinbar überzeugend, aber hat eben doch nicht alle Aspekte berücksichtigt. Die Welt ist eben doch manchmal kompizierter als man glaubt, und wenn man meint, mit ein-zweimal um die Ecke gedacht hat man alles geklärt, dann tut sich plötzlich noch eine 3. und 4. Ecke auf, hinter der völlig neue Einsichten stecken.

Trotzdem Danke auch an Steeve - einen "Dankpunkt" hat er ja trotzdem bekommen ;-)
 
Zuletzt bearbeitet:
Also der Link von Muesli hat mich jetzt selbst ins Grübeln gebracht. Dank an Muesli für den Denkanstoß! Scheinbar sind sich selbst die Hersteller nicht ganz einig, aber die Meisten raten DRINGEND davon ab!
Solid-State-Drive
Das habe ich auf die Schnelle zu SSD´s gefunden. Ich denke auf SD-Karten trifft das auch zu. Aber das ist ja der Sinn eines Forums, dass sich jeder seine eigene Meinung bilden kann. Ich werde es auf jeden Fall lassen. Ich benutze schon lange viele Speicherkarten und habe noch nie Geschwindigkeitsprobleme bemerkt die auf eine Fragmentierung zurückzuführen wären.

Gruß
 
Witzig. Wenn sich selbst die Hersteller nicht einig sind, dann sind wir hier ja auf verlorenem Posten...
 

Ähnliche Themen

J
Antworten
5
Aufrufe
2.784
KalleMerkt
K
B
Antworten
10
Aufrufe
209
heinzl
heinzl
Mydamon
Antworten
8
Aufrufe
506
Klaus986
K
Zurück
Oben Unten