2.8Partitionierung der Festplatte

Einer der wichtigsten Schritte während der Linux-Installation ist das Anlegen neuer Linux-Partitionen. Alle gängigen Installationsprogramme enthalten zu diesem Zweck einfach zu bedienende Partitionierungshilfen. Abbildung 2.5 zeigt exemplarisch den Partitionseditor von Ubuntu, ausgeführt auf einem meiner Testrechner mit überdurchschnittlich vielen Partitionen.

Ubuntu-Partitionseditor

Abbildung 2.5Ubuntu-Partitionseditor

An dieser Stelle geht es um grundsätzliche Fragen: Wie viele Partitionen sollten Sie für Linux einrichten? In welcher Größe? Welche Auswirkungen hat dies auf die Geschwindigkeit, auf die spätere Wartung und auf eine eventuelle Neuinstallation einer anderen oder aktualisierten Linux-Distribution?

Wenn Sie Linux bereits installiert haben und im laufenden Betrieb eine neue Partition anlegen möchten, brauchen Sie ein Partitionierwerkzeug, das unabhängig vom Installationsprogramm Ihrer Distribution funktioniert. Dazu zählen die Programme parted und gparted, die ich Ihnen in Kapitel 23, »Administration des Dateisystems«, näher vorstelle.

Windows-Partition verkleinern

Oft befindet sich das bereits installierte Windows in einer einzigen, sehr großen Partition, die die gesamte Festplatte ausfüllt. Dass innerhalb dieser Partition womöglich Hunderte GByte frei sind, nützt nichts: Linux braucht für die Installation eine oder besser gleich mehrere eigene Partitionen. Und bevor Sie diese Partitionen anlegen können, müssen Sie die Windows-Partition verkleinern – und das möglichst ohne Datenverlust!

Die radikalere und einfachere Lösung bestünde darin, die Windows-Partition(en) einfach zu löschen. Aber die meisten Linux-Umsteiger wollen Windows als alternatives Betriebssystem vorerst erhalten – beispielsweise zum Spielen oder zur Ausführung von Programmen, die es unter Linux nicht gibt. Deswegen gehe ich in diesem Buch davon aus, dass Windows bereits installiert ist und auch weiterhin genutzt werden soll.

Bei den meisten Distributionen ist das Installationsprogramm selbst in der Lage, die Windows-Partition und das darin befindliche Dateisystem zu verkleinern. Je nach Distribution ändern Sie die Größe der Windows-Partition einfach im Partitionierungsprogramm oder rufen die entsprechende Verkleinerungsfunktion über ein Menü auf. Die Verkleinerung funktioniert sowohl für VFAT- als auch für NTFS-Dateisysteme.

Sie müssen Windows vollständig herunterfahren!

Eine Verkleinerung von Windows-Partitionen unter Linux ist nur möglich, wenn Sie Windows vorher vollständig herunterfahren. Bei einem gewöhnlichen Ausschalten ist das aber nicht der Fall! Vielmehr wird Windows für einen späteren Schnellstart in einen speziellen Modus heruntergefahren. Um ein »richtiges« Herunterfahren zu erzwingen, schließen Sie zuerst alle Programme und starten dann das Eingabeaufforderungsprogramm cmd.exe. Dort führen Sie shutdown /p aus.

Wenn eine Verkleinerung der Windows-Partition durch das Linux-Installationsprogramm scheitert, können Sie diesen Schritt auch vor der Installation durch andere Werkzeuge vornehmen. Hier eine kleine Auswahl:

Falls auf Ihrem Rechner noch gar kein Betriebssystem installiert ist und Sie vorhaben, sowohl Windows als auch Linux zu installieren, sollten Sie mit Windows beginnen. Auch während der Windows-Installation müssen Sie die Festplatte partitionieren. Geben Sie hier an, dass die Windows-Partition nicht die ganze Festplatte füllen soll, sondern nur so viele GByte, wie Sie unter Windows eben nutzen möchten (z.B. 100 GByte). Entscheiden Sie sich im Zweifelsfall lieber für einen kleineren Wert – es ist einfacher, später eine weitere Windows-Partition hinzuzufügen, als die vorhandene Partition zu verkleinern.

Zweier-Potenzen versus Zehner-Potenzen

In diesem Buch, im Großteil der sonstigen Linux-Dokumentation und für die meisten Linux-Werkzeuge werden kByte, MByte, GByte etc. mit Zweier-Potzenzen gerechnet:

1 kByte = 210 Byte = 1024 Byte
1 MByte = 220 Byte = 10242 Byte = 1.048.576 Byte
1 GByte = 230 Byte = 10243 Byte = 1.073.741.824 Byte
1 TByte = 240 Byte = 10244 Byte = 1.099.511.627.776 Byte

Viele Festplattenhersteller und auch manche Dateimanager rechnen dagegen dezimal, also mit 10er-Potenzen: 1 TByte = 1012 Byte = 1.000.000.000.000 Byte. Damit hat eine Festplatte, die laut Hersteller 1 TByte umfasst, gemäß den Konventionen in diesem Buch nur ca. 931 GByte.

