Festplatten richtig partitionieren - Seite 2

Grössen nachgerechnet

Grössen nachgerechnet
Um die Kapazität einer Festplatte zu berechnen, wird die CHS-Rechnung (Cylinders, Heads, Sectors) angewendet. Bei PCs aus den frühen 90ern unterstützt das BIOS 1024 Zylinder, 16 Köpfe und 63 Sektoren pro Track. Die Kapazität errechnet sich damit leicht zu:

1024 * 16 * 63 * 512 / 1904 / 1024 = 504 MByte

Dies ist die berüchtigte 504-MByte-Grenze, die sich bei diesen Rechnern nur durch Treiber oder einen neuen Controller (kaum noch im Handel zu finden) überwinden lässt.

Die nächste Grenze, die allerdings nicht das BIOS, sondern das FAT-System vorgibt, ist die 2-GByte-Grenze. FAT16 unterstützt 2^16 = 65536 Zuordnungseinheiten (Cluster, dazu gleich mehr), die maximal 32 768 Byte gross sind. 10 Cluster sind reserviert. Daraus ergibt sich:

65525 * 32 768 / 1024 / 1024 / 1024= 1,999 GByte

Wer zum Beispiel unter Windows mit FAT16 partitioniert, wird schnell diese Grenze bemerken. Mehr ist unter FAT 16 bei Windows 9x nicht möglich. Unter NT/2000/XP besteht allerdings die Möglichkeit, FAT16-Partitionen auf 4 GByte auszuweiten, die allerdings nicht vollständig von Windows 9.x verwendet werden können.

Mit Einführung von FAT32 seit OSR 2 hat Microsoft die Anzahl Cluster erhöht und zwar von 2 ^ 16 auf 2 ^ (32-4), wieder sind zehn Cluster reserviert. Theoretisch sind damit Partitionsgrössen bis 2 Terabyte möglich, Microsoft hat jedoch eine Beschränkung auf 32 GByte eingebaut.

BIOS-Probleme
Bevor diese Grenze jedoch erreicht wird, schlägt das BIOS erneut zu: die berüchtigte 1024-Zylinder-Grenze begrenzt die Grösse einer Festplatte auf ca. 8 GByte. Wie falsch diese Rechnungen sind, zeigt ein Paper des Herstellers Western Digital. Zitat: „Die meisten 8,4-GByte-EIDE-Festplatten melden ihre Kapazität als 16 383 Zylinder, 16 Köpfen und 63 Sektoren pro Track (...). Das ergibt 16 514 064 Bytes (8455 MByte)“. Falsch. Die Differenz ergibt sich aus Rechnung mit 1000 Byte für 1 KByte statt 1024 Byte. Der wahre Wert liegt bei knapp 8 GByte. Wer sich die Spezifikationen genau ansieht, stellt fest, dass die verschiedenen BIOS-Versionen leicht unterschiedliche Werte für Köpfe und Zylinder melden. Die Grenze liegt also ungefähr bei 8 GByte - je nach BIOS.

Int13
Die 1024-Zylinder- oder 8-GByte-Grenze ergibt sich aus der Unfähigkeit des Int13h-Interrupts, mehr Zylinder zu verwalten. Nach dem Einschalten des PC gibt es nur das BIOS, es ist zu diesem Zeitpunkt das Betriebssystem des PC. Über den Int13h findet das BIOS die Start-Partition auf dem Datenträger und lädt von dort die benötigten Startdateien für das jeweilige Betriebssystem. Bei grösseren Festplatten (>8 GByte) ist die Lage der Startdateien unbekannt - sie können daher möglicherweise nicht gefunden werden. Betriebssysteme, die ausserhalb der ersten 1024 Zylinder liegen, können in der Regel per Int13 nicht gestartet werden.

Extended Int13
Die Lösung heisst extended Int13h und ist seit 1997 verfügbar. Dabei wird der Bootsektor geringfügig geändert: Statt der CHS-Angabe mit 24 Bit (6 für Sektoren, 8 für Köpfe und 10 für Zylinder) werden nun 64 Bit verwendet: Eine Partition wird dabei durch Angabe der Sektornummer relativ zum Plattenanfang gefunden.

SCSI-Platten unterliegen übrigens nicht diesen BIOS-Problemen - sie verfügen über ein eigenes BIOS.

Die vorerst letzte Grenze ergibt sich aus der ATA-Schnittstelle, die die Grösse einer Festplatte auf 137 GByte begrenzt. Diese ist gerade geknackt worden, Festplatten mit höheren Kapazitäten sind bereits auf dem Markt.

Die 1024er-Grenze hat inzwischen viel von ihrem Schrecken verloren. Bei NT/2000/XP ist es weitgehend egal, wo es sich auf der Festplatte befindet, auch der Lilo von Linux hat inzwischen diese Grenze überwunden. Auch bei Windows 9x/ME mit FAT32 gibt es dieses Problem nicht mehr.

Artikel kommentieren