2.6Grundlagen der Festplattenpartitionierung

Nach dem Start des Installationsprogramms und diversen elementaren Einstellungen ist die Partitionierung der Festplatte oder SSD der erste entscheidende Schritt der Installation. Zwar bieten viele Installationsprogramme an, diesen Schritt automatisch zu erledigen, dabei ist aber Vorsicht angebracht: Nicht immer entspricht das Resultat wirklich Ihren Bedürfnissen. Bevor ich in Abschnitt 2.8, »Partitionierung der Festplatte«, konkrete Tipps zur Partitionierung gebe, erkläre ich Ihnen in diesem Abschnitt, was Partitionen überhaupt sind und welche Regeln beim Anlegen von Partitionen zu beachten sind.

Partitionen sind Abschnitte auf der Festplatte. Windows-Partitionen bekommen eigene Buchstaben (C:, D: etc.) und verhalten sich scheinbar wie selbstständige Festplatten.

Im einfachsten Fall gibt es nur eine einzige Partition, die einfach die gesamte Festplatte umfasst. Bei Windows-XP-Installationen war das der Regelfall. Mittlerweile sind drei Partitionen der Regelfall: Eine winzige EFI-Partition, eine ebenso kleine Partition mit weiteren Dateien des Windows-Bootloaders sowie eine große Partition: Diese füllt fast die gesamte Festplatte oder SSD und enthält neben Windows auch alle Ihre persönlichen Daten.

Auf manchen Rechnern gibt es darüber hinaus weitere Partitionen, die Dateien zur Wiederherstellung des Systems, Hardware-Treiber, Zusatz-Software etc. enthalten – alles Dinge, die früher oft mit einer DVD mitgeliefert wurden. Die Zeitschrift c't ist bei ihren Tests auf vorkonfigurierte Windows-Notebooks mit bis zu sechs Partitionen gestoßen.

Noch mehr Partitionen benötigen Sie, sobald Sie mehrere Betriebssysteme gleichzeitig auf Ihrem Rechner installieren möchten. Dafür gibt es zwei Gründe: Zum einen verwenden unterschiedliche Betriebssysteme oft auch unterschiedliche Dateisysteme, also unterschiedliche Verfahren, wie Dateien innerhalb der Partition abgelegt werden. Zum anderen vermeiden eigene Partitionen Doppelgleisigkeiten und Konflikte bei Verzeichnis- und Dateinamen.

Unter Linux kommt noch hinzu, dass es zumeist sinnvoll ist, für Linux selbst mehrere Partitionen vorzusehen – z.B. eine Partition für das Betriebssystem, eine weitere für Ihre eigenen Daten und eine dritte als sogenannte Swap-Partition. Dabei handelt es sich um das Gegenstück zur Auslagerungsdatei von Windows.

Für eine Linux-Installation kommt es also nicht darauf an, wie viel Platz auf Ihrer Festplatte unter Windows noch frei ist. Diesen Platz – innerhalb einer Windows-Partition – können Sie nämlich für Linux nicht nutzen. Sie benötigen für die Linux-Installation Platz außerhalb der Windows-Partition(en), um dort neue Linux-Partitionen anzulegen.

Vorsicht, wenn Windows nicht erkannt wird ...

Die Installationsprogramme der meisten Distributionen bieten eine halb automatische Partitionierung an. Aufpassen müssen Sie dabei, was das Installationsprogramm mit den Windows-Partitionen machen möchte.

Vorsicht ist angebracht, wenn im Partitionierungsvorschlag keine Windows-Partitionen erscheinen. Dann hat das Installationsprogramm diese vermutlich nicht erkannt. Das kann z.B. bei Rechnern mit SSD-Cache passieren oder auf PCs mit mehreren Festplatten in einer RAID-Konfiguration. Führen Sie in solchen Fällen unbedingt eine manuelle Partitionierung durch!

Um die Aufteilung der Festplatte zu verändern, sieht jedes Betriebssystem eigene Werkzeuge vor:

Mehr Flexibilität mit LVM

Die Partitionierung der Festplatte lässt sich nachträglich nur mit großem Aufwand ändern. In vielen Fällen geht der Inhalt einer Partition verloren, wenn deren Größe verändert wird. Auch ein Verschieben von Partitionen ist nicht vorgesehen. Daher ist es empfehlenswert, die Partitionierung von Anfang an gut zu bedenken.

Linux-Profis können viele Einschränkungen umgehen, indem sie das System LVM einsetzen (siehe Abschnitt 2.7, »RAID, LVM und Verschlüsselung«). Dabei handelt es sich um eine Zwischenschicht zwischen Partitionen und Dateisystemen.

Es gibt aktuell zwei Verfahren zur Verwaltung der Partitionierungsinformationen auf der Festplatte:

MBR-Grundlagen

