Große Platten - große Probleme

29.04.2003 von MIKE HARTMANN, MALTE JESCHKE  und Christian Vilsbeck
IDE-Festplatten gibt es mit bis zu 300 GByte Kapazität. Die volle Größe lässt sich jedoch nur über eine Erweiterung des ATA-Standards ansprechen. Damit kommen nicht alle Betriebssysteme zurecht. Besonders schlimm trifft es Windows XP.

Über den erweiterten Interrupt 13 lassen sich maximal 137 Milliarden Byte (128 GByte) ansprechen. Für das Gros der Festplatten kein Problem, liegt ihre Kapazität doch unter dieser Grenze. Die Topmodelle von Hitachi, Maxtor, Samsung, Seagate und Western Digital bieten inzwischen aber Speichervolumina von 160 GByte aufwärts.

Bereits im Juni 2001 hat Maxtor deshalb die Big-Drive-Initiative ins Leben gerufen, die die 128-GByte-Barriere für die nächsten Jahre aus der Welt schaffen soll. Die hauptsächliche Änderung ist dabei die Erweiterung der Adressierung von 28 auf 48 Bit. Dadurch ergibt sich eine Obergrenze von 128 PetaByte (bzw. 144 PetaByte bei Verwendung von 1 KByte = 1000 Byte).

Das größte Problem dieses neuen Adressierungsverfahrens ist die Verträglichkeit mit aktuellen Betriebssystemen. Immerhin verwenden die neueren Betriebssysteme nicht mehr das BIOS, um auf die Festplatte zuzugreifen, sondern eigene Routinen. Und die müssen entsprechend angepasst werden.

48-Bit-Adressierung

In allen folgenden Berechnungen verwenden wir die Rechnung mit 1024 Byte pro KByte anstelle der bei Festplattenherstellern vorherrschenden Rechnung mit 1000 Byte pro KByte.

Ältere BIOS-Revisionen der Mainboards - bis zirka erstes Quartal 2002 - arbeiten nach der erweiterten Interrupt-13-Spezifikation. Dabei ist das entsprechende Feld zur Adressierung des Sektors von 24 auf 28 Bit erweitert und erlaubt so die Aufschlüsselung von 255 Sektoren, 16 Köpfen und 65.536 Zylindern. Diese CHS-Adressierung kann also bei einer Sektorgröße von 512 Byte bis zu 136,9 Milliarden Byte (127,5 GByte) ansprechen. Bei der LBA-Adressierung sind sogar 137,4 Milliarden Byte (128 GByte) möglich, da LBA alle Blöcke linear durchzählt und somit nicht auf die 16*65536 Blöcke verzichtet, die durch das Auslassen des Sektors 0 verloren gehen.

Die 128-GByte-Grenze ist somit durch den auf 28 Bit beschränkten Adressraum für die LBA-Adressierung bei ATA-Laufwerken gegeben. Maxtors initiierte BigDrive-Technologie erlaubt einen Adressierungsbereich von 48 Bit, der Festplatten mit bis zu 128 PetaByte (131.072 TByte) ermöglicht. Die 48-Bit-Adressierung ist vom T13-Komitee bereits in die ATA/ATAPI-Spezifikationen aufgenommen.

Aktuelle BIOS-Revisionen der Mainboards unterstützen inzwischen fast durchgängig das erweiterte Adressierungsverfahren. Für unsere Tests mit den großen Festplatten haben wir eine Maxtor DiamondMax D540X mit 160 GByte Kapazität verwendet. Das Laufwerk wurde an Onboard-IDE-Controllern mit 28- und 48-Bit-Adressierung sowie an einem Promise Ultra133 TX2 betrieben, der ebenfalls einen 48 Bit breiten Adressraum unterstützt.

DOS/Windows 98SE

An einem 48-Bit-fähigen Controller lässt sich die DiamondMax D540X ohne Probleme betreiben. Man darf sich allerdings nicht von den abstrusen Kapazitätsangaben abschrecken lassen, die die Befehle fdisk und format ausgeben. Beide berechnen die Kapazität der Festplatte mit rund 25.256 MByte. Die Formatierung kann allerdings auch unter Windows 98/ME erfolgen.

Zu Testzwecken haben wir danach mit einem selbstentwickelten Tool die Festplatte in Schritten mit jeweils 1 GByte gefüllt, ohne dass Schreib- oder Lesefehler auftraten.

Der Test am Onboard-Controller mit 28-Bit-Adressierung brachte ebenfalls keine Überraschungen zu Tage. Der Controller verwendet einfach nur die ersten 128 GByte der Festplatte und ignoriert alle Sektoren jenseits dieser Grenze. Wer sich nicht extra einen neuen IDE-Controller zulegen will oder kein aktuelles BIOS zum Download zur Verfügung hat, kann die Platte problemlos mit geringerer Kapazität betreiben.

