Bei der Installation (mit Vista) meines neuen PCs gab es Anfangs einige Probleme die durch die Kombination alte IDE-Platte, neue Sata Platte und Neuinstallation aufgetreten sind.
Unter anderem kam mir einmal folgende Fehlermeldung entgegen:
“BOOTMGR ist missing”
Aus XP-Zeiten kennt man ja eine ähnliche Fehlermeldung: “NTLDR fehlt”. Irgendwann war ich dann völlig entnervt und habe mich, nachdem ich erst einige Zeit herumprobiert hatte, entschlossen mich genauer zu informieren. Es ist halt grundsätzlich besser auch zu verstehen was einem eine Fehlermeldung sagen will…
Fangen wir bei XP an. Da lief die Bootreihenfolge folgendermaßen ab:
Das BIOS ermittelt die Startgeräte nach der angegebenen Bootreihenfolge und lädt dann, falls vorhanden, den ersten Sektor des ersten bootfähigen Mediums. Dort versteckt sich der so genannte MBR (Master Boot Record). Dieser enthält u.a. die Partitionstabelle und einen Boot-Loader der die erste aktive Parition sucht. Nachdem der Bootloader die erste aktive Partition gefunden hat, übergibt er die Kontrolle an den auf der aktiven Partition befindlichen Bootsektor. Dieser lädt anschließend den NTLDR, der über die boot.ini (direkt unter c:\) konfiguriert werden kann. Der NTLDR hat dann anschließend den Windows-Start angeworfen.
Seit Vista sieht die Sache etwas anderst aus: Bis zum NTLDR läuft die Geschichte gleich ab. Der NTLDR wurde in Vista aber durch den BOOTMGR abgelöst. D.h. der Bootsektor der aktiven Partition lädt nicht mehr den NTLDR sondern ab Vista den BOOTMGR. Dieser durchsucht dann den so geannten Startkonfigurationsdatenspeicher (*für Hangman merken*
). Dieser listet die aktiven Betriebssysteme auf. Wird bei der Auswahl der Betriebssysteme z.B. Windows XP ausgewählt (s.g. Dual-Boot) gibt BOOTMGR die Kontrolle wieder an den NTLDR ab. Wird Vista ausgewählt startet der BOOTMGR das Betriebssystem.
Jetzt können verschiedene Probleme eintreten, die sich aber oft mit der Wiederherstellungskonsole von Vista leicht lösen lassen:
- Fehlt z.B. der BOOTMGR kann dieser einfach über “bootrec /fixboot” wieder installiert werden. (“BOOTMGR is missing”)
- Ist fehlerhafter Code im MBR des Rechner kann dieser einfach mit einem Vista-Kompatiblen MBR überschrieben werden: “bootrec /fixmbr”. Dieser Befehlt löscht oder ändert keine Partitionstabellen.
- Im Startkonfigurationsspeicher stehen keine Betriebssysteme: “bootrec /rebuildbcd”. Durchsucht die Festplatten nach Betriebssystemen und schreibt diese in den Speicher.
- Aktive Partition ist nicht gesetzt. ( Meldung müsste in Richtung “insert bootable media” oder so gehen). Die aktive Parition kann man über das Tool diskpart setzen:
diskpart
select disk 0
select partition 0
active
setzt die gewählte Partition als aktiv. (“0″ muss natürlich angepassst werden)
Die Faulen können natürlich auch einfach die /fixmbr /fixboot und /rebuildbcd nacheinander ausführen und schauen ob Windows wieder funktioniert…