:Praxisgerechte Partitionierung der Festplatte:

Vor der Installation seines Systems sollte man seine Festplatte partitionieren[1]. Gründe und eine leicht durchzuführende Anleitung gibt's hier.

Es macht wenig Freude, sich durch Konsolenkram zu wühlen, um die „Datenscheiben“ einzuteilen. Gerade da man solche Tools nur sporadisch einsetzt, sind grafische Tools angenehmer zu benutzen.
Geeignete Kandidaten sind z.B. die GParted LiveCD[2] oder die SystemRescueCd[3]. Sie beinhalten das grafische Tool GParted[4, 5, 6], welches die Partitionierung der Festplatte sehr komfortabel macht. Zudem werden speziell diese beiden CDs[7] recht häufig aktualisiert, so dass auch GParted stets in der aktuellsten Version an Bord ist. Viele weitere LiveCDs geben die Möglichkeit, wenigstens in der Konsole verschlüsselte Datei-Systeme anzulegen, sowie darauf zugreifen, sie zu warten und ggfs. zu reparieren. Doch dazu später mehr.

Achtung: Sichert vor sämtlichen Arbeiten an der Festplatte eure Daten auf einem zuverlässigen externen Datenträger. Ich übernehme keine Verantwortung für Schäden und/oder Datenverluste! Führt die folgenden Schritte nur durch, wenn ihr euch der Konsequenzen bewußt seid.

Festplatte löschen

Zunächst löscht ihr am besten die Festplatte vollständig. Das geht am einfachsten in der root-Shell[8] wie folgt:

Mit dem Befehl fdisk -l lasst ihr euch die bestehende Partitionierung auflisten.
Üblicherweise heißen Festplatten heute /dev/sda1, ...). Löscht eure Platte (genauer gesagt handelt es sich nur um die Partitionstabelle![9] bzw. noch konkreter: der Master Boot Record (MBR)[10]) mit dem Befehl dd if=/dev/zero of=/dev/sda bs=512 count=1. Bitte achtet darauf, daß ihr /dev/sda und nicht /dev/sda1 eintippt, da ihr ja die gesamte Platte und nicht nur die erste Partition löschen wollt.

Zur Information: Nach diesem Schritt sind die auf der Festplatte befindlichen Daten nicht wirklich gelöscht, sie ließen sich ohne großen Aufwand wieder herstellen! Der bisherige Schritt bewirkt in etwa so viel, wie der berühmt-berüchtigte Befehl format c: unter Windows/DOS, d.h. er löscht lediglich das „Inhaltsverzeichnis“ der Platte, aber nicht die Daten selbst.

Soweit ihr GParted schon gestartet hattet, lasst die Platte mit [Strg] + [R] neu indexieren.

Erstellt nun per Rechtsklick die erste neue Partition. Zunächst soll die Festplatte aber eine neue Signatur bekommen. Übernehmt ruhig die Vorgabe „msdos“, denn die Signatur der Platte hat nichts mit dem darauf befindlichen Betriebssystem zu tun. Erst Festplatten ab 2 TB Größe brauchen eine GPT[11].

Erstellt zunächst per erneutem Rechtsklick eine SWAP-Partition[12, 13]. Die einstige Empfehlung SWAP solle die doppelte Größ des Arbeitsspeichers haben, ist bei heutigen Speichergrößen nicht mehr angemessen. Das hängt aber wohl auch vom Einsatzszenario des späteren Systems ab. Früher wurde empfohlen, die SWAP-Partition an den Anfang der Platte zu legen, da sie dort die schnellsten Zugriffe haben sollte. Darüber wie relevant das heute noch ist liegen mir keine Erfahrungen vor. Zumal die „smarte“ Steuerelektronik heutiger Festplatten recht selbständig die Daten auf der „Datenscheibe“ verteilt. Schaden wird es aber sicher auch nicht, so dass ich bis heute so verfahre.

Als 2. Partition kommt die Boot- bzw. System-Partition dran. Falls ihr Kryptographie einsetzen wollt, muss das Verzeichnis „/boot“, welches den Bootloader[14] mitsamt seiner Konfiguration beinhalten soll, auf einer unverschlüsselten Partition liegen, ansonsten kann das System nicht booten. Auf die Risiken und Schutzmechanismen dieser Vorgehensweise gehe ich später noch ein. Die Boot-Partition darf ruhig 100 MB oder mehr groß sein, dann passen sogar mehrere Kerneldateien drauf. Vor allem Ubuntu hat die Eigenart alte Kernel nicht zu löschen, so dass sich bedingt durch dessen intransparent aufgebautes Bootmenü schnell zahlreiche Kernel ansammeln können und besser manuell deinstalliert werden sollten.
Soll keine Kryptographie eingesetzt werden (wovon ich dringend abrate!), können /boot- und System-Partition zu einer gemeinsamen Partition zusammengefasst werden. Eine brauchbare Größe ist heute je nach Einsatzzweck des Rechners mindestens 8 GB. Die separate /boot-Partition sollte mit einem ext2-Dateisystem[15] formatiert werden, da hier kein Journal[16] benötigt wird bzw. dies im Falle eines späteren Systemabsturzes diese Partition „dreckig“[17] hinterließe und einen Dateisystem-Check erforderlich machen würde. Als ext2 ist dies auf dieser Partition nicht zwingend nötig.
Die Systempartition bekommt ein ext3-System[18], welches später noch konfiguriert wird.
Denkt unbedingt daran, auf der /boot-Partition das boot-flag zu setzen (per Rechts-Klick), damit das BIOS[19] weiß, von welcher Partition es booten soll.

