Suche:

Sie sind hier: Home > Helpdesk > Ratgeber > Workshops > Festplatten gekonnt partitionieren

Hintergrundartikel:

Systeme gekonnt partitionieren

Mehrere Systeme auf einem PC? Mit Tools wie dem Boot-Manager WWBMU ist das kein Problem! Allerdings sind dabei ein paar wenig bekannte „Vorfahrtsregeln“ bei der Partitionierung zu beachten - sonst bleibt der Bildschirm dunkel.

Wissen Sie, wie viel ein GigaByte Plattenspeicher zur Zeit kostet? Kaum 3 Euro - Tendenz weiter fallend! Im Gegenzug klettern die Kapazitäten der Einstiegsmodelle unaufhaltsam. Bekam man vor eine Jahr für 200 Euro gerade mal um die 20 GByte, so sind es jetzt schon 60 GByte und mehr.

Doch bei aller Freude über diese "unendlichen Weiten" stellt sich irgendwann die Frage, was man damit überhaupt will? Denn selbst Windows inklusive Office XP in voller Takelage belegen höchstens "ein paar" Gbyte. Den übrigen Speicher wird der Normalanwender wohl kaum allein mit selbstverfassten Dokumenten füllen können - von bestimmten Audio- und Videodateien einmal abgesehen.

Den Platz sinnvoll nutzen
Die überschüssigen Kapazitäten können aber auch zu wirklich sinnvollen Dingen eingesetzt werden. Nimmt man etwa einen Boot-Manager hinzu, so kann man beispielsweise mehrere Betriebssysteme auf ein und dem selben System nebeneinander einrichten. Wer zum Beispiel einen PC zusammen mit anderen nutzt, kann auf diese Weise jedem Anwender eine eigene isolierte Betriebssysteminstallation zuweisen: Ein Windows für Junior zum Spielen, eines für Vater zum Schreiben und ein weiteres für Mutters Einkaufsbummel im Internet - alles sauber voneinander getrennt. Denkbar ist aber auch ein PC, auf dem neben DOS, Windows 98 und NT auch noch Linux und sonstige Betriebssystem zu finden sind.

Auf ein und dem selben PC können problemlos mehrere Betriebssysteme parallel eingerichtet werden. Man braucht dazu nur einen Boot-Manager und etwas Know-How

Voraussetzung für ein unbeschwertes Nebeneinander der Systeme ist - neben dem schon genannten Boot-Manager - ein gerüttet Maß an Wissen über die Historie der einzelnen Betriebssysteme. Denn einige von ihnen schleppen seit Jahr und Tag Kinderkrankeiten mit sich, die sich inzwischen mehr und mehr zu einer Altersschwäche auswachsen - und zwar in dem Maße, indem die Hardware weiter wächst. Ein Beispiel: Zwar lässt sich hinter einer 2-GByte-DOS-Partition locker eine weitere mit Windows 98 einrichten - aber nicht umgekehrt!

Die Gründe für solch abstruses Verhalten liegen ähnlich wie die, für das Jahr-2000-Problem: es wurde einfach zu kurz gedacht. Analysiert man den Code in so manchem Bootsektor, so kann man oftmals nur noch die Hände über dem Kopf zusammenschlagen. Zwar könnte man hier als Einwand gelten lassen, dass die Zeiten von DOS und Co. nun endgültig vorüber sind (was so nicht stimmt). Doch die gleichen oben genannten Probleme finden sich auch noch - man glaubt es kaum - bei Windows NT 4.0.

Dennoch: Wer um die jeweiligen Wehwehchen der einzelnen Systeme weiß, kann auf seinem PC problemlos eine Handvoll Betriebssysteme und mehr einrichten. Damit dies auch wirklich gelingt, machen wir zunächst einen Abstecher in die Theorie.

Was passiert beim Booten?
Der Start (Boot-Vorgang) eines Betriebssystem erfolgt in mehreren, dabei immer größer werdenden Schritten:

Nach dem Einschalten des PCs oder einem Reset laufen zunächst verschiedene Tests und Konfigurationen über das System-BIOS ab. Sind diese abgeschlossen, geht es an den Start des Betriebssystems vom Datenträger. Dieser wird über BIOS-Interrupt 19h initiiert.

