Anhang A. Einführung in Festplattenpartitionen

Anmerkung

Dieser Anhang gilt nur eingeschränkt für andere Architekturen als AMD64 und Intel 64. Die hier beschriebenen allgemeinen Prinzipien sind jedoch generell übertragbar.
Dieser Abschnitt behandelt grundlegende Prinzipien von Festplatten, Strategien zur Festplattenpartitionierung, das von Linux-Systemen verwendete Schema zur Partitionsbenennung, sowie damit zusammenhängende Themen.
Wenn Sie mit Festplattenpartitionen vertraut sind, können Sie diesen Abschnitt überspringen und mit Abschnitt A.2, »Strategien zur Festplattenpartitionierung« fortfahren. Dort erhalten Sie mehr Informationen über das Freigeben von Festplattenspeicher, um die Installation von Red Hat Enterprise Linux vorzubereiten.

A.1. Grundlagenwissen zu Festplatten

Festplatten haben eine sehr einfache Funktion — sie speichern Daten und fragen diese verlässlich auf Befehl wieder ab.
Bei der Behandlung von Themen wie der Festplattenpartitionierung ist ein Verständnis der zugrunde liegenden Hardware unerlässlich. Allerdings ist die Theorie sehr kompliziert und weitreichend, so dass an dieser Stelle nur die grundlegenden Prinzipien erläutert werden können. Dieser Anhang verwendet eine Reihe von vereinfachten Diagrammen eines Festplattenlaufwerks, um die Vorgänge und Theorie im Zusammenhang mit Partitionen zu veranschaulichen.
Abbildung A.1, »Unbenutzte Festplatte« zeigt eine neue, noch nie verwendete Festplatte.
Unbenutzte Festplatte

Abbildung A.1. Unbenutzte Festplatte

A.1.1. Dateisysteme

Um Daten auf einer Festplatte zu speichern, muss die Festplatte zunächst formatiert werden. Beim Formatieren (auch "Dateisystem erstellen" genannt) werden Informationen auf die Festplatte geschrieben, um eine Ordnung in den leeren, unformatierten Speicherplatz zu bringen.
Festplatte mit Dateisystem

Abbildung A.2. Festplatte mit Dateisystem

Wie Abbildung A.2, »Festplatte mit Dateisystem« verdeutlicht, erfordert die von einem Dateisystem hergestellte Ordnung einige Zugeständnisse:
  • Ein kleiner Prozentsatz des Platzes auf der Festplatte wird zum Speichern von dateisystembezogenen Daten verwendet (Overhead).
  • Ein Dateisystem unterteilt den verbleibenden Platz in kleine, gleichgroße Segmente. Unter Linux werden diese Segmente als Blöcke bezeichnet. [4]
Beachten Sie, dass es kein universelles Dateisystem gibt. Wie Abbildung A.3, »Festplatte mit einem anderen Dateisystem« veranschaulicht, kann auf eine Festplatte eines von vielen verschiedenen Dateisystemen geschrieben werden. Die unterschiedlichen Dateisysteme sind meist untereinander inkompatibel, das heißt, ein Betriebssystem, das ein Dateisystem unterstützt (oder mehrere verwandte Dateisystemtypen), unterstützt ein anderes Dateisystem möglicherweise nicht. Red Hat Enterprise Linux jedoch unterstützt eine Vielzahl verschiedener Dateisysteme (darunter viele Dateisysteme anderer Betriebssysteme), was den Datenaustausch zwischen den Dateisystemen erleichtert.
Festplatte mit einem anderen Dateisystem

Abbildung A.3. Festplatte mit einem anderen Dateisystem

Das Schreiben eines Dateisystems auf die Festplatte ist nur der Anfang. Ziel ist es, Daten zu speichern und abzurufen. Die Abbildung unten zeigt ein Festplattenlaufwerk, nachdem einige Daten darauf geschrieben wurden:
Mit Daten beschriebene Festplatte

Abbildung A.4. Mit Daten beschriebene Festplatte

Wie Abbildung A.4, »Mit Daten beschriebene Festplatte« zeigt, enthalten jetzt einige der zuvor leeren Blöcke Daten. Wir können anhand dieser Darstellung jedoch keine Aussage darüber machen, wie viele Dateien auf der Festplatte gespeichert sind. Es kann sich dabei um nur eine Datei handeln, es können aber auch mehrere Dateien sein, denn alle Dateien verwenden mindestens einen Block, manche Dateien verwenden mehrere Blöcke. Ein weiterer wichtiger Punkt ist, dass die verwendeten Blöcke nicht unmittelbar hintereinander liegen müssen. Verwendete und nicht verwendete Blöcke können auf der Festplatte verstreut sein. Dies wird als Fragmentierung bezeichnet. Die Fragmentierung muss bei der Größenänderung einer Partition berücksichtigt werden.
Wie die meisten Technologien im Computerbereich wurden auch Festplatten ständig weiter entwickelt. Insbesondere in einer Hinsicht - sie wurden immer größer, nicht was ihre Abmessungen betrifft, sondern ihre Kapazität. Dies führte zu Änderungen bei der Verwendung von Festplatten.

