Datum: | ältere Artikel

Bootloader.2000.XP

Schon seit Windows NT 4 gehört der Bootloader zum Lieferumfang der „großen“ Windows-Versionen. Der Bootloader startet die installierten und schon vorhandenen Windows-Versionen. Wer nachträglich ein älteres Windows oder unvorbereitet ein anderes Betriebssystem installiert, kann eine böse Überraschung erleben, da der Bootloader sehr leicht beschädigt werden kann. Wir klären mit diesem Artikel über Aufbau, Reparatur und Erweiterung des Bootloaders auf.

Anzeige

1. Aufbau und Ablauf des Bootloaders

Der Bootloader schreibt sich auf die erste (sichtbare) primäre Partition des Systems – normalerweise das Laufwerk C:, selbst wenn Windows NT/2000/XP auf einer anderen Partition installiert wurde. Wer vor dem NT-Bootloader einen „echten“ Bootmanager benutzt, findet den Bootloader auf der für NT ersten sichtbaren Partition.

In diese erste Systempartition schreibt die Installation den Startcode in den Bootsektor.

Der Startcode ruft beim Hochfahren automatisch das Programm ntldr auf, das dann ntdetect.com startet und dann die Datei boot.ini auswertet. Für bestimmte Controller wird noch der Treiber ntboodd.sys nachgeladen.

1.1 Partitionsvergabe in der boot.ini

In der Boot.ini ist aufgelistet, welche Betriebssysteme der Bootloader von welcher Stelle starten soll/kann:
Eine „normale“ Boot.ini sieht wie folgt aus:

[boot loader]
timeout=2
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=“Microsoft Windows XP Professional“ /fastdetect

Der Eintrag „default“ gibt das Betriebssystem an, welches nach Ablauf des Zählers (=timeout) automatisch gestartet wird. Finden sich mehrere Einträge unter „operating systems“, macht der Eintrag „default“ Sinn.

Der Eintrag „operating systems“ beinhaltet alle Betriebssysteme, die im System zum Zeitpunkt der Einrichtung des Bootloaders gefunden wurden. Die Einträge lassen sich allerdings auch nachträglich erweitern.

Die Partitionsangabe erfolgt nach den so genannten Advanced RISC Computing (ARC) Spezifikationen.
multi(X)disk(Y)rdisk(Z)partition(W)\WINDOWS=“NAME“

Für die meisten Systeme sind die Werte multi(X) und disk(Y) „0“ Standard.

Nur bei Geräten, die einen Zugriff auf die Bootplatte nicht über den INT13 des BIOS erlauben, muss der Eintrag in der Boot.ini speziell angepasst werden.

Der Eintrag rdisk(Z) gibt das Laufwerk an. Gezählt wird bei „0“.

Der Eintrag partition(W) gibt die Partition an. Die Zählweise ist aber nicht ganz einfach zu durchblicken. Windows nummeriert die Partitionen auf einer Festplatte nach Typ und nicht fortlaufend. Beginnend mit „1“ werden erst die primären und dann die logischen Laufwerke durchgezählt.

Beispiel:
Windows wird auf einer Festplatte mit einer primären und einer erweiterten Partition, in der sich 2 logische Laufwerke befinden, auf das erste logische Laufwerk installiert. -> W=2; multi(0)disk(0)rdisk(0)partition(2)\WINNT=“Windows“ /fastdetect

Wird nun nachträglich die Reihenfolge der Partitionen verändert, z.B. eine 2. primäre Partition vor dem erweiterten Laufwerk angelegt, verschiebt sich auch der Platz der oben genannten Installation auf W=3. Wird die Boot.ini nun nicht angepasst, kann der Bootloader das System nicht mehr starten.

2. Bootloader restaurieren

2.1 Windows 2000 beschädigt XP

Installiert man Windows 2000 oder NT nach einem bestehenden Windows XP, wird der Bootloader stellenweise beschädigt. Konkret überschreibt z.B. Windows 2000 die Datei ntldr durch eine Version, mit der Windows XP nicht mehr starten kann.

Das Problem lässt sich leicht beheben, indem man die beschädigten Dateien von jedem beliebigen Windows oder der Wiederherstellungskonsole auf das Bootlaufwerk kopiert:

COPY x:\I386\NTLDR C:\

2.1 Neuaufbau des Bootloaders

Sollte der NT-Bootloader weiter beschädigt sein, ist etwas mehr Handarbeit nötig.

Dazu bootet man den Rechner von der Windows XP-CD (ggf. im BIOS die Bootreihenfolge ändern), dann mit der „R“-Taste in den Reparaturmodus mittels Wiederherstellungskonsole wechseln. Wer nur eine Recovery-CD zur Verfügung hat, kann auch die Installations-Disketten von Windows 2000 bzw. XP verwenden, welches es bei Microsoft zum Download gibt.

Nun befindet man sich in der Wiederherstellungskonsole.

Hier stellt man mit fixboot C: einen neuen Bootsektor her.

Wurden weitere Dateien auf dem Bootlaufwerk überschrieben (Platte formatiert, Dateien gelöscht), müssen weitere Dateien hergestellt werden.

