Partitionen

Aus Android Wiki
(Weitergeleitet von Partition)

Ein physisches Speichermedium (zum Beispiel eine SD-Karte oder eine Festplatte) wird aus organisatorischen Gründen oft in verschiedene Teile (sogenannte Partitionen) aufgegliedert. Dadurch wird eine bessere Ordnung des verfügbaren Speicherplatzes erreicht und ein Zugriff auf bestimmte Daten kann so schneller bzw. einfacher erfolgen.

Eine Partition ist dabei ein logischer Datenträger auf einem physikalischen Speichermedium. Einfach ausgedrückt ist es ein Bereich auf dem Speichermedium (z.B. Flashspeicher wie USB-Sticks oder SD-Karten), der von dem Betriebssystem als eigenständiges Laufwerk behandelt wird. Bei Linux-basierten Betriebssystemen, wie bspw. Android, werden diese virtuellen Laufwerke (ebenso wie die physischen) in das bestehende Dateisystem gemountet, das heißt sie sind als Verzeichnis verfügbar.

Durch das sinnvolle Partitionieren eines Speichermediums können gewisse Vorteile gegenüber einer einfachen Ordnerstruktur bestehen. Ein Vorteil ist das Formatieren/Wipen der Partition unabhängig vom physikalischen Speichermedium. Außerdem ermöglicht es die Begrenzung des Speichers für einen bestimmten Zweck, in Android zum Beispiel die Reservierung von Speicher für Daten mittels der Datenpartition.

Partitionen in Android[Bearbeiten | Quelltext bearbeiten]

Die Aufteilung des Internen Speichers auf verschiedene Partitionen ist hersteller- und modellabhängig. Nicht nur die unterschiedlich großen NAND-Flash-Chips spielen hier eine Rolle, sondern auch die Art und Menge der zu speichernden Daten.

Jedes Smartphonemodell hat sein eigenes, individuelles Partitionslayout, durch das der verfügbare Speicher in verschiedene Bereiche aufgeteilt wird. Folgende Abschnitte erklären grundlegende Partitionen, die auf nahezu allen Smartphones vorhanden sind. Ergänzend dazu werden weitere gerätespezifische Partitionen angelegt.

Eine vollständige Liste der Partitionen kann, je nachdem welche Speichermedien genutzt werden, folgendermaßen mit Hilfe der ADB erstellt werden[1].

eMMC (embedded Multimedia Card):

adb shell cat /proc/emmc

Das Ergebnis sieht bspw. folgendermaßen aus (HTC One M7):

cat /proc/emmc
dev:        size     erasesize name
mmcblk0p19: 000ffa00 00000200 "misc"
mmcblk0p34: 00fffe00 00000200 "recovery"
mmcblk0p33: 01000000 00000200 "boot"
mmcblk0p35: 73fffc00 00000200 "system"
mmcblk0p26: 00140200 00000200 "local"
mmcblk0p36: 27fffe00 00000200 "cache"
mmcblk0p37: 680000000 00000200 "userdata"
mmcblk0p22: 01400000 00000200 "devlog"
mmcblk0p24: 00040000 00000200 "pdata"
mmcblk0p27: 00010000 00000200 "extra"
mmcblk0p31: 04b00200 00000200 "radio"
mmcblk0p16: 03c00400 00000200 "adsp"
mmcblk0p15: 00100000 00000200 "dsps"
mmcblk0p17: 007ffa00 00000200 "radio_config"
mmcblk0p20: 00400000 00000200 "modem_st1"
mmcblk0p21: 00400000 00000200 "modem_st2"
mmcblk0p28: 00100000 00000200 "cdma_record"
mmcblk0p18: 02000000 00000200 "reserve_1"
mmcblk0p30: 034ffa00 00000200 "reserve_2"
mmcblk0p32: 05fffc00 00000200 "reserve_3"
mmcblk0p29: 06069e00 00000200 "reserve"
mmcblk0p25: 00004000 00000200 "control"

MTD (Memory Technology Device):

adb shell cat /proc/mtd

MMC (Multimedia Card):

adb shell cat /proc/partitions

/system-Partition[Bearbeiten | Quelltext bearbeiten]

Die /system-Partition ist der Bereich auf dem internen Speicher des Android-Smartphones, welcher das Betriebssystem, also Android selber, beinhaltet. Dieser wird meist durch einen NAND-Lock geschützt. Das Überschreiben der /system-Partition mit einem modifizierten Betriebssystem kann entweder Verbesserungen im System hervorrufen (längere Akkulaufzeit, mehr interner Speicher, etc.) oder zum Defekt des Gerätes führen.

