Kategorie:

Mixed Mode: microSD-Karte unter Android Marshmallow als internen und externen Speicher nutzen

Eine zentrale Neuerung von Android 6 „Marshmallow“ besteht darin, dass sich eine SD-Karte auch als interner Speicher formatieren lässt. Damit gehören Probleme mit einem zu kleinen internen Speicher der Vergangenheit an. Die Alternative bleibt eine Nutzung wie bisher. Doch es gibt auch einen dritten Weg, den gemischten Modus.

Apps auf die microSD-Karte auszulagern, war in den Anfängen unter Android 2.x ganz normal. Denn die meisten Geräte besaßen 8 oder 16 GByte internen Speicher, sodass früher oder später die microSD-Karte dran glauben musste. Mit KitKat wollte Google das Rad neu erfinden und verbot quasi das Auslagern von App-Daten auf die externe Speicherkarte, was für viele Nutzer eine Katastrophe war. Android 5 machte diese Änderung teilweise wieder rückgängig, eine echte Lösung für das Problem des zu wenig internen Speicher bot jedoch auch Lollipop keine.

Marshmallow will alles besser machen und erlaubt nun — zumindest in der Version von Google — die Nutzung einer microSD-Karte als internen Speicher. Besitzt dein Smartphone zum Beispiel 16 GByte internen Speicher und du legst eine 32 GByte Karte ein, dann kannst du auf 48 GByte Speicher Apps installieren, Videos aufnehmen etc.

Ist doch alles wunderbar, oder?

Die neuen Probleme fangen dort an, dass der interne Speicher verschlüsselt ist und auch vom Android-System als interner Speicher behandelt wird. Das bedeutet, dass beim Anschließen des Smartphones an einen Computer nur die gewohnten Verzeichnisse des internen Speichers zu sehen sind. Zudem ist es nicht möglich, eine als intern formatierte Karte einfach so an einem anderen Rechner oder auf einem anderen Smartphone zu lesen. Denn erstens benutzt Android für die intern formatierte Karte Ext4 als Dateisystem, womit Windows und Mac OS X von Haus aus nicht klarkommen, und zweitens ist das Dateisystem verschlüsselt. Der Schlüssel lässt sich zwar mit etwas Aufwand auslesen, wenn man auch auf das Smartphone via Shell zugreifen kann, aber diesen Aufwand betreibt niemand wirklich ernsthaft, um nur mal schnell Daten von der Karte auszulesen.

Ein weiteres Problem besteht darin, dass die microSD-Karte für die Nutzung als interner Speicher (adptable Storage) formatiert werden muss. Dabei gehen — wie üblich — sämtliche Daten verloren. Samsung und LG haben sich deshalb dazu entschlossen, das Feature auf ihren Marshmallow-Geräten per Update nicht anzubieten. Über einen Trick lässt sich der adaptierbare Speicher aber dennoch einschalten. Wenn du ein Power User bist, und auf deinem LG G4 oder Samsung Galaxy S7 neben den internen 32 GByte Speicher noch weitere 32/64/128 GByte Speicher erhalten möchtest, dann musst du dich lediglich per adb shell auf dem Smartphone einloggen und hier folgende drei Befehle ausführen:

sm set-force-adoptable true
sm list-disks
sm partition disk:123_45 private

Den Eintrag für 123_45 oder 123,45 musst du dabei durch die Ausgabe des Befehls sm list-disk ersetzen. Danach ist die microSD-Karte „adoptiert“.

„Mit Marshmallow kannst du auch eine 500 GByte USB-Platte als internen Speicher formatieren.“

Auch wenn du ein SHIELD-Tablet oder SHIELD TV mit Marshmallow besitzt und dich noch nicht getraut hast, zum neuen Modus zu wechseln, eignet sich diese Anleitung wunderbar. Last but not least sei auch erwähnt, dass das Ganze nicht nur für microSD-Karten gilt, sondern auch für einen beliebigen Speicher, den man via USB ans Android-Gerät anschließt. Du kannst also auch eine 500-GByte-Festplatte auf diese Weise als internen Speicher formatieren :-)

Der undokumentierte gemischte Modus

