Booten von "zweiter" Platte
Probleme aus der Praxis
Wenn ein Betriebssystem auf eine bestimmte Platte installiert wurde
und später neue Platten in den Rechner eingebaut werden, kann es passieren,
dass sich die Plattennummer der vorhandenen Platten -- gewollt oder
ungewollt -- ändert. Beispielsweise wäre es sinnvoll, eine
neuerworbene (schnellere) Platte als erste Platte einzurichten und
diese Platte dann im Normalbetrieb zu nutzen. Anderseits möchte man
die vorhandenen Betriebssysteme auf der alten Platte häufig weiterhin
benutzen. Im Fall von Microsoft-Betriebssystemen (DOS und Windows)
kommt erschwerend hinzu, dass sich diese Betriebssysteme problemlos
nur auf der ersten Platte installieren lassen. Der in der Praxis
gewählte Ausweg aus diesem Dilemma ist, die vorhandene (alte) Platte
vorübergehend zu deaktivieren, so dass die Zielplatte während der
Windows-Installation als erste Platte erscheint. Ohne Bootmanager lassen
sich dann mehrere Windows-Partitionen auf unterschiedlichen Platten nur nutzen,
wenn man die störenden Platten entweder im BIOS ausblendet, ihre Plattennummer
verändert oder eventuell sogar auf Hardware-Ebene komplett abschaltet.
Diese Lösungen sind somit alle sehr unbequem. Dieselben Probleme bestehen auch
mit Nicht-Windows-Betriebssystemen. Es ist keineswegs selbstverständlich,
dass ein Betriebssystem noch bootbar ist, wenn sich die Plattennummer der
Boot-Platte verändert hat.
Lösung im Bootmanager von Boot-US
Technisch gesehen besteht das Problem darin, dass in der betreffenden
Bootpartition an bestimmten Stellen vermerkt ist, auf welcher Platte sich
diese Partition befindet. Wenn sich dann die Plattennummer ändert, stimmt
diese Information nicht mehr und das Booten schlägt fehl. Es hängt vom
betreffenden Betriebssystem ab, ob diese Daten nur im Bootsektor eingetragen ist,
oder vielleicht noch in anderen Systemdateien vermerkt ist.
Im Fall von DOS und Windows 95/98/ME scheint die
Information über die
Plattennummer tatsächlich nur im Bootsektor und sonst in keinen weiteren
Systemdateien zu stehen. Um also z.B. Windows 95 von einer aktuellen
zweiten Platte zu booten, wenn diese Platte bei der Installationen die erste
Platte war, braucht man "nur" die aktuelle Plattennummer in den
Bootsektor an die geeignete Position zu schreiben und anschliessend dann diesen
veränderten Bootsektor in den Speicher laden und starten. Tatsächlich ist es
nicht einmal notwendig, den Bootsektor auf der Platte permanent zu ändert,
sondern es reicht sogar, diese Änderung nur im Speicher am geladenen Bootsektor
durchzuführen. Der Bootsektor auf der Platte bleibt unverändert. Der Bootmanager
von Boot-US verwendet diese Methode um DOS und Windows 95/98/ME von einer anderen
Platte zu booten.
Beginnend mit Boot-US 2.0.0 ist es möglich Windows NT/2000/XP/2003/Vista/2008/7 von einer zweiten,
dritten,... Platte zu booten. Technisch gesehen werden im Bootmanager Boot-US die Platten für
den BIOS-Interrupt 13h scheinbar vertauscht. Diese Vertauschung ist nur auf der
BIOS-Ebene sichtbar, also während des Boot-Vorgangs. Nachdem Windows gestartet ist,
laufen alle weiteren Plattenzugriffe nicht mehr über den BIOS-Interrupt 13h sondern
über Windows-Plattentreiber. Obwohl die Plattenvertauschung auf BIOS-Ebene weiterhin
aktiv ist, kann sie deshalb den eigentlichen
Windows-Betrieb nicht beeinflussen.
Diese Ausführungen machen deutlich, dass es keine generelle Lösung für
dieses Boot-Problem gibt. Jedes Betriebssystem und jeder Partitionstyp muss separat
behandelt werden. In Boot-US ist die Unterstützung für das Booten von einer
anderen Platte explizit nur für DOS und Windows 95/98/ME/NT/2000/XP/2003/Vista/2008/7
eingebaut.
Was ist mit anderen Betriebssystemen ?
Der Bootmanager von Boot-US übergibt beim Booten aller Partitionen im
DL-Register generell die aktuelle Plattennummer. Diese Information könnte
bei Nicht-Microsoft-Betriebssystemen schon ausreichend sein um die betreffende
Partition zu booten. Das muss man aber ausprobieren.
|