Windows 2000

Etwas komplizierter gestaltet sich die Einrichtung und Verwendung der Festplatte unter Windows 2000. Die Datenträgerverwaltung von Windows 2000 erlaubt die Partitionierung der Festplatte mit der vollen Kapazität.

Die Formatierung ist jedoch nur mit dem NTFS-Dateisystem möglich. Versuche, die Festplatte mit FAT32 zu formatieren, scheitern an der Fehlermeldung "Datenträger zu groß" (Quickformat). Hier macht es keinen Unterschied, ob nur eine 160-GByte-Partition oder mehrere kleine angelegt wurden. Dabei handelt es sich laut Microsoft Knowledgebase aber um eine beabsichtigte Barriere: Unter Windows 2000 sind nur Volumes bis 32 GByte Kapazität mit FAT32 formatierbar.

Bereits FAT32-formatierte Laufwerke mit mehr als 32 GByte lassen sich dagegen unter Windows 2000 problemlos nutzen. So kommt auch Windows 2000 mit unserer unter DOS FAT32-formatierten 160-GByte-Festplatte problemlos zurecht.

Windows XP

Microsofts Windows XP haben wir in drei verschiedenen Konfigurationen unter die Lupe genommen:

In der ersten Konfiguration läuft alles reibungslos, da die Treiber für den Controller die Unterstützung für 48-Bit-Adressierung bereits mitbringen. Die mit DOS partitionierte und FAT32-formatierte 160-GByte-Festplatte lässt sich unter Windows XP uneingeschränkt nutzen.

Anders verhält es sich im zweiten Fall, wenn die Festplatte an die Standard-IDE-Ports des Mainboards mit 48-Bit-BIOS angeschlossen wird. Jetzt verwendet Windows XP seine integrierten ATA-Treiber und erkennt die Festplatte nur mit einer Kapazität von 8 GByte. Sind die ATA-Treiber des Chipsatz-Herstellers installiert (zum Beispiel für Intels 850E-Chipsatz), so kann Windows XP 32 GByte Kapazität ansprechen.

Eine bereits auf 160 GByte partitionierte und formatierte Festplatte zeigt WinXP ebenfalls nur mit 8 beziehungsweise 32 GByte. Man kann ohne Neuformatierung aber nicht darauf zugreifen. Mit einer 40-GByte-Festplatte hat Windows XP beispielsweise keine Probleme.

Lösung: Registry Patch oder SP1

In der Microsoft Knowledge Base findet sich dann des Rätsels Lösung: Mittels eines speziellen Eintrags in der Registry soll sich die Festplatte korrekt ansprechen lassen.

Dazu ist unter dem Schlüssel

HKEY_LOCAL_MACHINE\\ System\\ CurrentControlSet\\ Services\\ Atapi\\ Parameters\\

der Eintrag EnableBigLba mit dem Typ DWORD und dem Wert 1 zu erzeugen. Nach dem Eintrag des Registry-Patches lässt sich die 160-GByte-Festplatte voll ansprechen, und auch die Datenträgerverwaltung zeigt nun die komplette Kapazität an. Die Installation des Service Pack 1 für Windows XP erledigt dies automatisch.

Windows XP kann nach dem Registry-Patch beziehungsweise der Installation von SP1 die 160-GByte-Maxtor selbst dann mit voller Kapazität ansprechen, wenn diese an einem Mainboard mit altem 28-Bit-LBA-BIOS angeschlossen ist. Das Betriebssystem umgeht das BIOS und adressiert die Platte direkt.

Achtung: Zum Booten benötigt XP (wie auch NT und 2000) allerdings das BIOS. Was Sie bei Verwendung einer übergroßen Platte als Boot-Device beachten müssen, lesen Sie im übernächsten Kapitel.

Neuer Bug: Datenverlust im Standby

Der Registry Patch beziehungsweise das Service Pack 1 löst das Kapazitätsproblem von Windows XP. Die Big Drives können aber für einen weiteren unangenehmen Nebeneffekt sorgen: Schaltet man Windows XP in den Standby- oder Hibernation-Mode, so können Festplatten mit 48-Bit-Adressierung einem Datenverlust erliegen.

Die Fehlerquelle liegt im Befehl "flush cache", der nicht für die 48-Bit-Adressierung ausgelegt ist. Betroffen sind die Windows-XP-Versionen Home Edition und Professional - jeweils mit und ohne installiertem Service Pack 1. In Microsofts Knowledge Base wird dieser Bug inzwischen aufgelistet. Ein Patch steht dort ebenfalls zum Download parat.

Große Festplatte als Boot-Device