Bei Starts von Diskette wird dabei versucht, den ersten Sektor der Spur 0 mit Kopf 0 - den sogenannten Boot-Sektor - von der Diskette in Laufwerk A: einzulesen. Der Boot-Sektor enthält neben einigen Angaben über das Diskettenformat auch Boot-Code, anhand dessen der Startprozess des jeweiligen Betriebssystems fortgesetzt wird. Der Boot-Sektor wird an die Hauptspeicheradresse 0000h:7c00h eingelesen und der Code an gleicher Stelle gestartet. Da der Boot-Sektor nur 512 Byte groß ist, kann der enthaltene Code verständlicherweise nur rudimentäre Funktionen enthalten. Je nach Betriebssystem werden von ihm nun weitere, mächtigere Boot-Komponenten nachgeladen, bei DOS und Windows 9x beispielsweise die Kernel-Datei io.sys, bei Windows NT dagegen ntldr, die wiederum als Sprungbrett für den NT-Kern dient.

Der Start von Platte im Detail
Doch zurück zum eigentlichen Start. Misslingt das Booten einer Floppy, da zum Beispiel keine Diskette einliegt oder diese Funktion per BIOS-Setup gesperrt wurde, so wird das gleiche mit der ersten Festplatte wiederholt - allerdings mit einem wichtigem Unterschied. Bei Festplatten wird nicht sofort der betriebssystemspezifische Boot-Sektor geladen, sondern ein dem übergestellter Bereich namens Master Boot Record (MBR). Er wird ebenfalls an der Adresse 0000h:7c00h abgelegt und ausgeführt. Er enthält neben der Partitionstabelle der betreffenden Festplatte ebenfalls Boot-Code, der allerdings eine andere Aufgabe als im Boot-Sektor hat. Der MBR-Code untersucht die maximal 4 Einträge der Partitionstabelle nach der als aktiv markierten Partition. Wird er fündig, so verschiebt sich der Code zunächst im Hauptspeicher auf die Adresse 0000h:6c00h. Dadurch wird an 0000h:7c00h Platz gemacht für den ersten Sektor dieser Partition (beim ersten Partitionstabelleneintrag ist dies Kopf 1, Spur 0, Sektor 1 - bei allen anderen Kopf 0, Spur 0, Sektor 1), den eigentlichen Boot-Sektor des darauf installierten Betriebssystems. Anschließend wird der Start wie beim Floppy-Boot fortgesetzt. Gibt es jedoch keine aktive Partition, so erhält man die berühmt, berüchtigte Meldung "Betriebssystem fehlt".

Der MBR ist also nichts anderes als ein Mini-Boot-Manager, der für das Laden des Boot-Sektor der aktiven Partition dient. Den Wechsel von einem Betriebssystem zu einem anderen kann man ganz einfach mit fdisk vollziehen: Man setzt einfach das Aktiv-Flag auf eine andere Partition um, und beim nächsten Start wählt der MBR diese, statt der vorigen.

Die allgemeine 8-GByte-Grenze
Um es nochmals deutlich zu sagen: Wärend des Bootens herrscht im PC absolute "Dunkelheit". Es gibt keine hilfreichen Betriebssystemkomponenten, keine Treiber - nur das System-BIOS und gegebenenfalls entsprechende Erweiterungen auf Zusatzkarten wie SCSI-Adaptern. Das bedeutet für den Code im MBR, dass er zum Laden des gewünschten Boot-Sektors allein auf den für Datenträgerzugriffe zuständigen Interrupt 13h angewiesen ist. Will man nun einen PC mit mehreren Betriebssystemen ausstatten, so kann man daher die einzelnen Partitionen nicht uneingeschränkt an beliebiger Stelle platzieren.

Ein erstes Hindernis stellt die sogenannte 8-GByte-Grenze dar. Dies begründet sich darin, dass die Partitionstabelleneinträge in CHS-Manier (Cylinder, Head, Sector) gehalten sind - die Anfangs- und Endwerte also in Zylinder, Kopf und Sektor ausgedrückt werden müssen. Die hierfür maximal verwaltbaren Werte liegen bei 1024 Zylindern (0 bis 1023), 255 Köpfen (0 bis 254) sowie 63 Sektoren (1 bis 63). Der letzte auf diese Weise ansprechbare Sektor liegt also bei 16450560 (1024 x 255 x 63), was etwa 7,844 GByte ergibt. Boot-Sektoren, die dahinter liegen, können vom MBR-Code also nicht geladen werden und somit die zugehörigen Betriebssysteme nicht starten.


Als der Master Boot Record und die darin enthaltene Partitionstabelle entworfen wurden, waren Gbyte-grosse Platten noch unvorstellbar - zum Leidwesen heutiger Anwender