Bei Festplatten mit MBR-Partitionierung gibt es drei Typen von Festplattenpartitionen: primäre, erweiterte und logische Partitionen. Auf der Festplatte können maximal vier primäre Partitionen existieren. Außerdem besteht die Möglichkeit, statt einer dieser vier primären Partitionen eine erweiterte Partition zu definieren. Innerhalb der erweiterten Partition können dann mehrere logische Partitionen angelegt werden.

Der Sinn von erweiterten und logischen Partitionen besteht darin, das historisch vorgegebene Limit von nur vier primären Partitionen zu umgehen.

Beachten Sie, dass manche Partitionierwerkzeuge an der Oberfläche nicht zwischen verschiedenen Partitionstypen unterscheiden und sich selbstständig darum kümmern, wie die Partitionen intern angelegt werden.

Eine erweiterte Partition dient nur als Container für logische Partitionen. Zur eigentlichen Speicherung von Daten sind nur primäre und logische Partitionen geeignet.

Der Begriff »Partitionstyp« wird auch in einem anderen Kontext verwendet: Zusammen mit jeder Partition wird eine Zusatzinformation (eine Kennzahl) gespeichert, die angibt, für welches Betriebssystem die Partition gedacht ist (z.B. Windows, Linux, Novell Netware, BSD) bzw. welche Aufgabe der Partition zugeteilt ist.

Linux kann auf jeder Festplatte maximal 15 Partitionen ansprechen, davon maximal 11 logische Partitionen. Effektiv für Dateisysteme nutzbar sind im Idealfall 14 Partitionen, also 3 primäre und 11 logische Partitionen. Folglich ist es am besten, zuerst die drei primären Partitionen einzurichten, dann die erweiterte Partition, sodass diese die gesamte restliche Festplatte füllt, und schließlich darin die logischen Partitionen nach Bedarf.

Die maximale Partitionsgröße beträgt 2 TByte. Zur Not können Sie selbst Festplatten bis zu 4 TByte mit MBR-Partitionierung nutzen: Dazu lassen Sie die letzte primäre Partition gerade noch innerhalb der ersten 2 TByte beginnen und machen sie beinahe 2 TByte groß. Damit kann sie noch vollständig angesprochen werden – z.B. als Physical Volume für ein LVM-System. Empfehlenswert ist dieser im c't-Magazin 4/2011 vorgeschlagene Weg aber nicht. Steigen Sie besser auf GPT um!

GPT-Grundlagen

GPT steht für GUID Partition Table. Jede Partition wird durch einen Global Unique Identifier (GUID) gekennzeichnet. In der GPT-Partitionstabelle ist Platz für 128 Partitionen, wobei Sie unter Linux aber nur die ersten 15 ansprechen können. Alle Partitionen sind gleichwertig, d.h., es gibt keine Unterscheidung zwischen primären, erweiterten und logischen Partitionen. Jede Partition kann bis zu 8 Zettabyte groß sein – also 273 Byte, das sind ca. 9,4 × 1021 Byte oder rund eine Milliarde TByte! Das sollte für die nächste Zeit reichen.

Die Partitionstabelle befindet sich in den ersten 34 × 512 = 17.408 Byte der Festplatte. Eine Kopie dieser Informationen nimmt weitere 17 kByte am Ende der Festplatte in Anspruch. Aus Sicherheitsgründen beginnt die GPT-Partitionstabelle mit MBR-Partitionsinformationen, um MBR-kompatiblen Programmen den Eindruck zu vermitteln, die gesamte Festplatte würde bereits von einer Partition genutzt, die die gesamte Festplatte füllt.

Beachten Sie, dass die Partitionsnummern nicht mit der tatsächlichen Reihenfolge der Partitionen übereinstimmen müssen. Nehmen Sie an, Sie erzeugen drei Partitionen mit jeweils 20 GByte. Nun verkleinern Sie die zweite Partition auf 10 GByte. Damit entsteht zwischen den Partitionen 2 und 3 eine Lücke, in der Sie eine neue Partition einrichten können. Diese bekommt die Nummer 4 und entsprechend unter Linux den Device-Namen /dev/sda4!

Umfassende Informationen zum Aufbau der GPT-Partitionstabelle sowie zur Kompatibilität mit diversen Betriebssystemversionen gibt die englische Wikipedia-Seite:

http://en.wikipedia.org/wiki/GUID_Partition_Table

Die meisten Linux-Installationsprogramme kommen zwar mühelos mit GPT-partitionierten Festplatten zurecht. Erstaunlicherweise gibt es aber kaum Distributionen, die Ihnen bei der Partitionierung neuer Festplatten die Wahl zwischen MBR und GPT bieten.

Die Umstellung einer Festplatte von MBR auf GPT bzw. die Initialisierung einer noch vollkommen leeren Festplatte mit einer GPT ist momentan also nur von Hand möglich. Dazu verwenden Sie am besten ein Linux-Live-System. Anschließend führen Sie das Kommando parted aus und darin wiederum den Befehl mklabel gpt. Damit wird die Partitionstabelle im GPT-Format neu eingerichtet. Beachten Sie aber, dass die folgenden Kommandos mit dem Verlust aller Daten auf der Festplatte verbunden sind!