Anzahl und Größe von Linux-Partitionen

Immer wieder wird mir die Frage gestellt, wie eine Festplatte mit n GByte am besten in Partitionen zerlegt werden soll. Leider gibt es darauf keine allgemeingültige Antwort. Dieser Abschnitt soll Ihnen aber zumindest ein paar Faustregeln für die richtige Anzahl und Größe von Partitionen vermitteln.

Die Systempartition ist die einzige Partition, die Sie unbedingt benötigen. Sie nimmt das Linux-System mit all seinen Programmen auf. Diese Partition bekommt immer den Namen /. Dabei handelt es sich genau genommen um den Punkt, an dem die Partition in das Dateisystem eingebunden wird (den mount-Punkt). Wenn das System also einmal läuft, sprechen Sie diese Partition mit dem Pfad / an. / bezeichnet die Wurzel, also den Anfang des Dateisystems. Aus diesem Grund wird die Systempartition oft als Root-Partition bezeichnet.

Eine vernünftige Größe für die Installation und den Betrieb einer gängigen Distribution liegt bei 15 bis 20 GByte. Dazu kommt natürlich noch der Platzbedarf für Ihre eigenen Daten – es sei denn, Sie speichern eigene Dateien in einer separaten Datenpartition.

In der Vergangenheit war es oft erforderlich, eine eigene Boot-Partition mit dem Namen /boot anzulegen. Wenn es eine derartige Partition gibt, beherbergt sie lediglich die Dateien, die während der ersten Phase des Rechnerstarts benötigt werden. Dabei handelt es sich insbesondere um die Kerneldatei vmlinuz* und um die Initial-RAM-Disk-Datei initrd*. Insgesamt enthält die Boot-Partition selten mehr als 200 MByte Daten.

Seit sich EFI und der Bootloader GRUB 2 durchgesetzt haben, ist die Boot-Partition selbst bei LVM- und RAID-Setups selten erforderlich. Dennoch schlagen manche Distributionen (CentOS, RHEL) weiterhin vor, diese Partition einzurichten. Sie können diesem Vorschlag bedenkenlos folgen: Auch wenn die Partition nicht unbedingt erforderlich ist, richtet sie auf jeden Fall keinen Schaden an.

Mit einer Datenpartition trennen Sie den Speicherort für die Systemdateien und für Ihre eigenen Dateien. Das hat einen wesentlichen Vorteil: Sie können später problemlos eine neue Distribution in die Systempartition installieren, ohne die davon getrennte Datenpartition mit Ihren eigenen Daten zu gefährden.

Bei der Datenpartition wird üblicherweise /home als Name bzw. mount-Punkt verwendet, weswegen oft von der Home-Partition die Rede ist. Es ist nicht möglich, eine Empfehlung für die Größe der Datenpartition zu geben – das hängt zu sehr davon ab, welche Aufgaben Sie mit Ihrem Linux-System erledigen möchten. Wenn Sie sich sicher sind, dass Sie auf Ihrem Rechner keine weiteren Betriebssysteme mehr installieren möchten, können Sie die Home-Partition so groß machen, dass sie den gesamten Rest der Festplatte bzw. SSD füllt.

Die Aufteilung der Festplatte in Partitionen lässt sich noch weiter treiben. Wenn Sie den Linux-Rechner beispielsweise innerhalb eines größeren Netzwerks als speziellen Server für Netzwerk- oder Datenbank-Aufgaben einsetzen möchten, können Sie für die dabei anfallenden Daten eigene Partitionen vorsehen und ein für die Art des Datenzugriffs optimales Dateisystem auswählen. Diese Art der Optimierung ist allerdings nur für Linux-Experten zweckmäßig.

Sofern auf Ihrer Festplatte noch unpartitionierter Platz frei ist, stellt es kein Problem dar, ein laufendes System um weitere Partitionen zu erweitern und gegebenenfalls Daten von einer vorhandenen Partition in eine neue zu verschieben. Wenn Sie also unsicher sind, warten Sie mit der Partitionierung vorerst einfach noch ein wenig ab und lassen einen Teil der Festplatte ohne Partitionen.

Die Swap-Partition ist das Gegenstück zur Auslagerungsdatei von Windows: Wenn Linux zu wenig RAM hat, lagert es Teile des gerade nicht benötigten RAM-Inhalts dorthin aus. Die Verwendung einer eigenen Partition statt wie unter Windows einer gewöhnlichen Datei hat vor allem Geschwindigkeitsvorteile. Linux kann zwar ebenfalls so konfiguriert werden, dass es statt einer Swap-Partition eine Swap-Datei verwendet das ist aber unüblich und langsam.

Im Gegensatz zu den anderen Partitionen bekommt die Swap-Partition keinen Namen (keinen mount-Punkt). Der Grund: Aus Effizienzgründen wird die Swap-Partition direkt und nicht über ein Dateisystem angesprochen.