Hier sei allerdings angemerkt, dass diese Barriere nur deshalb eine Rolle spielt, weil wieder einmal Rücksicht auf Abwärtskompatibilitäten genommen werden muss. Denn die Partitionstabelle enthält auch zwei 32-Bit-Felder, die die Anzahl der Sektoren vor dem Partitionsbeginn und innerhalb der Partition beschreiben. Deren Limit liegt somit bei 2 Tbyte! Da die Interrupt 13h-Extensions direkt LBA-Adressierungen unterstützen, könnte man also zumindest theoretisch genauso gut Sektoren oberhalb der 8-GByte-Grenze einlesen - doch dann müsste auch der Code in den Boot-Sektoren mitspielen, vom Betriebssystem selbst ganz zu schweigen.

Ist Ihnen eigentlich aufgefallen, dass seltsamerweise nur maximal 255 Köpfe statt 256 eingetragen werden können? Das ist eine erzwungene Verbeugung vor den FAT-Partitionen von DOS und Windows. Deren Boot-Sektor enthält nämlich ebenfalls ein Feld, in dem die Anzahl der Köpfe eingetragen werden muss. Doch leider handelt es sich aus Kompatibilitätsgründen lediglich um ein Byte - und darin hat der Wert 256 eben keinen Platz.

Die Standardfunktionen des Interrupt 13h haben übrigens die gleiche Enstehungsgeschichte wie die unterdimensionierten Partitionseinträge. Auch hierfür gelten also die oben genannte Maximalwerte, weshalb man mit einem veralteten System-BIOS ohne Interrupt 13h-Extensions maximal nur rund 8 GByte einer Festplatte ansprechen kann.

Beschränkungen bei DOS
Die 8-GByte-Grenze stellt, im Vergleich zu den Problemen der einzelnen Betriebssystem selbst, allerdings noch das kleinste Übel dar. Wie bereits eingangs erwähnt, kann DOS nur innerhalb der ersten 2 GByte einer Festplatte gestartet werden. Liegt der betreffende Boot-Sektor höher, so kann der MBR zwar problemlos darauf zugreifen. Doch der Startcode im Boot-Sektor selbst verrechnet sich: Um die Position der Kerneldatei io.sys zu ermitteln, muss der Boot-Code auf die FAT zugreifen. Dabei kommt es dann zu einem Registerüberlauf, falls die zugehörigen Cluster (die io.sys enthalten) nicht unterhalb von 2 GByte liegen - anstatt beispielsweise auf eine Position bei 3 GByte zuzugreifen, werden Daten bei 1 GByte gelesen und ausgeführt, wodurch es zwangsläufig zum Absturz kommt.

Da DOS zu den kritischsten Fällen zählt, sollte man dieses Betriebssystem möglichst nah an den Festplattenanfang legen. Sollte der Platz innerhalb der ersten 2 GByte nicht ausreichen (etwa weil dort noch eine zweite DOS-Partition abgelegt werden soll), so kann man sich durch Auslagerung behelfen: In der zu bootenden primären DOS-Partition legt man nur die für den tatsächlichen Start relevanten Dateien ab. Das sind io.sys, msdos.sys, command.com sowie config.sys und autoexec.bat, die zusammen kaum 100 KByte benötigen. Die übrigen System und Applikationsdateien kann man problemlos in einem logischen Laufwerk einer erweiterte Partition unterbringen (mit entsprechenden Verweisen in config.sys und autoexec.bat). Dieses kann durchaus oberhalb von 2 GByte liegen. Die beinhaltende erweiterte Partition darf allerdings die 8-Gbyte-Grenze nicht überschreiten, da sonst die logischen Laufwerke darin nicht erkannt werden.

Probleme bei Windows NT 4.0
Auf ähnliche Probleme trifft man auch bei Windows NT 4.0. Sofern das Betriebssystem auf einer FAT-Partition installiert werden soll, gelten die gleichen Beschränkungen wie für DOS - allerdings auch die gleichen Lösungsansätze: Kritisch ist nur der Start des NT-Loaders ntldr. Das Betriebssystem selbst kann sich dagegen auf einer beliebigen Partition unterhalb von 8 GByte befinden. Für die primäre Ministartpartition werden allein die Dateien ntldr, ntdetect sowie boot.ini benötigt, die zusammen kaum 200 KByte auf die Waage bringen. Eine leichte Linderung bringt übrigens die Formatierung der NT-Startpartition mit NTFS statt FAT. Dann muss der Partitionanfang nicht unterhalb von 2, sondern immerhin 4 GByte liegen.

