Partitionierung

Aus wiki.archlinux.de


Diese Seite soll ergänzende Informationen zur Festplattenpartitionierung liefern.

Partitionstabelle

Informationen über die einzelnen Partitionen werden in der Partitionstabelle (Partition table) gespeichert. Es gibt zwei Arten von Partitionstabellen, die klassische MBR und die neue GUID Partitionstabelle

Master Boot Record (MBR)

MBR

MBR unterstützt 3 Partitionstypen

  • Primär (Primary)
  • Erweitert (Extended)
  • Logisch (Logical)

Primäre Partitionen können bootbar sein. Die Gesamtanzahl logischer Partitionen beschränkt sich auf vier pro Festplatte oder RAID Laufwerk. Erfordert ein Partitionsschema mehr als vier Partitionen, so muss eine erweiterte Partition, die weitere logische Partitionen enthält, angelegt werden. Man kann sich erweiterte Partitionen als Container für logische Partitionen vorstellen. Auf einer Festplatte kann nicht mehr als eine erweiterte Partition vorhanden sein. Es gilt zu berücksichtigen, dass eine erweiterte Partition als primäre Partition gezählt wird. Neben ihr können also nur noch 3 weitere primäre Partitionen auf der Festplatte erstellt werden. Die Anzahl der in der erweiterten Partition erstellbaren logischen Partitionen ist unbegrenzt. Für ein Dualbootszenario mit Windows muss sich Windows auf einer primären Partition befinden. Die gebräuchlichste Vorgehensweise ist, drei primäre (sda1,sda2,sda3), eine erweiterte (sda4) Partition und in der erweiterten logische (sda5,sda6 usw.) Partitionen zu erstellen.

GUID Partition Table (GPT)

GUID

Es gibt nur einen Partitionstyp (primär), es können bis zu 128 Partitionen pro Festplatte/RAID Laufwerk erstellt werden.

Die Wahl zwischen GPT und MBR

  • Wird das veraltete GRUB legacy als Bootloader verwendet, muss MBR verwendet werden.
  • Für Dual-Boot mit Windows (32-bit 64-bit) und BIOS muss MBR verwendet werden.
  • Für Dual-Boot mit Windows 64-bit und UEFI anstelle von BIOS, muss GPT verwendet werden.
  • Trifft nichts von alledem zu, so hat man die freie Wahl zwischen GPT und MBR. Es ist empfehlenswert GPT zu verwenden, da es u.a. moderner ist.
  • Für UEFI boot sollte grundsätzlich GPT verwendet werden, da manche UEFI-firmware kein UEFI-MBR boot zulässt.

Partitions Schema

Die Art des Partitionsschemas hängt immer von verschiedenen Faktoren wie Geschwindigkeit, Sicherheit, verfügbarem Festplattenspeicher, gewünschter Flexibilität (LVM) und nicht zuletzt den persönlichen Präferenzen ab. Es kann also kein ultimatives Partitionsschema geben, sondern lediglich Anhaltspunkte. Im wesentlichen läuft ein Partitionsschema auf zwei grundlegende Varianten heraus:

  • Eine einzelne, große Partition; dies ist das einfachste und für die meisten Normalfälle geeignete Partitionsschema. Man kann eine Swapdatei erstellen und diese nach Bedarf in der Größe anpassen.
  • Einzelne Partitionen. Mit einzelnen Partitionen hat man die Möglichkeit für jede Partition das geeignete Filesystem, Bootoptionen usw. zu wählen.

Mountpunkte

Die folgenden Mountpunkte (Mount Points) sollen als Wegweiser dienen, um die Auswahl für die eigenen Bedürfnisse zu erleichtern.

/

Das root-Verzeichnis / steht hirarchisch an oberster Stelle. Alle Dateien und Verzeichnisse erscheinen unter dem root-Verzeichnis /, selbst wenn sie auf unterschiedlichen physikalischen Medien gespeichert sind. Der Inhalt des root-Dateisystems muss dazu geeignet sein das System zu booten, wiederherzustellen und ggf. zu reparieren. Daher sind einige Verzeichnisse unter / nicht dazu geeignet sie auf separate Partitionen auszulagern. Die root-Partition ist essentiell, andere Partitionen hingegen können durch sie ersetzt werden.

Hinweis: Verzeichnisse, abgesehen von /boot, die zum Booten benötigt werden müssen sich auf der selben Partition wie / befinden, oder vom initramfs in den frühen userspace eingehängt werden. Namentlich sind dies: /etc und /usr.

/boot

Das boot-Verzeichnis /boot beinhaltet neben der Bootloaderkonfiguration auch die Kernel- und Ramdiskimages. Daten die benutzt werden bevor der Kernel mit dem Ausführen von Userspace Programmen beginnt, liegen ebenfalls in /boot. /boot wird lediglich während des Bootens oder Kernelaktualisierungen benötigt. Man braucht zwingend eine separate boot-Partition, wenn man ein Software RAID0 (srtipe) System installiert, oder z.B. das System innerhalb eines verschlüsselten LVM installieren möchte.

/home

Das home-Verzeichnis /home beinhaltet benutzerspezifische Konfigurationsdateien, Anwendungsdaten, persönliche Dateien usw. Ein separates /home ermöglicht es z.B. / neu zu partitionieren ohne das die Daten des Nutzers verloren gehen. Man kann Arch allerdings auch reinstallieren, ohne dass /home beeinflusst wird, wenn sich /home nicht auf einer separaten Partition befindet. Dazu müssen lediglich die anderen Toplevelverzeichnisse entfernt werden, bevor pacstrap ausgeführt wird. Man sollte es vermeiden, home-Verzeichnisse unter Nutzern verschiedener Distributionen zu teilen, da oftmals untereinander inkompatible Softwareversionen und Patches verwendet werden. Man sollte stattdessen besser eine separate Partition für Mediendateien (z.B. Bild-,Audio- und Videodateien) anlegen, oder zumindest unterschiedliche home-Verzeichnisse innerhalb der selben home-Partition verwenden.

/var

Im var-Verzeichnis /var liegen variable Daten, wie spool-Verzeichnisse und -dateien, Logdateien und dergleichen. Der cache von Pacman und, sofern installiert das ABS etc. befinden sich ebenfalls in /var. Es wird quasi zum Cachen und Loggen benutzt und entsprechend häufig finden Schreib- und Lesezugriffe statt. Durch eine separate var-Partition kann vermieden werden, dass z.B aufgrund immer größer werdender Logdateien /root volläuft und kein Festplattenplatz mehr vorhanden ist. Dies ist vor allem für Server relevant. Das var-Verzeichnis existiert, um die Möglichkeit zu schaffen /usr mit der Option read-only zu mounten.

Hinweis: /var beinhaltet viele kleine Dateien. Man sollte dies bei der Wahl des passenden Dateisystems für eine separate var-Partition berücksichtigen

/tmp

/tmp ist dadurch, dass es von systemd als tmpfs eingehängt wird nativ eine separate Partition und braucht daher nicht extra erstellt zu werden. Um tmpfs für /tmp zu nutzen, muss man dies in etc/fstab eintragen. Man kann dort tmpfs eine auch andere Größe als die default vorgesehenen 50% des gesamt RAMs zuweisen, indem man zusätzlich noch size=n definiert.

 /etc/fstab	
 tmpfs   /tmp         tmpfs   nodev,nosuid,size=1G          0  0

swap