A.1.2. Partitionen: Aus einer Festplatte werden mehrere

Festplatten können in Partitionen aufgeteilt werden. Auf jede Partition kann zugegriffen werden, als sei es eine separate Festplatte. Dies wird durch das Hinzufügen von Partitionstabellen ermöglicht.
Es gibt mehrere Gründe, um den Speicherplatz auf einer Festplatte separaten Festplattenpartitionen zuzuweisen, zum Beispiel:
  • Logische Trennung der Betriebssystemdaten von Benutzerdaten
  • Möglichkeit zur Verwendung verschiedener Dateisysteme
  • Möglichkeit zur Installation mehrerer Betriebssysteme auf dem Rechner
Es gibt derzeit zwei Standards für Partitionslayouts physischer Festplatten: Master Boot Record (MBR) und GUID Partition Table (GPT). MBR ist eine ältere Methode zur Festplattenpartitionierung, die von BIOS-basierten Rechnern verwendet wird. GPT ist ein neueres Partitionslayout, das Teil des Unified Extensible Firmware Interface (UEFI) ist. Dieser Abschnitt und Abschnitt A.1.3, »Partitionen innerhalb von Partitionen: Ein Überblick über erweiterte Partitionen« behandelt hauptsächlich das Master Boot Record (MBR)-Partitionsschema. Informationen über das GUID Partition Table (GPT)-Partitionslayout finden Sie in Abschnitt A.1.4, »GUID Partition Table (GPT)«.

Anmerkung

In den Abbildungen dieses Kapitels wird die Partitionstabelle getrennt von der eigentlichen Festplatte dargestellt. Das ist nicht ganz richtig. Tatsächlich wird die Partitionstabelle ganz am Anfang der Festplatte gespeichert (noch vor dem Dateisystem und den Benutzerdaten). Zwecks besserer Übersicht wurde für unsere Abbildungen jedoch die getrennte Darstellung gewählt.
Festplatte mit Partitionstabelle

Abbildung A.5. Festplatte mit Partitionstabelle

Wie Abbildung A.5, »Festplatte mit Partitionstabelle« zeigt, ist die Partitionstabelle in vier Abschnitte oder in vier sogenannte primäre Partitionen eingeteilt. Eine primäre Partition ist eine Partition auf einer Festplatte, die nur ein logisches Laufwerk (oder Abschnitt) enthalten kann. Jeder Abschnitt kann die für die Definition einer Partition notwendigen Informationen aufnehmen, d. h. die Partitionstabelle kann nicht mehr als vier Partitionen definieren.
Jeder Eintrag in der Partitionstabelle enthält mehrere wichtige Angaben über die Partition:
  • Die Punkte auf der Festplatte, an denen die Partition beginnt und endet
  • Ob die Partition "aktiv" ist
  • Den Typ der Partition
Die Start- und Endpunkte definieren die Größe und Lage der Partition auf der Festplatte. Das "aktiv"-Flag wird von Bootloadern einiger Betriebssysteme verwendet, d. h. das Betriebssystem wird von der Partition gestartet, die als "aktiv" markiert ist.
Beim Typ handelt es sich um eine Zahl, die die beabsichtigte Verwendung der Partition angibt. Manche Betriebssysteme kennzeichnen mit dem Partitionstyp einen speziellen Dateisytemtyp, die Verknüpfung mit einem bestimmten Betriebssystem, einen Verweis, dass die Partition ein bootfähiges Betriebssystem enthält, oder eine Kombination aus diesen drei Punkten.
Siehe Abbildung A.6, »Festplatte mit einer Partition« für ein Beispiel einer Festplatte mit nur einer Partition.
Festplatte mit einer Partition

Abbildung A.6. Festplatte mit einer Partition

In vielen Fällen gibt es nur eine einzige Partition für die ganze Festplatte, ganz wie früher vor Verwendung von Partitionen. Die Partitionstabelle enthält nur einen Eintrag, der auf den Anfang der Partition zeigt.
Wir haben für diese Partition den Typ "DOS" gewählt. Dies ist nur einer von mehreren möglichen Partitionierungstypen, die in Tabelle A.1, »Partitionstypen« aufgelistet sind, ist jedoch für unsere Betrachtung ausreichend.
Tabelle A.1, »Partitionstypen« enthält eine Liste mit einigen weitverbreiteten (sowie weniger bekannten) Partitionstypen einschließlich ihrer Hexadezimalwerte.

Tabelle A.1. Partitionstypen

Partitionstyp Wert Partitionstyp Wert
Leer 00 Novell Netware 386 65
DOS 12-bit FAT 01 PIC/IX 75
XENIX root 02 Old MINIX 80
XENIX usr 03 Linux/MINUX 81
DOS 16-bit <=32M 04 Linux swap 82
Extended 05 Linux native 83
DOS 16-bit >=32 06 Linux extended 85
OS/2 HPFS 07 Amoeba 93
AIX 08 Amoeba BBT 94
AIX bootable 09 BSD/386 a5
OS/2 Boot Manager 0a OpenBSD a6
Win95 FAT32 0b NEXTSTEP a7
Win95 FAT32 (LBA) 0c BSDI fs b7
Win95 FAT16 (LBA) 0e BSDI swap b8
Win95 Extended (LBA) 0f Syrinx c7
Venix 80286 40 CP/M db
Novell 51 DOS access e1
PReP Boot 41 DOS R/O e3
GNU HURD 63 DOS secondary f2
Novell Netware 286 64 BBT ff