root# parted /dev/sda (parted) mklabel gpt (parted) quit

MBR oder GPT?

Bei Festplatten bis zu 2 TByte gibt es keinen zwingenden Grund für GPT. Persönlich richte ich allerdings schon seit geraumer Zeit auf allen neuen Festplatten und SSDs eine GPT ein. Damit erspare ich mir das Theater mit primären, erweiterten und logischen Partitionen. Nachteile sind mir keine aufgefallen.

Festplatten mit 4-kByte-Sektoren

Neue Festplatten sowie Solid State Disks (SSDs) verwenden statt der jahrzehntelang üblichen 512-Byte-Sektoren längere Sektoren von 4096 Byte (4 kByte). Das hat viele Vorteile, unter anderem eine höhere Geschwindigkeit und eine höhere Festplattenkapazität. Aus Kompatibilitätsgründen melden aber auch Festplatten mit 4-kByte-Sektoren eine 512-Byte-Sektorgröße an das Betriebssystem.

Um Festplatten mit 4-kByte-Sektoren effizient zu nutzen, müssen Partitionen so eingerichtet werden, dass die Startposition jeder Partition ein Vielfaches von 4 kByte beträgt. Ist das nicht der Fall und will das Dateisystem einen 4-kByte-Bereich verändern, muss die Festplatte zwei 4-kByte-Sektoren lesen, modifizieren und schreiben. Das würde Schreibvorgänge massiv bremsen.

Die Installationsprogramme aller aktuellen Distributionen nehmen auf diesen Umstand mittlerweile Rücksicht. Aufpassen müssen nur Linux-Profis, die Festplatten mit Low-Level-Werkzeugen wie parted partitionieren. Dieses Kommando wird in Abschnitt 23.5, »Das parted-Kommando«, näher vorgestellt.

Dateisysteme

Durch das Partitionieren wird auf der Festplatte lediglich Platz reserviert. Bevor Sie in einer Partition Dateien speichern können, muss ein sogenanntes Dateisystem angelegt werden. Es enthält neben den eigentlichen Daten diverse Verwaltungsinformationen. Sowohl Windows als auch Linux kennen unterschiedliche Dateisystemtypen:

Das Anlegen eines Dateisystems in einer Partition wird auch Formatieren genannt. Unter Windows können Sie diese Operation über ein Kontextmenü im Explorer oder mit dem Programm FORMAT durchführen. Bei einer Linux-Installation kümmert sich das Installationsprogramm um die Formatierung, wobei hinter den Kulissen ein Kommando wie mkfs.ext4 zum Einsatz kommt.

Vorsicht

Im Regelfall gehen sowohl durch die Partitionierung als auch durch das Formatieren alle in der betroffenen Partition gespeicherten Daten verloren! Die einzige Ausnahme sind spezielle Werkzeuge zur verlustfreien Größenänderung von Partitionen.

Partitionsnamen

Unter Windows werden Partitionen, die das Betriebssystem nutzen kann, mit Laufwerksbuchstaben bezeichnet. A: und B: sind aus historischen Gründen für Disketten reserviert. Die weiteren Buchstaben bezeichnen die primären und logischen Partitionen der Festplatte. Erweiterte Partitionen erhalten keinen Laufwerksbuchstaben und sind somit unsichtbar. Gleiches gilt für Partitionen mit fremden Dateisystemen (also z.B. Linux-Partitionen). Sie bekommen keinen Laufwerksbuchstaben und sind ebenfalls unsichtbar.

Unter Linux erfolgt der interne Zugriff auf Festplatten bzw. deren Partitionen über sogenannte Device-Dateien (siehe Tabelle 2.2). Die Festplatten erhalten der Reihe nach die Bezeichnung /dev/sda, /dev/sdb, /dev/sdc etc.

Device-Name

Bedeutung

/dev/sda

erste Festplatte/SSD

/dev/sdb

zweite Festplatte/SSD

...

/dev/sda1

die erste primäre Partition der Festplatte/SDD /dev/sda

/dev/sda2

die zweite primäre Partition

/dev/sda3

die erweiterte Partition (nur MBR)

/dev/sda5

die erste logische Partition (nur MBR)

/dev/sda8

die vierte logische Partition (nur MBR)

...

Tabelle 2.2Device-Namen von Festplatten- bzw. SSD-Partitionen

Um eine einzelne Partition und nicht die ganze Festplatte anzusprechen, wird der Name um die Partitionsnummer ergänzt. Bei der MBR-Partitionierung sind die Zahlen 1 bis 4 für primäre und erweiterte Partitionen reserviert. Logische Partitionen beginnen mit der Nummer 5, auch dann, wenn es weniger als vier primäre oder erweiterte Partitionen gibt. Bei der GPT-Partitionierung werden einfach alle Partitionen der Reihe nach durchnummeriert.