/recovery-Partition[Bearbeiten | Quelltext bearbeiten]

Die /recovery-Partition ist der Bereich auf dem internen Speicher, der das Recovery beinhaltet, also die Wiederherstellungspartition.

/sdcard-Partition (veraltet)[Bearbeiten | Quelltext bearbeiten]

Die /sdcard-Partition ist der Bereich auf dem internen Speicher, der noch auf älteren Geräten (bis ca. 2012) aufzufinden ist und für Nutzerdaten wie z.B. Bilder, Fotos und Downloads vorgesehen war. Dies hatte einige Nachteile, so dass Google ab Android Ice Cream Sandwich "Ice Cream Sandwich" den USB Massenspeicher Modus nicht mehr unterstützt:

  • weniger Flexibilität bei der Ausnutzung des Nutzerdatenbereichs, da die Größe der /sdcard-Partition den verbleibenden nutzbaren Datenbereich für die Installation von Apps einschränkt. Hier schaffte dann App2SD Abhilfe.
  • Durch den USB-Massenspeicher-Modus musste die /sdcard-Partition physikalisch vom Gerät abgekoppelt werden, damit es an einem Windows-PC als Wechseldatenträger erkannt wurde. Somit wurden Apps, die durch App2SD auf diese Partition verschoben wurden, nutzlos, weil sie nicht mehr ansprechbar waren.
  • Microsoft hält ein Patent auf die Verwaltung von langen Dateinamen auf dem FAT-Dateisystem (in Deutschland allerdings nicht[2]). Dies war für die weitverbreitete Anbindung der Android-Geräte an Windows-PCs hinderlich, da damit die /sdcard-Partition in FAT formatiert werden musste, um von den Rechnern erkannt zu werden.
  • Durch die Multiuser-Strategie von Google für Android ist FAT ein denkbar schlechtes Dateisystem, da FAT keine Benutzerrechte verwaltet und somit keine user-individuellen SD-Karten-Bereiche eingerichtet werden können.

/data-Partition[Bearbeiten | Quelltext bearbeiten]

Die /data-Partition ist der Bereich auf dem internen Speicher, der die persönlichen Einstellungen, die App-Einstellungen und seit Android 4 auch alle Benutzerdaten wie Bilder, Videos und Downloads beinhaltet - also die bisherige /sdcard-Partition ersetzt und stattdessen eine für den Nutzer sichtbare SD-Karte emuliert. Dies bringt einige Vorteile mit sich:

  • Standardisierte Datentransferprotokolle MTP und PTP mit nach außen verbundenen Systemen, die unabhängig vom festgelegten Dateisystem für die /data-Partition arbeiten.
  • Desweiteren entfallen die Nachteile, die eine eigenständige /sdcard-Partition mit sich brachte.

/cache-Partition[Bearbeiten | Quelltext bearbeiten]

Im Cache-Speicher werden Daten vom System sowie den Apps zwischengespeichert. Beispielhaft hierfür sind Webseiten, die der Browser vor dem Anzeigen in das /cache-Verzeichnis herunterlädt und die wieder gelöscht werden, sobald sie nicht mehr angezeigt werden müssen.

/boot-Partition[Bearbeiten | Quelltext bearbeiten]

Die sogenannte Boot-Partition ist auf fast jedem Linux-System zu finden und enthält Daten, die zum Starten des Linux-Kernels benötigt werden. Diesen Vorgang nennt man im Englischen bootstrapping (nach einer Redewendung etwa wörtlich: sich an den eigenen Schnürsenkeln aus dem Sumpf ziehen), was eingedeutscht den Bootvorgang bezeichnet.

Einige CustomROMs bringen einen eigenen Linux-Kernel mit, der in diese Partition geschrieben wird.

/misc-Partition[Bearbeiten | Quelltext bearbeiten]

Hier werden grundlegende Einstellungsdaten, wie zum Beispiel Informationen zum USB-Anschluss oder Netzwerkprovider abgelegt. Dies hat unter anderem den Vorteil, dass sich CustomROMs leichter installieren lassen, da hierbei dieses Verzeichnis einfach unverändert übernommen werden kann.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. http://www.digitalinternals.com/mobile/android-mmc-mmcblk-partition-layout/259/
  2. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.