Etwas kompliziert stellt sich die Situation für Anwender dar, deren Rechner nur über eine übergroße Festplatte verfügt - etwa weil sie sich ein neues System zusammengestellt haben. Die folgenden Beschreibungen gelten nur für ein System mit 48-Bit-BIOS. Bei Verwendung eines entsprechenden PCI-Controllers müssen Sie beim Setup einen Treiber einbinden und haben all die Probleme erst gar nicht.

Will man XP über die Boot-CD auf die unpartitionierte 160-GByte-Platte installieren, stehen im Setup-Menü zunächst nur 8 GByte zur Verfügung. Auch wenn die Platte zuvor per DOS auf 160 GByte partitioniert und formatiert wurde, erkennt Windows XP beim Setup nur 8 GByte. Zudem weist das XP-Setup die Partition dann als unformatiert aus.

Es bleibt also nicht anderes übrig, als eine 8 GByte große Systempartition anzulegen, zu formatieren und XP darauf zu installieren. Danach ist der Registry-Patch oder besser das Service Pack 1 durchzuführen, damit XP auch den restlichen Platz zur Verfügung stellt. Nun lässt sich der Rest des Platzes in weitere Partitionen einteilen und formatieren.

Wenn Ihnen 8 GByte für die Systempartition zu klein sind, können Sie die im Folgenden beschriebenen Schritte durchführen, um sie zu vergrößern. Lesen Sie jedoch zunächst den Absatz "Auswirkungen", bevor Sie die Schritte nachvollziehen.

Systempartition vergrößern

Die Grundvoraussetzung, um die Systempartition mit dem hier beschriebenen Verfahren zu vergrößern, ist die Formatierung mit dem NTFS-Dateisystem. Wenn Sie die Partition mit FAT32 formatiert haben, ist das auch kein Beinbruch:

Öffnen Sie ein Command-Prompt (cmd.exe) und geben Sie den folgenden Befehl ein

convert C: /FS:NTFS

Das Konvertierungstool wird Sie darauf hinweisen, dass es die Partition zunächst unmounten muss und dass noch Objekte geöffnet sind. Dann fragt es, ob Sie nun unmounten wollen. Wenn Sie die Frage mit Ja beantworten, teilt convert Ihnen mit, dass das nicht möglich ist und fragt Sie, ob es die Konvertierung beim nächsten Systemstart durchführen soll. Auch hier bejahen Sie die Frage und starten danach das System neu. Dabei wird die Partition von FAT32 nach NTFS konvertiert und XP gestartet.

Die weiteren Schritte erledigen Sie über das Kommandozeilen-Programm Diskpart - übrigens ohne weiteren Neustart.

Diskpart

Diskpart ist ein sehr leistungsfähiges Tool von Windows XP zum Verwalten von Datenträgern. Es ist textbasiert und lässt sich per Kommandozeile mit diskpart starten. Danach erhalten Sie das Prompt DISKPART>.

Geben Sie zunächst den Befehl list disk ein, um eine Auflistung aller Platten zu erhalten.

Mittels select disk und der Nummer der Festplatte wählen Sie nun die richtige Platte aus und lassen sich mit list volume alle verfügbaren Volumes anzeigen. Bei einem frisch installierten XP dürfte sich in etwa folgendes Bild ergeben:

Wählen Sie die Systempartition mit select volume und der entsprechenden Nummer aus. Danach können Sie dieses Volume über den Befehl extend vergrößern. Hierbei haben Sie zwei Optionen:

Auswirkungen

Wenn Sie Ihre Systempartition mit dem beschriebenen Verfahren vergrößern, stehen Sie bei einem Crash allerdings vor einem erheblichen Problem. Die Recovery-Console, die sich über die Windows-CD starten lässt, kann - wie auch das Setup - nicht mit der großen Platte umgehen. Sie werden also die lapidare Meldung erhalten, dass XP die Systempartition nicht finden kann. Eine Neuinstallation ist ebenfalls nur über eine Neupartitionierung mit dem damit verbundenen Datenverlust möglich. Auch eine Emergency Repair Disk (ERD) hilft dabei nicht weiter. Sie bekommen ganz einfach keinen Zugriff auf die Systempartition.

Deshalb empfehlen wir, beim Setup eine Partition mit 4 GByte anzulegen und das System darauf zu installieren. Eine solche Partition wird nämlich von der Recovery Console korrekt erkannt, und eine Rettung oder zumindest eine Neuinstallation ohne erneutes Partitionieren ist möglich.

Fazit

Festplatten mit 48-Bit-Adressierung - also einer Kapazität von größer 128 GByte - sind mittlerweile weit verbreitet. Während das Gros der Mainboards die Big Drives inzwischen klaglos unterstützt, sorgen die Betriebssysteme für unangenehme Überraschungen.

Besonders das moderne Windows XP zeigt sich im Umgang mit großen Festplatten altbacken. Bei und nach der Installation gilt es, einige Hürden zu überwinden, um die Kapazität der Platte voll - und sicher - nutzen zu können. (cvi/mha)