Die neue Lösung ist also wunderbar für alle, die die microSD-Karte entweder nur als externe Karte wie bisher benutzen möchten oder diese nur als internen Speicher einsetzen. Was aber, wenn jemand gerne seinen internen Speicher erweitern, aber trotzdem die Möglichkeit nutzen möchte, einen Teil dieses Speichers mobil zu benutzen? Dafür gibt es den relativ unbekannten gemischten Modus. Über ihn lässt sich ein Teil der microSD-Karte als interner Speicher im Ext4-Format formatieren, der Rest als mobiler Speicher im Uralten VFAT-Format. Dafür musst du allerdings kräftig in die Tasten hauen und dich via ADB auf deinem Androiden einloggen.

Das Ziel: Die 64 GByte große microSD-Karte soll zu 32 GByte als mobiler Speicher, zu 32 GByte als interner formatiert werden.
Das Ziel: Die 64 GByte große microSD-Karte soll zu 32 GByte als mobiler Speicher, zu 32 GByte als interner formatiert werden.

Auch hier gehen sämtliche Daten auf der microSD-Karte erst einmal verloren, da diese neu formatiert wird! Root-Rechte sind dazu keine notwendig, lediglich die Entwickleroptionen und USB-Debugging musst du aktiviert haben.

Alles klar? Dann kann es losgehen. Wenn du ein Smartphone mit Android 6 „Marshmallow“ und einem microSD-Slot besitzt, dann richtest du den Mixed Mode folgendermaßen ein:

  1. Zunächst musst du das Feature einschalten. Wie oben erwähnt, ist es bei LG und Samsung nach einem Update per default nicht aktiv. Schalte also den Adoptable-Storage-Modus ein. Dazu loggst du dich über adb shell auf dem Smartphone ein und gibst den folgenden Befehl ein:
    sm set-force-adoptable true
  2. Jetzt musst du die Disk-ID der microSD-Karte herausfinden das geht über den Befehl sm list-disks, zum Beispiel:
    shell@jfltexx:/ $ sm list-disks 
    disk:179_32
  3. Die gesuchte Angabe lautet in diesem Fall also disk:179_32. Nun erfolgt die eigentliche Partitionierung über den Befehl:
    sm partition disk:179_32 mixed 50

Das war’s auch schon. Der interne Speicher will anschließend noch von Android formatiert werden, hier einfach nicht den falschen Speicher wählen, sonst fügt das Android-System die zwei Partitionen wieder zu einer zusammen.

Die Zahl 50 hinter „mixed“ gibt an, welcher Prozentsatz als externer Speicher formatiert wird. Bei einer 64-GByte-Karte sind somit 32 GByte adoptiert/intern, 32 GByte extern. Möchtest du lediglich ca. 20 GByte als interne Erweiterung benutzen dann lautet der Befehl

sm partition disk:179_32 mixed 30

Die folgende Abbildung zeigt die drei Schritte in der Shell noch einmal.

Über drei Befehle auf der Android-Kommandozeile richtest du eine microSD-Karte als gemischten Speicher ein.
Über drei Befehle auf der Android-Kommandozeile richtest du eine microSD-Karte als gemischten Speicher ein.

Auch das Formatieren  als interner/adoptierter/privater Speicher oder als externer/portable ist über die Kommandozeile möglich. Dazu einfach mal den Befehl sm ohne weiteren Parameter in der Shell eingeben:

shell@jfltexx:/ $ sm 
usage: sm list-disks [adoptable]
 sm list-volumes [public|private|emulated|all]
 sm has-adoptable
 sm get-primary-storage-uuid
 sm set-force-adoptable [true|false]
sm partition DISK [public|private|mixed] [ratio]
 sm mount VOLUME
 sm unmount VOLUME
 sm format VOLUME
 sm benchmark VOLUME
sm forget [UUID|all]

Fazit

Ja, Google hat bei Marshmallow alle Register gezogen, was den (fehlenden) internen Speicher anbelangt, aber auch Samsung und LG haben die richtige Lösung getroffen, dieses neue Feature bei einem Update nicht anzubieten. Doch Android wäre nicht Android, wenn man die Sache auf der Kommandozeile nicht so einrichten könnte, wie man es als Power User gerne hätte. Insofern wünsche ich „Happy Formatting“!


Navigation:

Veröffentlicht von: