Disklabel
Disklabels werden auf BSD-basierten Betriebssystemen wie DragonFly BSD, FreeBSD, macOS, NetBSD, OpenBSD oder SunOS dazu verwendet, um Datenträger in so genannte Partitionen einzuteilen. Disklabels wurden mit BSD4.3-Tahoe 1988 eingeführt.[1] Der Begriff Partition ist dabei nicht als Teil einer Partitionstabelle zu verstehen, da Disklabel selbst in einer Partition eingebettet sein kann. BSD-Disklabels werden mit den Programmen disklabel, disklabel64[2] oder bsdlabel verändert und erstellt.
Funktionsweise
Ort und Konflikte
Anfänglich wurden die Disklabels im ersten Sektor des Datenträgers gespeichert. Diese Methode funktioniert allerdings nur dann, wenn nur ein Betriebssystem auf dem Rechner arbeiten muss, so ist diese Methode unvereinbar mit der Methode, eine MBR-Partitionstabelle zu nutzen. Diese Methode wird von konkurrierenden Betriebssystemen wie Windows oder Linux genutzt. Dabei steht im ersten Sektor (→Bootsektor) ebenfalls eine Partitionstabelle, der Master Boot Record. In ihm können maximal 4 Partitionen definiert werden. Unter Windows werden diese zumeist mit Buchstaben wie C:, D:, E: etc. angesprochen, unter Linux-basierten Systemen mit /dev/sdxy (für SATA und SCSI) bzw. /dev/hdxy (für IDE), wobei x das Laufwerk repräsentiert und y die Partition. Zum Beispiel: Zweite Partition auf erster SATA-Platte ist /dev/sda2.
Nummerierungsschema
Die Gerätedateien liegen unter Unix-Systemen unter /dev. Die ersten zwei oder drei Buchstaben sind dabei vom Treiber des Datenträgers und vom Betriebssystem bestimmt, unter FreeBSD existieren unter anderem folgende Präfixe[3]:
Unter OpenBSD sind vor allem diese beiden Präfixe gebräuchlich[4]:
Angehängt an dieses Präfix wird die Nummer der Festplatte, die sich je nach Betriebssystem unterscheidet: FreeBSD nutzt die Einbauordnung, sodass es sein kann, dass man zwei Festplatten ad0 und ad2 hat; ad1 wird freigelassen, um die Ordnung beim Hinzufügen einer dritten Platte nicht umzuwerfen. OpenBSD nutzt die Reihenfolge der Erkennung.[5]
Ohne MBR wird nun direkt an den Festplattennamen der Buchstabe der Disklabel-Partition angehängt, zum Beispiel ad0a für die root-Partition. Mit MBR wird das Schema ein wenig komplizierter. BSD-Betriebssysteme nennen die MBR-Partitionen Slices (deutsch: Scheiben; synonym zu MBR-Partition). Eine Slice kann wiederum BSD-Disklabel-Partitionen enthalten, dann erhält die jeweilige MBR-Partition zum Beispiel den Typ a5hex (FreeBSD), a6hex (OpenBSD) oder a9hex (NetBSD). Eine Slice wird nun über einen Namen wie ad0s1a angesprochen; die Nummerierung beginnt allerdings bei 1, nicht bei 0, wie sonst bei vielen anderen Nummerierungsschemata unter Unix.
Die Nummerierung unter Verwendung von Slices hat folgendes Schema: Zuerst der Festplatten-Identifier, dann s und eine Zahl von 1 bis 4, um die Slice (MBR-Partition) zu identifizieren. a ist die Nummer der Disklabel-Partition. Die Buchstaben werden dabei nach folgender Ordnung vergeben:
Buchstabe | Bedeutung |
---|---|
a | Die root-Partition (Mountpunkt /). Hier wird nach dem Bootcode gesucht |
b | Swap-Partition |
c | Pseudo-Partition; bezeichnet gesamte Platte bzw. Slice |
d | Früher reserviert, kann inzwischen als normale Partition genutzt werden |
e - h | FreeBSD: Restliche Partitionen, z. B. /usr, /var, /home etc. |
e - p | OpenBSD: Restliche Partitionen, z. B. /usr, /var, /home etc. |
Heute findet man auf modernen OpenBSD-Systemen allerdings oft nur noch /dev/wd0a; auf FreeBSD-Systemen heißt die erste Partition des USB-Sticks meistens /dev/da0a.
Beispiele
- Zweite Festplatte, zweite MBR-Partition, Root-Partition: /dev/ad1s2a
- USB-Stick, erste MBR-Partition, Root-Partition: /dev/da0s1a
Ablösung
Ab Version 9.0-RELEASE nutzt FreeBSD vorzugsweise ein GPT-Partitionierungsschema, da dieses die Nachteile des MBR vermeidet.
Einzelnachweise
- FreeBSD manpage: disklabel(5) (englisch), abgerufen am 23. Dezember 2013
- DragonFly BSD manpage: DISKLABEL64(8) (englisch)
- FreeBSD Handbook: Disk Device Names
- OpenBSD, FAQ 14: Disks and Partitions
- Archivlink (Memento vom 17. Mai 2012 im Internet Archive)
- FreeBSD Handbook: Disk Organization