| This page describes the configuration and properties of a correctly set-up and working Windows XP - Windows Vista dual-boot. Don't be put-off by the title though, these same steps apply to any legacy NT-based operating system, meaning that these same steps are used (without exception) to boot into Windows 2003, XP, 2000, Neptune, and NT. |
| This article refers to the technical aspects of the Windows XP bootloader and provides background information needed to fully understand how to correctly dual-boot Windows Vista with Windows XP. If you're not interested in the mechanics of the boot process and aren't doing anything especially complicated, feel free to skip ahead to the step-by-step dual-booting instructions: |
The XP Boot Process
In the past, Microsoft has designed its operating systems in a way that requires use of a separate man-in-the-middle bootloader to load that OS. With Windows Vista and Longhorn Server, that has changed. The new Windows Vista bootloader can call up each operating system directly and gives you greater control over how your system boots. Unfortunately, this feature can only be used with Windows Vista and above, and as a result, makes a bit more difficult to load Windows XP from the shiny, new Vista bootloader.
NTLDR, NTDETECT, and BOOT.INI
Windows NT, Windows 2000 (Server), Windows XP, and Windows Server 2003 need something known as the NTLDR bootloader to load up the operating system. NTLDR is stored in the root partition of the FAT16, FAT32, or NTFS partition set as active and primary. This 16-bit program calls up several other files that need to be in the same root directory that carry different tasks to get your system up and running.
Once NTLDR has finished calling these child processes, it will display a menu (the "boot menu") which gives you a choice of which Windows NT-based operating system to load.
NTLDR uses a file called NTDETECT.COM to detect and configure access to the various hardware components of your machine. Without NTDETECT.COM, NTLDR cannot access your hard drives and load Windows. NTDETECT.COM must be present in the same partition root as NTLDR and BOOT.INI, or else Windows XP will fail to load.
A file called BOOT.INI stores information regarding the physical location(s) of your various Windows NT-based installations. NTLDR accesses this file to get a list of the installed operating systems and display them in the on-screen boot menu for the end user to pick and OS to load into.
If BOOT.INI is missing from your PC, contains incorrect data, is improperly configured, or is out of date; you'll never get that dual-boot to work. You can see the list of boot.ini-associated errors in the troubleshooting section, and learn more about boot.ini and how to create or fix it in our Rebuilding Boot.ini page.
Requirements
The "active" partition on the first drive must be set as "primary" and formatted with the FAT16, FAT32, or NTFS filesystem. This partition should contain NTLDR, NTDETECT.COM, and BOOT.INI. These files will not be read from any other partition.
The entries listed within BOOT.INI can be on the first 4 physical hard drives attached to your system, and do not need to be installed to the "active" partition. On modern computers, the partition with Windows installed on it does not have to be a primary partition either, as long as the boot files are in the active primary.
Booting Windows XP from the Vista Bootloader
Download the latest build of EasyBCD 2.0 It contains the code to copy the essential NTLDR and NTDETECT.COM files to the proper location and to create a properly configured BOOT.INI, finding and identifying your XP installation(s) automatically.
EasyBCD configures the Windows Vista bootloader to call NTLDR when you attempt to load a Windows NT-based operating system other than Vista and Longhorn Server.
The "Drive" option in EasyBCD for Windows XP and below does not refer to the drive with Windows XP on it, but rather the system boot drive with NTLDR, NTDETECT.COM, and BOOT.INI
As a result of Microsoft's requiring NTLDR be used to load Windows XP, you cannot use the Vista bootloader to directly enter a Windows XP (and below) installation. Instead, you can only add an entry that displays the NTLDR boot menu from where you can choose which XP (and below) installation to boot into (assuming you have more than one). This is the reason you see two boot menus if you need to multi-boot Windows Vista with more than one "legacy OS."
There is no workaround for this behavior. If it really bothers you that much, contact Microsoft and ask them (nicely!) to fix this behavior. Good luck with that!
EasyBCD "greys" the drive field to prevent you from altering it to an incorrect value. Don't go using the "change settings" facility to point the BCD at your XP partition because you think EasyBCD "got it wrong". It didn't.
Read the preceding paragraphs again until you understand where the XP boot files have to be and why EasyBCD has to point there.
External Links
This section provides links to external (non-NST) guides regarding dual-booting Windows Vista & Windows XP with EasyBCD.
- APC Magazine's Vista & XP Dual Boot Guides - An excellent step-by-step guide with lots of pictures.
- The Starman's Boot.ini Guide - The reference for boot.ini-related problems, though a little hard on the eyes.
- Victor Laurie's Guide to Boot.ini - A quick and easy reference for the correct configuration of boot.ini.