Kaum Einschränkungen bei Windows 95/98
Die oben genannte Boot-Probleme der letzten offiziellen DOS-Version wurden in Windows 95 (DOS 7.0) vollständig gelöst. Dieses Betriebssystem und auch Windows 98 kann an beliebiger Stelle innerhalb der ersten 8 GByte einer Festplatte installiert werden. Bei Partitionen, die diese Grenze überschreiten, muss lediglich sichergestellt werden, dass die Datei io.sys noch im vorderen Teil liegt. Eine erweiterte Partition darf unter Windows 9x die 8-GByte-Grenze überschreiten und auch größer als 8 GByte sein. Dies gilt sowohl für das Dateisystem FAT-12/16 (maximale Größe hier 32 MByte bzw. 2 GByte), als auch FAT-32.

Wichtig: Bitte beachten Sie aber, dass sich beim Betriebssystemmix die Plattenorganisation immer nach dem schwächsten Glied richten muss. Angenommen, Sie wollen beispielsweise DOS mit Windows 98 einsetzen und beide Betriebssysteme sollen dabei auf logische Laufwerke in einer erweiterten Partition zugreifen können. Dann muss sich deren Dimensionierung und Position zwangsläufig nach den begrenzteren Fähigkeiten von DOS richten und nicht nach den Möglichkeiten von Windows 98.

OS/2 und Linux mit altem LILO
Bei den drei von OS/2 unterstützten Dateisystemen FAT-12/16, FAT-32 und HPFS ist lediglich darauf zu achten, dass sich die Boot-Dateien unterhalb von 8 GByte befinden.

Ähnliche Anforderungen gelten für Linux. Falls der verwendete Linux-Loader LILO den Parameter lba noch nicht kennt, so ist er auf die Standard-Funktionen von Interrupt 13h angewiesen. Folgende Dateien und Bereiche müssen daher unterhalb der 8-GByte-Grenze angesiedelt werden:

  • Der Boot-Sektor, in den LILO installiert wurde,
  • alle Dateien im Verzeichnis /boot (bzw. dem in /etc/lilo.conf spezifizierten Ort),
  • die Linux-Kernel, die LILO booten soll,
  • sowie gegebenenfalls die Boot-Sektoren anderer Betriebssysteme, die LILO starten soll.

Windows 2000, Windows ME und Linux mit neuem LILO
Alle drei Systeme können problemlos oberhalb von 8 GB installiert und gestartet werden (Auch von WWBMU!).

 

 FAT 16

 FAT 32

 NTFS

 HPFS

 Linux

MS-DOS 6.22 *

Boot-Sektor < 2 GByte

 -

 -

 -

 -

Windows 95 und 95A

Boot-Sektor < 8 GByte

 -

 -

 -

 -

Windows 95B und ff.

Boot-Sektor < 8 GByte

 Boot-Sektor < 8 GByte

 -

 -

 -

Windows 98

Boot-Sektor < 8 GByte

 Boot-Sektor < 8 GByte

 -

 -

 -

Windows NT 3.x und 4.0

Boot-Sektor < 2 GByte *

 -

Boot-Sektor < 4 GByte max. **

 -

 -

Windows 2000

Boot-Sektor < 8 GByte

Kein Limit

Kein Limit

 -

 -

Windows ME

Boot-Sektor < 8 GByte

Kein Limit

Kein Limit

 -

 -

OS/2

Boot-Sektor < 8 GByte

 -

 -

Boot-Sektor < 8 Gbyte

 -

Linux (LILO ohne "lba")

Boot-Sektor < 8 GByte

 -

 -

 -

Boot-Sektor < 8 GByte

Linux (LILO mit "lba")

Boot-Sektor < 8 GByte

 -

 -

 -

Kein Limit

* Erweiterte Partitionen müssen innerhalb 8 Gbyte liegen
** Größe 4 bis 8 GByte  (je nach Anfangsposition)

Diese Tabelle zeigt eine Aufstellung der Maximalpositionen der einzelnen Betriebssystem unter Verwendung der jeweiligen unterstützten Dateisysteme.

Weitere Möglichkeiten
Mit dem Boot-Manager WWBMU können bekanntlich bis zu vier primäre Systempartitionen gestartet werden - bzw. drei bei Verwendung einer erweiterten Partition auf der ersten Festplatte. Das muss aber nicht bedeuten, dass lediglich drei bzw. vier Betriebssysteme installiert werden können. Unter Zuhilfenahme der Boot-Optionen die beispielsweise in Windows 9x, NT oder auch Linux schon enthalten sind, können recht komplexe Boot-Varianten aufgebaut werden.

Wenn man zum Beispiel die NT-Startdateien in eine bestehende DOS-Partition installiert, das System selbst aber in ein logisches Laufwerk, so kann man über eine einzige primäre Partition DOS und mehrere NT-Varianten starten. Ähnliches gilt für Windows 9x und natürlich auch Linux.

Top
© 2010 Wirth IT-Design
Druckversion