Ihr könnt (und gerade als Einsteiger solltet ihr) stets auf einer separaten Partition eine Sicherung des gesamten lauffähigen Systems vorrätig haben, damit ihr im Falle eines Systemcrashs möglichst schnell wieder einsatzfähig seid. Ihr solltet diese Partition konsequenterweise auch verschlüsseln, um den Zugriff von aussen sicher zu unterbinden. Diese Partition sollte so groß sein, daß 2-3 (komprimierte) Sicherungen darauf Platz finden. Falls das letzte Image aus logischen oder physikalischen Gründen unbrauchbar ist, könnt ihr somit wenigstens auf das vorherige zurückgreifen. Mit 15-20 GB liegt ihr nicht verkehrt. Es erschließt sich mir nicht, wieso die meisten Anwender (inkl. richtiger Nerds) zumeist ohne jegliche Sicherung des Systems arbeiten. Ich persönlich habe weder den Anspruch noch die Zeit jegliches Problem von Hand zu lösen. Von daher bevorzuge ich die Methode der Gesamtsicherung des Systems um im Falle des Falles möglichst zeitnah wieder einsatzbereit zu sein.

Beachtet bitte, daß ihr mit einer msdos-Signatur nur 4 primäre Partitionen anlegen könnt. Da ihr im Falle des Einsatzes eines vollverschlüsselten Systems aber letztendlich 5 Partitionen braucht, landen die beiden letzten zusammen in einer erweiterten Partition. Somit ergibt sich folgendes Partitionierungs-Schema:

   /dev/sda1 swap
   /dev/sda2 ext2 /boot  (die Boot-Partition mit gesetztem bootflag)
   /dev/sda3 ext3 /      (die System-Partition)
   /dev/sda4             (der Container für die nächsten Partitionen)
       /dev/sda5         (die Sicherungs-Partition ohne Mount-Punkt)
       /dev/sda6 /DATA   (die Datenpartition)

Ohne Krypto-System kommt ihr dagegen mit 4 Partitionen aus. Ich empfehle, die Datenpartition als letzte anzulegen, da so der Umzug auf eine größere Festplatte einfachen ist (Gründe und Lösungen folgen später im Text „Tapetenwechsel – Wie man ohne LVM auf eine größere Festplatte umzieht“)
Hinweis: Ich höre und lese immer wieder den Ratschlag, das /home-Verzeichnis auf eine separate Partition zu verlagern, um die Konfiguration vom System zu trennen. Das empfinde ich für meine Installationsprozedur unpassend, da die Konfiguration stark distributions- und hardware-abhängig ist. Ich empfehle da eher eine strikte Trennung zwischen dem System mitsamt Konfiguration und den Nutzdaten. Das vereinfacht die Handhabung bei Systemcrash und Neuinstallation, da hiermit die eigentlichen Nutzdaten keiner Gefahr ausgesetzt sind. Zumindest so lange ihr eure Partitionierungs- und Formatierungswerkzeuge beherrscht!

Abschließend erstellt ihr eure Datenpartition mit ext3-Dateisystem.

Journal optimieren

Wer wie ich „wahlparanoid“ ist, tuned das Journal seiner ext3-/ext4-Dateisysteme[20] z.B. mit dem Befehl tune2fs -o journal_data_ordered,block_validity /dev/sda3 (Verschlüsselte Partitionen werden selbstverständlich mit tune2fs -o journal_data_ordered,block_validity /dev/mapper/sda3 angesprochen!) Das verringert zwar deutlich die Geschwindigkeit des Dateisystems, dafür sollten Datenverluste aber nahezu ausgeschlossen sein. Normalerweise sollten Geschwindigkeitsaspekte eher zweitrangig sein. Wer hochperfomante Dateisysteme braucht, kann sich ja z.B. weitere Partitionen anlegen, die auf Geschwindigkeit hin optimiert sind. Die scheinbar beliebte Ausrede aus Geschwindigkeitsgründen nicht zu verschlüsseln, darf in Zeiten von SSDs[21] und hardwareimplementierten Krypto-Funktionen als veraltet betrachtet werden. Aber Vorsicht: „tune2fs“[22] ist ein sehr mächtiges Tool, welches ohne Rückfrage grundlegende Änderungen am Dateisystem durchführt. Wenn ihr also nicht genau wisst was ihr tun, solltet ihr besser die Finger davon lassen!

Status: oldstable