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.
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.
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.
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.
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:
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
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.
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 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.
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).
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.
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.