Auf meinem Vista-Rechner sind drei Systeme (Windows XP, Windows XP x64 und Vista) installiert. Jedes System befindet sich auf einer primären Partition, vor der Installation werden die beiden anderen primären Partitionen ausgeblendet. So ist sichergestellt, dass die Laufwerke in der erweiterten Partition unter jedem System gleich sind (D, E und F). Im normalen Betrieb sind dann wieder alle drei primären Partitionen sichtbar und sollten über das NTLDR-Bootmenü der ersten Partition (x64) gestartet werden.
Mit Vista hat sich Microsoft leider vom NTLDR-Konzept verabschiedet und benutzt stattdessen nun einen Boot Configuration Data Store. Dieser Speicher ist nicht mehr so ohne weiteres editierbar. Die Konfiguration lässt sich nur noch mit dem Kommandozeilenprogramm “bcdedit.exe” bearbeiten, dessen Syntax ist aber nicht ganz so einfach zu verstehen.
Nach der Installation von Vista habe ich nun versucht, die beiden XP-Systeme in das Bootmenü mit aufzunehmen. Während der Installation waren sie versteckt, ansonsten hätte Vista ihnen automatisch die Laufwerksbuchstaben “D” und “E” zugeteilt. Die Laufwerke in der erweiterten Partition wären dann zu “F”, “G” und “H” geworden – ein nicht gewollter Zustand. Über Google sind zwar einige Tips zur Verwendung von bcdedit.exe zu finden, viel Erfolg hatte ich aber nicht.
Blieb also nur noch der Ansatz, über den NTLDR zu gehen. Ich erinnerte mich daran, dass man ja auch Linux über den NTLDR starten kann, wenn man den Bootsektor der Linuxpartition in eine Datei speichert und den Dateinamen dann in die Boot.ini einträgt. Mit Hilfe von Tiny Hexer habe ich den ersten Sektor der Vista-Partition als BOOTSECT.VIS gespeichert und in das Hauptverzeichnis kopiert, in dem sich auch NTDLR befindet. Nun musste ich nur noch die neue Option eintragen und beim nächsten Bootvorgang hatte ich dann die Wahl zwischen allen drei Systemen. Vista lief nach dem Start über die Bootsektor-Datei ganz normal hoch.
Die Boot.ini sieht nach der Anpassung dann so aus:
[boot loader]
timeout=3
default=C:\BOOTSECT.VIS
[operating systems]
C:\BOOTSECT.VIS=”Windows Vista”
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=”Windows XP Professional” /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Windows XP Professional x64 Edition” /noexecute=optin /fastdetect

Verdammt guter Tipp, danke. Auf die Idee muss man erst mal kommen!