Zuerst kopiert man

COPY x:\I386\NTLDR C:\
COPY x:\I386\NTDETECT.COM C:\

auf die Festplatte (Pfadangaben X und C beachten).

Danach gibt man den Befehl bootcfg /rebuild ein. Das Programm sucht hiermit nach Windows-Installationen und fragt bei den „Funden“ nach dem Anzeigenamen. Als Ergebnis erhält man eine neue boot.ini. Weitere Parameter von bootcfg erläutert der KB Artikel 291980.

Um den Rechner neu zu starten und die Wiederherstellungskonsole zu verlassen, muss man nur exit eingeben.

2.2 Bootcode durch Win9x/ME überschrieben – Sichern für die Aufnahme in den NT-Bootloader

Eine nachträgliche Installation von Windows 9x/ME beschädigt den Code im Bootsektor und überschreibt diesen durch einen eigenen Code. Dies hat zur Folge, dass die Datei ntdlr nicht mehr geladen wird.

Der Trick liegt nun darin, dass man den Win9x-Code aus dem Bootsektor extrahiert und wieder mit dem Windows 2000/XP-Bootloader verbindet.

Hierzu extrahiert man zunächst mit dem kostenlosen DOS-Tool BootPart den Bootsektor der Bootpartition in einer Datei. In unserem Fall wäre der Befehl bootpart 0 C:\WIN.98

Bootpart, beachte Parameter
Klick aufs Bild zum Vergrößern

Anschließend stellt man wie zuvor bei 2.1 beschrieben den Bootloader wieder her und fährt anschließend bei 3.2 fort.

3. Nachträglich neues Betriebssystem in die Boot.ini aufnehmen

3.1 Windows NT, 2000 oder XP aufnehmen

Weitere NT/2000/XP-Systeme können einfach durch Angabe der Zielpartition in die Boot.ini eingetragen werden. Die Boot.ini ist eine versteckte und schreibgeschützte Datei im Root der ersten sichtbaren Partition.

Zum Editieren müsste man zunächst den Schreibschutz und „versteckt“ kurzfristig entfernen. Einfach geht es über die Systemsteuerung -> System -> Registerkarte „Erweitert“ und dort unter Starten und Wiederherstellen -> Einstellungen und im Folgefenster „Bearbeiten“.

Einfach in die Boot.ini
Klick aufs Bild zum Vergrößern

Einfach in die Boot.ini
Klick aufs Bild zum Vergrößern

Im Abschnitt „operating systems“ trägt man das Ziel des neuen Windows NT/2000/XP gemäß den zuvor bei 1.1 gemachten Erläuterungen ein:

multi(X)disk(Y)rdisk(Z)partition(W)\WINDOWS=“NAME“

Beispiel:
multi(0)disk(0)rdisk(0)partition(2)\WINNT=“Windows“ /fastdetect
Hier befindet sich Windows auf einer Festplatte mit einer primären und einer erweiterten Partition, in der sich 2 logische Laufwerke befinden, auf dem ersten logischen Laufwerk installiert.

3.2 Windows 9x oder andere Betriebssysteme aufnehmen

“ Fremde“ Betriebssysteme lassen sich in 2 Schritten in die boot.ini einbinden.

Zum einen benötigt man den Bootsektor des Betriebssystems, wie wir ihn unter 2.2 in die Datei WIN.98 geschrieben haben. Ob es sich bei dem gesicherten Bootsektor dabei um Windows 98, Windows 95, Windows ME oder DOS (oder ein anderes Betriebssystem) handelt, ist egal.

Man legt in der boot.ini im Abschnitt „operating systems“ für jedes Betriebssystem, dessen Bootsektor man gesichert hat, einen neuen Eintrag an. Für unser Windows 98 wäre dies:

C:\win.98=“Windows 98″.

4. Sicher ist sicher – Kopie der Bootdateien

Hantiert man oft mit anderen Systemen oder geänderten Partitionen, sollte man sich eine Kopie der Bootdateien anfertigen. Dazu formatiert man eine Diskette unter Windows 2000/XP – allerdings ohne die Funktion „MS-DOS Startdiskette erstellen“. Der Bootsektor der Diskette kann damit die ntldr starten. Die restlichen Dateien ntldr, ntdetect.com und boot.ini kopiert man manuell auf die Diskette. Mit dieser Diskette kann man das System auch noch booten, wenn der Bootloader auf der Startpartition beschädigt wurde.

Mit dieser kleinen Hilfestellung sollte das gleichzeitige Betreiben von 2 verschiedenen Systemen ohne Probleme funktionieren. Wir möchten an dieser Stelle aber noch den Hinweis geben, dass für komplexere Aufgaben die beste Wahl ein separater Bootmanager ist. Die Auswahl ist hier sehr umfangreich und reicht von spartanischer Freeware bis zum teuren Vollpreisprodukt.

2 Antworten auf “Der Bootloader von Windows 2000/XP”

Hinterlasse eine Antwort

(wird nicht veröffentlicht)

Nutzungsrichtlinien beachten