Vladimir Dashevsky
Einbinden von Laufwerken unter DOS und Windows 95/98/ME
In diesem Artikel möchte ich mich mit einigen Problemen auseinandersetzen,
die oft bei Benutzung von Dateisystemen unter DOS und Windows 95/98/ME auftreten.
Folgende Fragen werden nacheinander behandelt:
-
Was ist ein logisches Laufwerk?
-
Wie viele logische Laufwerke kann ein System enthalten?
-
Wie werden die Bezeichnungen für logische Laufwerke vergeben?
-
Wie kann man mehr als 4 Primär-Partitionen als logische Laufwerke benutzen?
-
Wie kann man die Verschiebung von Laufwerksbuchstaben beim Anschließen
zusätzlicher Festplatten vermeiden?
-
Wie kann man die Reihenfolge der Laufwerke verändern, die man aus einer
erweiterten (extended) Partition eingebunden hat?
-
Wie benutzt man das Tool mount.exe?
-
Wo bekommt man das Tool mount.exe?
Also, schauen wir uns mal die Fragen an.
Was ist ein logisches Laufwerk?
Ein logisches Laufwerk erweitert die Idee einer physikalischen Festplatte.
Zu den Zeiten der ersten DOS-Version gab es noch keine Festplatten, es gab
lediglich Disketten. Auf den Disketten war die Datenstruktur auch ziemlich
primitiv: es gab keine Unterverzeichnisse, und der gesamte verfügbare Raum
war einem Dateisystem zugeordnet. Jetzt können wir sagen, dass ein logisches
Laufwerk damals einem physikalischen Laufwerk gleich war, doch damals machte
man sich deswegen noch keine Gedanken, weil es ja in logischen Laufwerken noch
kein Bedarf bestand.
Doch schnell war die Zeit gekommen, wo man sie brauchen konnte. Erstens, ein PC
bekam ein zweites physikalisches Laufwerk. Diese Tatsache führte zur Entwicklung
eines Buchstabensystems für die Laufwerke. Das sehen wir heute noch daran, dass
die Buchstaben A: und B: den Disketten-Laufwerken zugeordnet sind, selbst wenn
gar keine Disketten-Laufwerke an den PC angeschlossen sind. Übrigens, Disketten
werden auch heute nicht partitioniert, also stellen sie an sich ein logisches
Laufwerk dar, welches exakt dem physikalischen entspricht.
Mit der Entwicklung von Festplatten bekam das System einen neuen Buchstaben C:.
Anfangs hatten die Festplatten auch ein winziges Speichervolumen und die Daten
waren dort genau so gespeichert, wie auf Disketten. Das bedeutet, der Buchstabe C:
bezeichnete lediglich das physikalische Gerät, ähnlich wie ein Diskettenlaufwerk.
Doch das Speichervolumen von Festplatten stieg schnell, und bald hatte man die
Situation, dass ein FAT-Dateisystem die komplette Festplatte nicht mehr belegen konnte.
Das erste FAT12-Dateisystem war für lediglich 4096 Clusters ausgelegt, also konnte
dieses nur wenige Megabyte belegen. Welche einfache Lösung des Problems war damals
offensichtlich?
Richtig, man hat damals das Problem durch eine Partitionierung der Festplatte gelöst.
Jeder Partition wurde ein logisches Laufwerk zugeordnet, welches dann als eine
pseudo-physikalische Festplatte behandelt wurde. Auf diese Weise hat man wieder das
gesamte Festplattenvolumen nutzen können. Zudem hat man zu diesem Zeitpunkt die
Laufwerksbuchstaben bereits erfunden, so brauchte der Endbenutzer damals keine
extra Kenntnisse, um diese Laufwerke zu benutzen. Außerdem boten mehrere Laufwerke
neue Möglichkeiten für die Administration von Daten.
Moderne Dateisysteme, u.a. FAT32 können auch ohne Partitionierung das gesamte Volumen
der heutigen Festplatten belegen. So könnte man denken, in logischen Laufwerken besteht
kein Bedarf mehr. Aber das stimmt nicht. Einmal erfunden, sind sie heute zum Hauptobjekt
der Administration geworden, und nicht die physikalischen Festplatten.
Auf diese Weise sollte man logische Laufwerke in erster Linie als Containers von Dateisystemen
betrachten, welche ihre eigenen Wurzelverzeichnisse und FAT-Tabellen haben. Eine physikalische
Festplatte kann mehrere logische Laufwerke enthalten, wobei sich diese nicht überlappen dürfen,
um Datenkonflikte zu vermeiden.
Wie viele logische Laufwerke kann ein System enthalten?
Das lateinische Alphabet mit seinen 26 Buchstaben legt die maximal mögliche Anzahl von
logischen Laufwerken fest. In der Praxis ist es jedoch eine ziemlich große Zahl.
Die zweite wichtige Einschränkung stellt das Speichervolumen dar, welches für
die Systemtabellen oder für die Beschreibung von logischen Laufwerken reserviert ist.
Je mehr Laufwerke man benutzen will, desto größere Tabelle braucht man. Um den
Speicherplatz zu sparen, hat man früher für config.sys unter DOS einen speziellen Parameter
erfunden, genannt LASTDRIVE. Dieser Parameter definierte den letzten Buchstaben in der
Laufwerks-Zuordnungstabelle. Später unter Windows 95 und 98 wurde diese Einschränkung
aufgehoben, die Tabelle wurde dann immer für 26 mögliche Buchstaben ausgelegt.
Also können Betriebssysteme mit bis zu 26 logischen Laufwerken arbeiten, obwohl das
normalerweise gar nicht nötig ist, da ein einziges Dateisystem wie FAT32 oder NTFS
das gesamte Festplattenvolumen belegen kann.
Beim Booten eines Betriebssystems müssen die logischen Laufwerke eingebunden werden,
d.h. das Betriebssystem muss herausfinden, wo sich die logischen Laufwerke auf der
Festplatte befinden. Dann liest das Betriebssystem die Deskriptoren der Dateisysteme
und ordnet diese Dateisysteme in seinen eigenen internen Tabellen den Laufwerksbuchstaben
zu. Erst danach kann ein Benutzer den Zugang zu den Daten bekommen, die in den logischen
Laufwerken gespeichert sind.
Logische Laufwerke werden an erster Stelle im Master Boot Record, MBR beschrieben.
Dieses enthält bis zu 4 Einträge mit Partitionen-Infos. Jeder Eintrag bestimmt die Lage
einer Partition auf der Festplatte (Anfang+Länge), zusätzlich enthält jeder Eintrag einen
FSC (FSC - file system code), welcher den Typ des Dateisystems beschreibt, für den
die beschriebene Partition bestimmt ist. Der FSC belegt ein Byte; die DOS-Systeme benutzen
folgende FSC-Typen:
- #01, #04 - Partitionen, die logische Laufwerke mit FAT12-, FAT16-(bis zu 32Ì)
Dateisystemen enthalten
- #06, #0E - Partitionen, die logische Laufwerke mit FAT16-Dateisystemen enthalten
- #0B, #0C - Partitionen, die logische Laufwerke mit FAT32-Dateisystemen enthalten
- #05, #0F - Erweiterte Partitionen
Da die MBR-Tabelle nicht mehr als 4 Partitionen-Einträge erlaubt, so könnte man denken,
dass im System nicht mehr als 4 logische Laufwerke existieren können. Das stimmt aber nicht.
Wollen wir uns mal anschauen, wie die Fa. Microsoft dieses Problem gelöst hat. Hier hat man
sich entschieden, sich auf nur 2 Einträge zu beschränken, nämlich auf eine Primärpartition
und auf eine erweiterte Partition. Auch das fdisk.exe-Tool von Microsoft kann nur diese
zwei Partitionen anlegen, obwohl der Kernel des Betriebssystems auch weitere Primärpartitionen
einbindet, falls diese mit Spezial-Tools wie SyMon angelegt wurden und ihre eigenen Einträge im
MBR haben. Auf diese Weise gibt Ihnen der Partitionen-Editor von SyMon hier eine größere
Freiheit.
Die erweiterte Partition (EXTENDED PARTITION) stellt einen Container dar, welcher
wiederum logische Laufwerke enthalten kann, wie man das bei Microsoft erfunden hat. In der
MBR-Tabelle kann auf ein Mal nicht mehr als ein Eintrag für erweiterte Partition vorhanden
sein, man kann jedoch mit Hilfe von SyMon mehrere solche erweiterte Partitionen anlegen und
sie je nach Bedarf zu- oder abschalten. Eine erweiterte Partition ist an sich eine Kette von
Subpartitionen, die sich nicht überlappen. Jede Subpartition hat ihre Beschreibung, die der im
MBR sehr ähnlich ist, also enthält jede Subpartition ein logisches Laufwerk. Die Länge dieser
Kette ist nur durch die physikalische Festplattengröße begrenzt, in der Praxis kommt noch die
Einschränkung durch die 26 Buchstaben des lateinischen Alphabets hinzu.
Also, mit Hilfe nur zwei Einträge im MBR, also mit einer Primärpartition und mit einer
erweiterten Partition kann man so viele logische Laufwerke organisieren, wie viele Ihr
Betriebssystem unterstützen kann.
Wie werden die Bezeichnungen für logische Laufwerke vergeben?
Bis auf den heutigen Tag ist alles, was die Vergabe von Laufwerksbuchstaben betrifft, mit
der Fa. Microsoft verbunden. Und das bedeutet einen Tropfen Wermut im Freudenbecher. Die
Methode, nach welcher die Laufwerksbuchstaben vergeben werden, sieht mehr als eigenartig aus.
Erstens, die Betriebssysteme DOS und Windows 95/98/ME haben eine strenge Ordnung bei der Vergabe
der Laufwerksbuchstaben, die man nicht ändern kann. So sieht diese Ordnung aus:
-
Laufwerksbuchstaben werden allen PRIMÄRPARTITIONEN vergeben, die auf allen
vorhandenen Festplatten existieren und im Master Boot Record als AKTIV markiert sind.
Sollte keine PRIMÄRPARTITION als AKTIV markiert sein, dann wird der erste
Laufwerksbuchstabe der ersten PRIMÄRPARTITION auf der ersten Festplatte vergeben.
-
Laufwerksbuchstaben werden allen Laufwerken aus den ERWEITERTEN PARTITIONEN vergeben.
Erweiterte Partitionen werden dabei in der Reihenfolge behandelt, in welcher sie auf den
Festplatten gefunden werden, also spielt hier die Reihenfolge der Festplatten im BIOS die
wichtigste Rolle.
-
Laufwerksbuchstaben werden allen anderen PRIMÄRPARTITIONEN vergeben, die nicht als AKTIV
markiert sind, wieder in der Reihenfolge der Festplatten im BIOS.
Dieser Algorithmus der Vergabe hat zur Folge, dass die Laufwerksbuchstaben verschoben werden,
wenn zusätzliche Festplatten installiert oder entfernt werden. Nehmen wir als Beispiel eine
Festplatte, die eine PRIMÄRPARTITION C: und eine ERWEITERTE PARTITION hat, dabei enthält die
erweiterte PARTITION wiederum zwei Laufwerke D: und E:. Jetzt möchten wir eine weitere Festplatte
installieren, die genau gleiche Struktur hat. Also werden dann die Laufwerksbuchstaben wie folgt
vergeben:
C: = C: von der ersten Festplatte
D: = C: von der zweiten Festplatte
E: = D: von der ersten Festplatte
F: = E: von der ersten Festplatte
G: = D: von der zweiten Festplatte
H: = E: von der zweiten Festplatte
Demzufolge macht die Installation einer zusätzlichen Festplatte die Verknüpfungen
aller Programme falsch, die nicht im Laufwerk C: installiert waren. Das bringt immense Probleme
für die meisten Benutzer, die sich zum Kauf einer zusätzlichen Festplatte entschieden haben.
Jetzt ist die Frage: wer ist für diese absolut verwirrende Vergabe der Laufwerksbuchstaben
verantwortlich? Das ist die Kompatibilität, die sonst so hochgelobt wird! Wollen wir uns mal
kurz vorstellen, wie das vor einigen Jahrzehnten war: damals waren die Festplatten gerade eben
erfunden worden, logische Laufwerke hat man damals den physikalischen Laufwerken gleichgesetzt.
Das bedeutet, die eine Festplatte hatte den Buchstaben C: bekommen, die andere D:. Als die zu
speichernde Informationsmenge zu groß wurde, war dann die höchste Zeit, alte Festplatten durch
die mit viel mehr Speicherplatz zu ersetzen. Das Problem damals war aber, dass diese neuen
Festplatten zu groß für die damaligen Dateisysteme waren, also war es notwendig, neue logische
Laufwerke innerhalb von erweiterten Partitionen zu erzeugen. Doch die Buchstaben C: und D: waren
bereits vergeben und die Software-Verknüpfungen für diese Laufwerke wurden bereits erzeugt! Also
blieb der einzige Weg, die logischen Laufwerke einzubinden, und zwar NACH den primären
Partitionen. Fa. Microsoft erfüllte damals einfach die Anforderungen von Kunden, die unbedingt
Kompatibilität wünschten und sich um die ordentliche Anpassung des Systems nicht kümmern wollten.
Jetzt müssen wir aber bereuen, dass die Wege der Kompatibilität so undurchsichtig sind. Doch
gleichzeitig sollte man sich freuen, dass man die SyMon-Software hat und auch einige
unterstützende Tools, die helfen, diese alten Probleme zu lösen.
Wie kann man mehr als 4 Primär-Partitionen als logische Laufwerke benutzen?
Die SyMon-Partitionentabelle unterstützt bis zu 36 Partitionen, wobei man alle diese Partitionen
als primär anlegen kann. Das Problem ist aber, dass nur 4 von ihnen gleichzeitig im MBR
dargestellt werden können. Diese Tatsache macht ein Spezial-Tool namens mount.exe
erforderlich, welches alle Partitionen aus der SyMon-Partitionentabelle als logische Laufwerke
einbinden kann.
Wie kann man die Verschiebung von Laufwerksbuchstaben beim Anschließen
zusätzlicher Festplatten vermeiden?
Das Tool mount.exe kann auch die Reihenfolge festlegen, in welcher Laufwerksbuchstaben
für die eingebundenen Partitionen vergeben werden. Das geschieht mit Hilfe der Konfigurationsdatei
fstab, welche im gleichen Verzeichnis abgelegt wird, wie die Datei mount.exe.
Auf diese Weise kann man den logischen Laufwerken auf verschiedenen Festplatten die
Laufwerksbuchstaben frei zuordnen. So wird auch eine ungewünschte Verschiebung von Buchstaben
vermieden.
Um das Tool nutzen zu können, sollte man die Datei fstab konfigurieren,
danach wird die Datei mount.exe gestartet und alle logischen Laufwerke so registrieren,
wie man es gerne möchte.
Wie kann man die Reihenfolge der Laufwerke verändern, die man aus einer erweiterten (extended) Partition eingebunden hat?
Mount.exe erlaubt auch, jede Subpartition einer erweiterten Partition einzeln einzubinden.
Dank dieser Eigenschaft ist es möglich, auch solchen Subpartitionen die Buchstaben frei
zuzuordnen. Wenn man keine explizite Konfiguration für erweiterte Partitionen macht, dann
bekommen die Subpartitionen ihre Buchstaben in alphabetischer Reihenfolge.
Wie benutzt man das Tool mount.exe?
Es ist ganz einfach, das Tool mount.exe zu benutzen.
Das Tool zusammen mit der Datei fstab sollte man in irgendein Verzeichnis auf
dem Laufwerk C: kopieren. Dann trägt man den Namen des Tools (zusammen mit dem Pfad)
in die Datei AUTOEXEC.BAT.
In der Datei fstab sollten logische Laufwerke wie folgt beschrieben werden:
Laufwerksbuchstabe: hd (N) partition (M) subunit (L)
Hier bedeutet:
-
N - Festplattennummer, beginnend mit Null
-
M - Nummer der Partition in der SyMon-Partitionentabelle
-
L - Nummer der Subpartition in der erweiterten Partition, sollte M eine
erweiterte Partition sein.
Jedes logische Laufwerk wird mit einer Zeile beschrieben.
Zum Schluss wollen wir anhand eines Beispiels zeigen, wie man Partitionen auf zwei
Festplatten konfigurieren kann, wobei jede Festplatte ein Laufwerk C: hat und auch
eine erweiterte Partition, die wiederum logische Laufwerke D: und E: enthält. Das Ziel
ist, die Verschiebung der Laufwerksbuchstaben zu vermeiden. Angenommen, die primären
Partitionen haben jeweils die Nummern "0" in der SyMon-Partitionentabelle, und die
erweiterten jeweils die Nummern "1".
| fstab |
D: hd (0) partition (1) subunit (1)
E: hd (0) partition (1) subunit (2)
F: hd (1) partition (0)
G: hd (1) partition (1) subunit (1)
H: hd (1) partition (1) subunit (2)
|
Wo bekommt man das Tool mount.exe?
Mount.exe kann man auf der Seite Technischer Support
herunterladen.