CHS und LBA Adressierung von Festplatten

Aus Thomas-Krenn-Wiki
Wechseln zu: Navigation, Suche

Die CHS (Cylinder-Head-Sector) Adressierung ist neben der LBA (Logical Block Addressing) Adressierung immer noch für die Partitionierung von Massenspeichern wie Festplatten und SSDs relevant. Vor allem beim genauen Alignment von Partitionen spielt die CHS Adressierung nach wie vor eine Rolle.

CHS - Cylinder-Head-Sector

CHS (Cylinder-Head-Sector) war eine frühe Methode zum Ansprechen von Festplatten. Obwohl CHS heute keine physikalische Zuordnung zu den tatsächlichen Gegebenheiten erlaubt wird CHS noch von zahlreichen Tools verwendet.[1]

Hier einige Begriffe dazu:

  • Tracks: konzentrische Ringe
  • Jeder Track ist in mehrere Sektoren unterteilt
  • Zylinder: eine Festplatte besteht aus einer oder mehreren Scheiben (Platters), wobei an beiden Seiten einer Scheibe (Sides) sich jeweils ein Schreib/Lese-Kopf (head) befindet. Ein vertikaler Schnitt der zugehörigen Ringe über alle Platters und Sides wird Zylinder genannt.

Sektoren können (zumindest bis 8 GByte) durch CHS Koordinaten adressiert werden. CHS steht dabei für:

  • C: Cylinder, gültiger Bereich: 0-1023 cylinders
  • H: Head (Synonym für Side), gültiger Bereich 0-254 heads[2] (früher 0-15)
  • S: Sector, gültiger Bereich 1-63 sectors

Die genannten gültigen Bereiche spiegeln allerdings nicht die physikalischen Tatsachen wider. Keine Festplatte besteht etwa aus 128 Scheiben (0-254 heads). Diese Maximalwerte wurden früher vom BIOS zum Ansprechen der Festplatte verwendet. Der Controller der Festplatte führt dann intern eine Umsetzung auf die tatsächlichen Gegebenheiten durch. Heute wird die C/H/S Adressierung noch hauptsächlich für Partitionstools verwendet. Die C- und H-Werte beginnen dabei mit 0, der S-Wert mit 1. Der erste Sektor eine Festplatte befindet sich als an der CHS Adresse 0/0/1. Ein Sektor ist dabei 512 Byte groß (seit 2010 gibt es auch erste Festplatten mit einer Sektorgröße von 4.096 Bytes). Mit den 512 Byte Sektoren beträgt die maximale Größe einer Festplatte in CHS Adressierung 7,844 GiByte (1024*255*63*512 = 8.422.686.720 Bytes).[3]

LBA - Logical Block Addressing

Bei Festplatten größer als 7,844 GiByte war es aus Kompatibilitätsgründen weiter erforderlich zumindest für das Booten die CHS Adressierung zu unterstützen. Ein moderneres BIOS kann über die Int13h extensions in den LBA (Logical Block Addressing) Modus wechseln. Bei LBA wird die Festplatte einfach als ein einzelnes langes Gerät adressiert, die vorhandenen Blöcke werden einfach durchgezählt, beginnend bei 0. Ein LBA Block entspricht dabei einen Sektor in der CHS Adressierung.[4]

Master Boot Record

Der erste Sektor einer partitionierten Festplatte (LBA 0 oder CHS 0/0/1) enthält:

  • den Master Boot Record (MBR)
  • sowie die Primary oder Master Partition Table (MPT)

Extended Partition Table

Logische Partitionen werden nicht in der Master Partition Table definiert, sondern in einer separaten Extended Partition Table (EPT). Die EPT befindet sich am ersten Sektor der erweiterten Partition selbst. Die EPT ist eine sekundäre Parititonstabelle, die das gleiche Format wie die MPT nutzt. Sie hat wie die MPT Platz für vier Einträge - nutzt aber nie mehr als zwei davon. Ein Eintrag definiert eine logische Partition, ein zweiter Eintrag kann den Rest der erweiterten Partition definieren.

Bei mehreren logischen Partitionen gibt es eine verlinkte Liste von mehreren EPTs (daisy-chained).

Alignment

Partitionen beginnen und enden normalerweise an Zylindergrenzen (Cylinder boundaries). Bei allen primären Partitionen (außer der ersten) sitzt der Partition Boot Record (PBR) auf Head 0 / Sektor 1. Bei der ersten primären Partition ist dies nicht der Fall, da hier auf Track 0 der erste Sektor für den MBR/MPT frei gelassen werden muss. Die erste Partition beginnt also mit ihrem PBR am nächsten Track (Head 1 des ersten Cylinder). Damit beginnt die erste primäre Partition auf CHS Adresse 0/1/1, während die anderen primären Partitionen jeweils an xxx/0/1 beginnen.

Anmerkung: damit werden 62 der ersten 63 Sektoren (der Rest der Sektoren, die auf Side 0 dem MBR folgen) offiziell nicht genutzt. Manche Boot-Manager nutzen diesen Bereich, da dieser Bereich kein Bestandteil einer Partition ist. Logische Partitionen in der extended Partition müssen ebenfalls Platz lassen - für die EPT. Sie folgend daher dem gleichen Schema wie die erste primäre Partition.

Weitere Informationen siehe Partition Alignment.

Einzelnachweise

  1. Cylinder-head-sector (en.wikipedia.org)
  2. Cylinder-head-sector - Heads (en.wikipedia.org)
  3. Windows NT Boot Process and Hard Disk Constraints Microsoft Knowledge Base Artikel 114841
  4. Logical Block Addressing (de.wikipedia.org)

Weitere Informationen


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer, tätig im Bereich Knowledge Transfer bei Thomas-Krenn, hat sein Studium zu Computer- und Mediensicherheit an der FH Hagenberg abgeschlossen. Er ist regelmäßig Autor in Fachzeitschriften und Speaker bei Konferenzen wie LinuxCon, OSDC, OSMC, LinuxTag u.v.m. Seine Freizeit gestaltet er sehr abwechslungsreich. In einem Moment absolviert er seinen Abschluss im Klavierspielen, im anderen läuft er beim Linzmarathon in der Staffel mit oder interessiert sich für OpenStreetMap.