Wenn Sie viel RAM haben, können Sie ganz auf die Swap-Partition verzichten. Empfehlenswert ist dies aber nur, wenn Sie ohnedies schon unter argen Platzproblemen auf der Festplatte/SSD leiden.

Eine Richtgröße für die Swap-Partition ist die Größe des RAMs. Wenn Sie bei Notebooks den Ruhezustand nutzen möchten, sollte die Swap-Partition etwas größer als das RAM sein.

Auf EFI-Systemen muss es eine EFI-Partition geben. Diese Partition wird bei der Installation des ersten Betriebssystems standardmäßig eingerichtet, egal ob es sich um Windows oder Linux handelt. Wenn später weitere Betriebssysteme installiert werden, teilen sich alle Betriebssysteme die gemeinsame EFI-Partition und legen dort jeweils Dateien zum Start des Betriebssystems ab. Die EFI-Partition muss ein VFAT-Dateisystem enthalten und wird unter Linux über das Verzeichnis /boot/efi angesprochen.

Eine BIOS-GRUB-Partition ist nur erforderlich, wenn Ihr Rechner ein BIOS (kein EFI) zum Hochfahren verwendet, und wenn gleichzeitig die Festplatte eine GPT enthält (keine MBR-Partitionstabelle). Die üblicherweise nur 1 MByte große Partition dient dann als Ort zur Installation des Bootloaders. Diese Partition muss nicht formatiert werden. Dafür muss aber das Flag bios_grub gesetzt werden.

Bei jeder Linux-Installation benötigen Sie eine Systempartition. Darüber hinaus ist eine Swap-Partition sehr zu empfehlen. Das Einrichten weiterer Partitionen ist optional, sehr stark von der geplanten Anwendung von Linux abhängig und auch eine Geschmacksfrage. Meine persönliche Empfehlung für eine Linux-Erstinstallation ist in Tabelle 2.3 zusammengefasst.

Verzeichnis

Verwendung

/boot/efi

EFI-Partition (bei EFI-Systemen, ca. 200 MByte)

BIOS-GRUB-Partition (1 MByte, nur für die Kombination BIOS plus GPT)

Swap-Partition (etwas größer als das RAM)

/

Systempartition (ca. 20 GByte)

/home

Datenpartition (Größe je nach geplanter Nutzung)

Tabelle 2.3Empfohlene Partitionen für den Desktop-Einsatz

Welches Dateisystem?

Linux unterstützt eine Menge unterschiedlicher Dateisysteme, unter anderem ext4, btrfs und xfs. Im Detail werden diese Dateisysteme in Kapitel 23, »Administration des Dateisystems«, vorgestellt.

Der populärste Dateisystemtyp für Linux ist ext4. Dieses Dateisystem ist seit vielen Jahren ausgereift und gleichermaßen robust und effizient.

xfs galt schon lange als Geheimtipp für TByte-große Dateisysteme. Gleichsam der Ritterschlag für dieses ursprünglich von SGI entwickelte Dateisystem war die Entscheidung von Red Hat, xfs als Default-Dateisystem für RHEL 7 zu verwenden. Seither nutzen immer mehr Linux-Anwender dieses robuste und schnelle Dateisystem als Alternative zu ext4.

Dessen ungeachtet betrachten die meisten Linux-Dateisystementwickler btrfs als das Linux-Dateisystem der Zukunft. Die etwas philosophische Frage ist freilich, ob die Zukunft schon da ist. Aktuell (Herbst 2015) sind nur die SUSE-Entwickler dieser Ansicht und verwenden btrfs als Default-Dateisystem für die Systempartition.

Desktop-Anwendern rate ich aber ausdrücklich von btrfs ab! btrfs erfordert insbesondere im SUSE-Default-Setup ein hohes Know-how bei der Administration und führt leicht zu unerwarteten Problemen. Die btrfs-Vorteile überwiegen bestenfalls bei Server-Installationen, die von erfahrenen Administratoren betreut werden. Persönlich nehme ich momentan auch bei der Server-Installation von btrfs Abstand, weil in der btrfs-Mailingliste nach wie vor häufig von Stabilitätsproblemen zu lesen ist.

In der Swap-Partition wird kein richtiges Dateisystem eingerichtet! Die Partition muss aber vor der ersten Verwendung durch mkswap formatiert werden. Alle Linux-Distributionen kümmern sich automatisch darum.

Partition

Dateisystem

EFI-Partition

VFAT (Windows)

BIOS-GRUB-Partition

kein Dateisystem erforderlich

Swap-Partition

kein Dateisystem erforderlich

/

ext4

/boot

ext4

/home

ext4 oder xfs

Tabelle 2.4Empfohlene Dateisystemtypen für den Desktop-Einsatz

Auch in der BIOS-GRUB-Partition wird kein richtiges Dateisystem eingerichtet! Die Partition muss aber mit dem Flag bios_grub gekennzeichnet werden.

Tabelle 2.4 fasst zusammen, welche Dateisysteme Sie am besten für welche Partitionen einsetzen. Die Empfehlungen gelten für eine gewöhnliche Installation als Desktop- oder Entwicklungssystem.