Das Partitionieren einer Festplatte bedeutet im Prinzip das Aufteilen der Platte in mehrere Teile, den sogenannten Partitionen. Jede Partition ist unabhängig von den anderen Partitionen. Das Partitionieren entspricht dem Einbauen von Wänden in ein Haus: Wenn Sie in einem Raum die Möbilierung ändern, dann bleiben die anderen Räume davon unberührt.
Wenn Sie bereits ein Betriebssystem (Minix, FreeBSD, Windows 95, Windows NT, OS/2, DOS) auf der Festplatte installiert haben, dann müssen Sie wahrscheinlich die Festplatte neu partitionieren. Üblicherweise werden beim Partitionieren die bereits auf der Festplatte befindlichen Daten bzw. Dateisysteme zerstört. Deshalb sollten Sie auf jeden Fall eine Sicherheitskopie Ihrer Daten anlegen, bevor Sie mit dem Partitionieren beginnen. Um auf das Beispiel mit dem Haus zurückzukommen: Vor dem Verschieben von Mauern würde man zunächst seine Möbel in Sicherheit bringen, um diese nicht versehentlich zu ramponieren. Glücklicherweise gibt es eine Alternative für einige Fälle, die in Verlustloses Partitionieren von DOS, Windows 95 oder OS/2, Abschnitt 5.7 näher erläutert werden.
GNU/Linux benötigt als absolutes Minimum eine Partition. Auf dieser wird das gesamte Betriebssystem, alle Programme sowie Ihre privaten Dateien gespeichert. Viele Leute sind der Meinung, daß eine Swap-Partition ebenfalls erforderlich ist. Streng genommen ist das jedoch nicht wahr. Abgesehen davon, daß Linux auch ohne Swap läuft, ist Swap Ablageplatz für ein Betriebssystem, wodurch es billigen Festplattenplatz als virtuellen Speicher nutzen kann. Wird Swap auf eine eigene Partition gelegt, kann Linux den Platz erheblich effizienter benutzen. (Linux kann auch angewiesen werden, eine reguläre Datei als Swap zu benutzen, das wird jedoch nicht empfohlen.)
Die meisten Leute installieren GNU/Linux allerdings auf mehr als der minimalen Anzahl an Partitionen. Es gibt zwei Gründe, weshalb Sie das Dateisystem in eine Menge kleinerer Partitionen aufteilen möchten. Der erste Grund betrifft die Sicherheit. Wenn etwas passiert, wodurch das Dateisystem korrumpiert wird, ist normalerweise nur eine Partition betroffen. Daher muß nur ein Teil (von den Backups, die Sie sicher aufgewahren) des Systems ersetzt werden. Als absolutes Minimum sollten Sie überlegen, ob Sie eine sogenannte Root-Partition anlegen. Diese enthält die wichtigsten Komponenten des Systems. Wenn eine andere Partiton zerstört wird, kann GNU/Linux immer noch gebootet werden, um den Schaden zu reparieren. Damit kann Ihnen der Aufwand erspart bleiben, das gesamte System neu zu installieren.
Der zweite Grund ist in professioneller Umgebung wichtiger, er hängt jedoch vom Verwendungszweck des Rechners ab. Angenommen, etwas gerät außer Kontrolle und fängt, an Festplatten-Platz zu fressen. Wenn der Prozeß, der dieses Problem verursacht, root-Rechte hat (das System hält einen kleinen Prozentsatz der Platte von Benutzern fern), werden Sie sich plötzlich ohne Plattenplatz wiederfinden. Dieses ist nicht gut, da das Betriebssystem echte Dateien für verschiedene Dinge benutzen muß (im Gegensatz zu Swap). Das Problem muß dabei nicht einmal lokal verursacht worden sein. Mit Email gespammt zu werden kann schnell zu einer vollen Platte führen. Werden mehrere Partitionen benutzt, wird das System vor vielen solcher Probleme geschützt. Um beim Beispiel Email zu bleiben, bleibt das System einsatzfähig, wenn /var/spool/mail auf einer eigenen Partition liegt, selbst wenn man gespammt wird.
Ein weiterer Grund betrifft Sie, wenn Sie nur eine große IDE-Festplatte im System haben, und weder den LBA-Modus benutzen noch Overlay-Treiber (wie sie vom Platten-Hersteller teilweise mitgeliefert werden). In diesem Fall müssen Sie die Root-Partition in die ersten 1024 Zylinder ihrer Festplatte legen. Die Obergrenze ist normalerweise um die 524 Megabyte.
Der einzige wirkliche Nachteil bei der Benutzung mehrerer Partitionen besteht darin, daß es zu Anfang meistens schwierig ist, den zukünftigen Bedarf richtig abzuschätzen. Wenn eine Partiton zu klein eingerichtet wird, müssen Sie das System entweder neu installieren oder werden permanent Teile auf den verschiedenen Partitionen hin- und herschieben, um Platz auf der zu kleinen Partition zu schaffen. Andererseits verschwenden Sie Platz, wenn Sie eine Partition zu groß erstellen, der an anderer Stelle sinnvoller eingesetzt werden könnte. Plattenplatz ist heutzutage zwar billig, aber wieso sollte man Geld zum Fenster herauswerfen.
Nachfolgend finden Sie eine kleine Liste der wichtigsten Teile des Verzeichnis-Baums:
Daneben gibt es noch den Swap-Bereich, der eigentlich kein Teil des Verzeichnis-Baums ist.
Das PC-BIOS stellt für gewöhnlich weitere Bedingungen für die
Partitionierung auf. Es limitiert, wieviele primäre und
logische Partitionen eine Festplatte enthalten darf.
Zusätzlich gibt es Einschränkungen, von wo auf der Platte das BIOS
booten kann. Nähere Informationen finden Sie in der Linux Partition HOWTO
, hier sei nur
ein kurzer Überblick gegeben.
Primäre Partitionen sind die eigentlichen Partitionen für PC Festplatten. Es darf jedoch nur vier davon geben. Um diese Beschränkung zu umgehen, wurden erweiterte (extended) bzw. logische (logical) Partitionen eingeführt. Wird eine primäre Partition als erweiterte Partition deklariert, kann der ihr zugewiesene Plattenplatz weiter in logische Partitionen eingeteilt werden. Es gibt vom BIOS her keine Beschränkung in der Anzahl der logischen Partitionen. Es darf jedoch nur eine einzige erweiterte Partition geben.
Linux limitiert die Anzahl der Partitionen pro Festplatte auf 15 Partitionen bei SCSI Festplatten (3 benutzbar als primäre und 12 logische Partitionen). Auf einer IDE-Festplatte dürfen maximal 63 Partitionen (3 benutzbar als primäre und 60 logische Partitionen) angelegt werden.
Abschließend sei darauf hingewiesen, daß die Boot-Partition, diejenige, die den Kernel enthält, innerhalb der ersten 1024 Zylinder liegen muß. Da die Root-Partition meistens gleichzeitig die Boot-Partition darstellt, müssen Sie darauf achten, daß Ihre Root-Partition in den ersten 1024 Zylindern der Festplatte untergebracht ist.
Wenn Sie eine große Festplatte besitzen, müssen Sie eventuell
Techniken zur Zylinder-Übersetzung anwenden. Sie werden im BIOS
gesetzt, z.B. LBA-Übersetzung. Weiterführende Informationen
finden Sie in der Large Disk HOWTO
. Wenn Sie ein derartiges Übersetzungs-Schema einsetzen, dann
muß Ihre Boot-Partition innerhalb der übersetzten 1024
Zylinder liegen.
Die Namen von Festplatten und Partitionen werden unter Linux anders bezeichnet als bei anderen Betriebssystemen. Sie sollten wissen, welche Namen Linux verwendet, wenn Sie partitionieren. Hier sind die Grundlagen der Namensvergabe:
Die Partitionen auf jeder Platte werden durch Anhängen einer Dezimalzahl angesprochen: sda1 und sda2 entsprechen der ersten und zweiten Partition auf der ersten SCSI-Platte in Ihrem System.
Linux bezeichnet die vier primären Partitionen mit der Nummer 1 bis 4. Die logischen Partitionen fangen mit Nummer 5 an, auch wenn nur 1 primäre Partition vorhanden ist. hda1 bis hda4 wären primäre Partitionen, hda5 bis hda60 entsprächen den logischen Partitionen. Eine erweiterte Partition kann selbst nicht benutzt werden, sie kann lediglich logische Partitionen aufnehmen.
Hier kommt ein Beispiel aus dem richtigen Leben. Nehmen wir an, daß Sie ein System mit zwei SCSI Festplatten haben, eine an ID 2 und eine an ID 4. Die erste Festplatte (an ID 2) wird demzufolge sda genannt und die zweite sdb. Wenn die sda-Platte fünf Partitionen enthält, werden diese mit sda1 bis sda5 angesprochen. Entsprechendes gilt für sdb und dessen Partitionen.
Beachten Sie, daß die Reihenfolge der Platten verwirrend sein kann, wenn Ihr System zwei SCSI-Busse enthält. Am besten achten sie genau auf die beim Booten ausgegebenen Meldungen, vorausgesetzt, Sie können die Namen den physikalischen Platten zuordnen.
Wie bereits erläutert, sollten Sie sich eine separate, kleinere root-Partition (20 bis 50 MB) anlegen sowie eine größere /usr Partition. Zwei Beispiele werden im folgenden vorgestellt. Für die meisten Anwender reichen jedoch zwei Partitionen (Swap und Linux) aus, insbesondere wenn nur eine einzelne kleine Festplatte zur Verfügung steht, denn das Anlegen mehrer Partitionen kann Speicherplatz verschwenden.
Für den Fall, daß Sie sehr viele Programme installieren wollen, die nicht Bestandteil des Betriebssystems sind, benötigen Sie eine separate /usr/local Partition. Es ist auch eine gute Idee /tmp in eine eigene Partition von 20 MB bis 50 MB zu legen. Sollte Ihre Maschine als Server für sehr viele Benutzer verwendet werden, dann bietet es sich an, für /home eine eigene, große Partition anzulegen.
Wenn Ihr Rechner ein Mailserver wird, sollten Sie vielleicht /var/spool/mail als eigene Partition einrichten. Generell gesehen hängt die Art der Partitionierung stark vom Einsatzgebiet ab.
Für komplexere Bedürfnisse sollten Sie das Multi Disk HOWTO
konsultieren. Es
enthält tiefergehende Informationen, die vor allem für Internet
Service Provider (ISP) und Leute mit großen Servern von Interesse
sind. Damit lassen sich insbesondere mehrere physikalische
Festplatten zu einer logischen Einheit (quasi eine Partition)
zusammenfassen (RAID).
Bleibt die Frage nach der Größe für den Swap Bereich. Es gibt soviele Vorschläge, wie es Unix Systemverwalter gibt. Eine Faustregel besagt: Man verwendet für die Swap Partition soviel Speicherplatz wie physikalisches RAM vorhanden ist, obwohl es nur für die wenigsten Anwender Gründe gibt, mit der Größe der Swap Partition über 64 MB hinaus zu gehen. Wenn Sie eine so große Swap Partition wirklich benötigen, dann sollten Sie sich eher mehr RAM Bausteine kaufen. Natürlich gibt es auch Ausnahmen: Wenn Sie versuchen, gleichzeitig 10000 Gleichungen auf einer Maschine mit 256 MB RAM zu lösen, dann brauchen Sie möglicherweise mehr als 1 Gigabyte Swap. In diesem Fall sollten Sie zumindest versuchen, den Swap auf mehrere Festplatten zu verteilen.
Beachten Sie, daß Linux bis Version 2.2.0 nicht mehr als 128 MB pro Swap-Partition nutzen kann. Sie können jedoch problemlos mehrere Swap-Partitionen einrichten und /etc/fstab manuell editieren, nachdem Sie das System eingerichtet haben, um mehr als 128 MB Swapspace zu erhalten. Wenn Ihre Swap-Anforderungen dermaßen hoch liegen, sollten Sie jedoch versuchen, die Swap-Partitionen auf verschiedene Festplatten zu verteilen.
Im folgenden werden zwei Beispiele gegeben, die der Anschauung dienen.
Ein Rechner mit 32 MB RAM und einer 1,7 Gigabyte IDE Festplatte als /dev/hda. Es gibt eine 500 MB DOS Partition auf Partition /dev/hda1, eine 32 MB Swap Partition auf /dev/hda3 und der Rest von 1,2 Gigabyte auf /dev/hda2, enthält die Linux Partition.
Das zweite Beispiel ist ein bißchen komplizierter (so, wie es bei einem der Autoren aussieht). Die Aufteilung ist nicht ideal, sie ist im Laufe der Zeit so gewachsen. Ein Rechner mit 64 MB RAM und zwei SCSI-Festplatten: /dev/sda mit 2,1 GB und /dev/sdb mit 530 MB.
Die Festplatte /dev/sda ist so unterteilt:
Die Festplatte /dev/sdb ist so unterteilt:
Noch übrig bleibt /dev/md0, 250 MB: /home/ftp für einen kleinen FTP-Server.
Auch das folgende Beispiel existiert tatsächlich bei einem der Autoren. Es stellt einen kräftigen Server dar, der Aufgaben wie Proxy, Mail-Server, News-Server, Webserver, Shell-Server etc. übernimmt. Neben 256 MB physikalischem Arbeitsspeicher sind sechs Festplatten eingebaut:
Der Arbeitsspeicher wird durch 4x64 MB von vier schnellen Platten ergänzt. Auf zwei weiteren Rechnern befinden sich zwei weitere RAID-Systeme, die Platz für den FTP-Server zur Verfügung stellen.
Es gibt zwei verschiedene Zeitpunkte, zu denen man seine Festplatte(n) partitioniert: Bevor Sie Debian installieren oder während der Installation. Wenn Sie die Festplatte(n) bereits partitioniert haben, dürfen Sie den Menüpunkt Partitionieren getrost überspringen.
Wenn Sie FAT- oder NTFS-Partitionen manipulieren, dann empfehlen wir,
die Werkzeuge der entsprechenden Betriebssysteme zu benutzen oder die
unten vorgestellte Methode (Verlustloses Partitionieren von DOS, Windows 95
oder OS/2, Abschnitt 5.7). Andernfalls
empfehlen wir die Werkzeuge, die Ihnen Debian GNU/Linux zur Verfügung
stellt (cfdisk
und fdisk
), sie arbeiten in der Regel besser.
Die meisten Linux Erstinstallationen erfolgen auf einem System, auf dem bereits DOS (inkl. Windows 3.1), Windows 95 oder OS/2 installiert ist. Dabei soll Debian auf die gleiche Platte installiert werden, ohne daß dabei das bereits installierte Betriebssystem zerstört wird. Wie in Hintergründe, Abschnitt 5.1 bereits erläutert, führt das Verändern der Größe einer Partition üblicherweise zum Verlust der auf dieser Partition befindlichen Daten, es sei denn, es werden entsprechende Vorsichtsmaßnahmen getroffen. Die Methode, die hier im folgenden beschrieben wird, arbeitet in der Praxis extrem gut, jedoch ohne irgendeine Garantie für Ihre Daten. Deshalb: Legen Sie eine Sicherheitskopie aller wichtigen Daten an!
Bevor Sie weiter vorgehen, sollten Sie sich bereits überlegt haben, wie Sie die Festplatte partitionieren möchten. Die hier beschriebene Methode teilt eine Partition in zwei Teile: Der eine Teil enthält das ursprüngliche Betriebssystem, der andere Teil wird für Debian verwendet. Während der Installation von Debian wird Ihnen dann die Möglichkeit gegeben, das Abteilen der Debian Partition abzuschließen.
Die Idee hinter der Methode besteht darin, alle Daten einer Partition an den Anfang der Partition zu verschieben, um anschließend die Partitionsinformationen zu ändern. Auf diese Weise geht nichts verloren. Es ist sehr wichtig, daß sie nach dem Verschieben der Dateien an den Anfang der Partition, so wenig wie möglich auf der Partition arbeiten. Damit verhindern Sie, daß möglicherweise doch noch eine Datei an das Ende der Partition geschrieben wird, was dazu führen würde, daß die neu zu erzeugende Partition kleiner ausfällt als möglich.
Als erstes benötigen Sie eine Kopie von fips
. Dieses
Archiv befindet sich im tools-Verzeichnis der Debian
Distribution. Nach dem Auspacken des ZIP Archivs mit dem beigelegten
unzip
-Programm, kopieren Sie die Dateien
RESTORRB.EXE, FIPS.EXE und ERRORS.TXT auf
eine bootbare Diskette. Eine bootbare Diskette wird unter DOS mit dem
Kommando sys a:
erzeugt. fips
enthält eine
sehr gute Dokumentation, die Sie lesen sollten. Sie müssen auf jeden
Fall die Dokumentation lesen, wenn Sie eines der folgenden Programme
benutzen: Stacker, SuperStor, DoubleSpace oder einen anderen
Festplattenkomprimierer; oder OS/2, Ontrack Disk Manager oder einen
ähnlichen Treiber.
Der nächste Schritt besteht darin, alle Daten an den Anfang der
Partition zu verschieben (defragmentieren). Dazu wird das Programm
defrag
verwendet, welches ab DOS 6.0 standardmäßig
mitgeliefert wird. In der fips
-Dokumentation befindet
sich eine Liste mit weiteren Programmen, mit denen Sie die DOS
Partition defragmentieren können. Wenn Sie Windows95 verwenden, dann
beachten Sie bitte, daß Sie defrag
von Windows95 aus
starten müssen, da DOS mit dem Windows95 Dateisystem FAT32 nicht
zurechtkommt.
Das Defragmentieren kann eine Weile dauern, abhängig davon, wie groß die
Festplatte, bzw. die Partition ist. Im Anschluß an das Defragmentieren
booten Sie den Rechner von der fips
-Diskette, die sie
vorhin erstellt haben. Dann starten Sie einfach fips
und
folgen den Anweisungen auf dem Bildschirm. fips
unterteilt eine vorhanden Partition in eine kleinere Partition in der
alle Daten erhalten bleiben sollten und leeren Platz, den Sie nachher
für Debian einsetzen können.
Wenn Sie für DOS partitionieren oder die Größe einer DOS-Partition
ändern und Linux-Werkzeuge einsetzen, kann es zu Problemen mit den
daraus resultierenden FAT-Partitionen kommen. Es wurden von einigen
Leuten Geschwindigkeitseinbußen berichtet sowie Problemen mit
scandisk
oder anderen merkwürdigen Problemen in
Verbindung mit DOS oder Windows.
Offenbar ist es eine gute Idee, die ersten Sektoren mit Nullen zu füllen, wenn Sie eine Partition für DOS anlegen oder dessen Größe verändern. Unter Linux erreichen Sie dieses mit dem Befehl:
dd if=/dev/zero of=/dev/hdXX bs=512 count=4