Eine swap-Partition stellt Speicherplatz der als virtuelles RAM verwendet werden kann zur Verfügung. Es besteht auch die Möglichkeit anstelle einer separaten swap-Partition eine Swapdatei anzulegen. Eine Swapdatei hat gegenüber der swap-Partiton den Vorteil, dass sich ihre Größe unproblematisch dem Bedarf anpassen lässt und es zu beinahe keinerlei Performanceeinbußen kommt. Theoretisch könnte eine swap-Partition unter Betriebssystemen geteilt werden, sofern keine Hibernationfunktion benutzt wird.

Größen der einzelnen Partitionen

Die Partitionsgröße hängt vom Verwendungszweck und den persönlichen Vorlieben ab, die folgenden Informationen sind als ungefähre Richtwerte zu verstehen.

/boot - 200 MB
Erforderlich sind lediglich ca. 100MB, sollen jedoch mehrere boot/kernel images verwendet werden, sind 200 -300MB die bessere Wahl.
/ - 15-20 GB
Da /usr welches sich in den meisten Fällen in / befindet abhängig von der Menge installierter Software eine beachtliche Größe erlangen kann, sollte / entsprechend groß gewählt werden. 15-20GB sind für die meisten Nutzer mit modernen Festplatten ausreichend.
/var - 8-12 GB
In /var befindet sich neben anderen Daten der pacman cache sowie ggf. das ABS.Es ist sinnvoll Pakete im cache zu behalten, um z.B. die Möglichkeit zu haben Pakete zu downgraden. Durch Updates und hinzuinstallieren von Paketen wächst die Größe des pacman caches an, demzufolge benötigt /var auch zunehmend Platz. Selbstverständlich kann man den pacman cache leeren, wenn es zu Platzproblemen kommt, oder man alte Pakete nicht mehr benötigt. 8-12GB sind für /var in einem Desktop System ausreichend, abhängig davon, wie viel Software man zu installieren plant.
/home - [variiert]
Hier liegen Downloads, Multimediadateien, Nutzerdaten etc.. /home stellt damit das größte Verzeichnis im System dar und sollte daher entsprechend großzügig angelegt werden.
swap - [variiert]
Historisch galt die Regel, dass eine swap-Partition die doppelte Größe des physischen RAMs haben sollte. Da moderne Rechner über zunehmend mehr RAM verfügen, ist diese alte Regel hinfällig. Auf Systeme mit weniger als 512MB RAM kann die RAM x 2 Regel noch angewandt werden, ist jedoch ausreichend RAM vorhanden (mehr als 1024MB) kann die swap-Partition entsprechend kleiner ausfallen, oder gänzlich weggelassen werden. Sind mehr als 2GB RAM verbaut, so kann man generell von guter Performance ausgehen, ganz ohne swap-Partition.

Hinweis: Plant man hibernate/suspend in eine swap-Partition oder ein swap-file, muss man dies bei der Größenwahl berücksichtigen. (siehe Hibernation)

/data - [variiert]
Man kann in Erwägung ziehen eine extra data-Partition für Dateien, die unter allen Nutzern geteilt werden sollen anzulegen. /home ist hierfür allerdings auch gut geeignet.

Hinweis: Sofern verfügbar, kann man zu der Größe jedes Dateisystems circa 25% der Größe addieren, um über ein Polster für spätere Erweiterungen zu verfügen und einen Schutz vor Fragmentation zu gewährleisten.

Partitionierungswerkzeuge

  • fdisk Partitionierung auf der Konsole, ist standardmäßig in Arch vorhanden.
  • cfdisk Partitionierung auf der Konsole, ist standardmäßig in Arch vorhanden.

Hinweis: Die erste mit cfdisk erstellte Partition beginnt mit Sektor 63, nicht mit dem üblichen Sektor 2048. Hierdurch kann es bei SSDs und zu Performanceeinbußen kommen. Bei der Nutzung von GRUB2 treten Probleme auf (GRUB), GRUB-legacy und Syslinux funktionieren hingegen problemlos.

Siehe auch

To do:

  • Partitionswerkzeuge
  • Speicherausrichtung
  • (Partitionieren GPT)
  • Partitionieren MBR