A.1.3. Partitionen innerhalb von Partitionen: Ein Überblick über erweiterte Partitionen

Falls vier Partitionen für Ihre Anforderungen nicht ausreichen, können Sie eine erweiterte Partition nutzen, um weitere Partitionen erstellen zu können. Setzen Sie dazu den Partitionstyp auf "Extended".
Eine erweiterte Partition verhält sich wie ein eigenständiges Festplattenlaufwerk — es verfügt über eine eigene Partitionstabelle, die auf eine oder mehrere Partitionen verweist (nun logische Partitionen genannt, im Gegensatz zu den vier primären Partitionen). Diese logischen Partitionen befinden sich vollständig innerhalb der erweiterten Partition. Abbildung A.7, »Festplatte mit erweiterter Partition« zeigt eine Festplatte mit einer primären Partition und einer erweiterten Partition, die zwei logische Partitionen enthält (sowie etwas unpartitionierten, freien Speicherplatz).
Festplatte mit erweiterter Partition

Abbildung A.7. Festplatte mit erweiterter Partition

Wie in der Abbildung angedeutet, gibt es einen Unterschied zwischen primären und erweiterten Partitionen — es kann nur vier primäre Partitionen geben, die Anzahl logischer Partitionen ist jedoch unbegrenzt. Aufgrund der Art und Weise, wie unter Linux auf Partitionen zugegriffen wird, sollten jedoch nicht mehr als 12 logische Partitionen auf einer einzigen Festplatte definiert werden.

A.1.4. GUID Partition Table (GPT)

GUID Partition Table (GPT) ist ein neueres Partitionierungsschema, das auf der Verwendung von Globally Unique Identifiers (GUID) basiert. GPT wurde entwickelt, um die Einschränkungen der MBR-Partitionstabelle zu überwinden, insbesondere den begrenzten adressierbaren Speicherplatz einer Festplatte. Im Gegensatz zu MBR, das keinen Speicherplatz über 2,2 Terabytes adressieren kann, ist GPT hierzu in der Lage und kann deshalb für größere Festplatten verwendet werden: Der maximal adressierbare Speicher beträgt 2,2 Zettabytes. Darüber hinaus unterstützt GPT standardmäßig die Erstellung von bis zu 128 primären Partitionen. Diese Zahl kann noch erhöht werden, indem der Partitionstabelle mehr Platz zugewiesen wird.
GPT-Festplatten verwenden logische Blockadressierung (LBA). Für das Partitionslayout gilt:
  • Um die Abwärtskompatibilität mit MBR-Festplatten zu bewahren, ist der erste Sektor (LBA 0) von GPT für MBR-Daten reserviert und wird »Schutz-MBR« genannt.
  • Der primäre GPT Header startet auf dem zweiten logischen Block (LBA 1) des Geräts. Der Header enthält die Festplatten-GUID, den Speicherort der primären Partitionstabelle, den Speicherort des sekundären GPT-Headers sowie CRC32-Prüfsummen von sich selbst und der primären Partitionstabelle. Er gibt zudem die Anzahl von Partitionseinträgen in der Tabelle an.
  • Die primäre GPT-Tabelle enthält standardmäßig 128 Partitionseinträge, jede mit einer Eintragsgröße von 128 Bytes, der Partitionstyp-GUID und einer eindeutigen Partitions-GUID.
  • Die sekundäre GPT-Tabelle ist identisch mit der primären GPT-Tabelle. Sie wird hauptsächlich als Sicherheitskopie zur Wiederherstellung verwendet, falls die primäre Tabelle beschädigt werden sollte.
  • Der sekundäre GPT-Header befindet sich auf dem letzten logischen Sektor der Festplatte und kann dazu verwendet werden, GPT-Daten wiederherzustellen, falls der primäre Header beschädigt werden sollte. Er enthält die Festplatten-GUID, den Speicherort der sekundären Partitionstabelle, den Speicherort des primären GPT-Headers, CRC32-Prüfsummen von sich selbst und der sekundären Partitionstabelle, sowie die Anzahl der möglichen Partitionseinträge.

Wichtig

Damit der Bootloader erfolgreich auf einer Festplatte installiert werden kann, die eine GPT enthält, muss eine BIOS-Boot-Partition vorhanden sein. Dies schließt Festplatten ein, die von Anaconda initialisiert wurden. Falls die Festplatte bereits eine BIOS-Boot-Partition enthält, kann diese wiederverwendet werden.


[4] Blöcke haben im Gegensatz zu unseren Abbildungen tatsächlich die gleiche Größe. Beachten Sie auch, dass eine durchschnittliche Festplatte Tausende von Blöcken enthält. Die Abbildung wurde für diese Abhandlung vereinfacht.