Trying to get Triple-Boot XP system ...

#1
For complicated reasons, I'm trying to build a system that will boot one of three WinXP systems. Having used EasyBCD to greatly simplify XP+Win7, I thought I'd be "clever" and make a user-friendly system by adding Win7, but only to then load EasyBCD and configure it to boot the three XP systems.
My first attempt almost worked. I have three disks, each with two primary partitions. D0P0 contained the original WinXP system. I turned off this disk, and installed a second WinXP system on D1P0. I then re-enabled Disk 0, so I had the following --
Disk 0, Partition 0, WinXP #1 Disk 0, Partition 1, empty
Disk 1, Partition 0, WinXP #2 Disk 1, Partition 1, empty
Disk 2, Partition 0, empty Disk 2, Partition 1, empty
When the system boots, it (of course) runs WinXP #1, unless Disk 0 is "turned off".
I then installed Windows 7 on Disk 2, Partition 1. I installed EasyBCD 2.0, and instructed it to make D0P0 (WinXP #1) the "default" disk, D1P0 (WinXP #2) another WinXP disk, and to identify itself as "Windows 7 (do not use)". When the system rebooted, it "did the right thing" -- gave me three options, and whichever I chose, I got an operating system running on a C: drive.
Then I "got greedy". I removed the Vista bootloader (saying "boot to XP" and rewriting the MBR), erased the Win7 partition, and built a third WinXP system on Disk 2 Partition 0. Actually, I cheated -- I backed up the system on D1P0, and restored it on D2P0 (with both Disk 0 and Disk 1 "turned off" so Disk 2 was the only disk during the restore). I then built Win7 again on D2P1, so I now have the following:
Disk 0, Partition 0, WinXP #1 Disk 0, Partition 1, empty
Disk 1, Partition 0, WinXP #2 Disk 1, Partition 1, empty
Disk 2, Partition 0, WinXP #3 Disk 2, Partition 1, Windows 7
When I loaded and ran EasyBCD 2.0 (from Windows 7), it had some old entries from the first time I did this, so I deleted them, leaving only the Windows 7 entry. I then tried to add a new entry, "pointing" to D0P0, D1P0, and D2P0 (using the drive letters that Windows 7 had assigned to these partition). In every case, I got the message "EasyBCD failed to detect a valid version of Windows NT-2003 on the selected drive". If I let it search "automatically", it says it fails to find a valid installation on "all mounted drives".
Any suggestions? I'm not sure if I need to go to "Bootloader Setup" or "BCD Backup/Repair". I'm also not sure which path in the Help files to follow, as I can't find this particular error message.
 

Terry60

Knows where his towel is.
Staff member
#2

Terry60

Knows where his towel is.
Staff member
#4
The latest
 
#5
SUCCESS!!! I installed EasyBCD 2.1 (beta), and it allowed me to add all three of my Windows-XP systems. Now, when my machine boots, it gives the user the following option:
Win-XP for Hardware #1 (default)
Win-XP for Hardware #2
Win-XP for Hardware #2 (test system)
Windows 7 (Do not use)
I kept Windows 7 in the menu, as I'll need it to "manage" the booting of my XP systems, but don't want "ordinary users" going there. As it happens, the Win-7 system has only one user's account (mine), so they can't use it anyway.
Many thanks for the help, suggestions, and fixes. I'm glad I donated ...
 

Terry60

Knows where his towel is.
Staff member
#6
You can remove the W7 entry from the BCD if you don't wish others to know it exists, and you should "offline" it in each of the XPs for the same reason (and to protect it from corruption)
http://www.vistax64.com/tutorials/127417-system-restore-points-stop-xp-dual-boot-delete.html
You can maintain the BCD entries, should you need to, by using EasyBCD from XP. It runs under any Windows which has .NET 2.0 framework installed.

You can of course use NTLDR's multi-boot capability for your 3 XPs and remove W7 altogether if you wish.
 
#7
Terry,
Thanks again. I didn't realize that EasyBCD could be run from XP! I will use it to "hide" Win7, as you suggested.
I'm intrigued by your comment about NTLDR. The reason I went this way (using Win7 to multi-boot WinXP) was that I wanted all of my WinXP's to "look" like they were running on C:. This was because several of them were "clones" (image copies) of a system built on C:. I tried doing a "pure-XP" dual boot, but discovered that when I booted the copy that was on drive D:, when it came up, it was still on D:, not on C: (this tends to "confuse" the registry entries which all point to C:smile:. I knew that if I built a Win-7 system on, say, F:, that when it ran, it would be C: ("magic"), and that BCD would be able to "swap" drive letters as needed. Is there a way to work in a pure XP environment and have whatever OS is "active" think it is on the C: drive (so "cloning" can work, i.e. the registry entries that point to C: will be pointing to the disk with the currently-running OS)? If not, my "mixed" environment of WinXP with Win7 doing the booting seems to work.

BS
 

Terry60

Knows where his towel is.
Staff member
#8
Any Windows OS, installed in isolation, will call itself C:
Remember, disk letters aren't real. They don't exist on the HDD in the way the volume label does (It's part of the MBR partition table)
Disk letters are virtual labels, just entries in the registry of the running system. Hence, what one system calls all of the partitions it sees is of no consequence to any other Windows OS. It will call them what it wants.
Things change if an XP install can see other Windows OSs as you install it, or if you install any Windows from another running Windows rather than by booting the DVD/CD. In those cases the install can choose a letter other than C: (the next unused letter).
If you clone an existing OS, then as a true clone it should replicate the disk letter mapping of the original completely. Some partition management software refers to "cloning" when it actually makes a modified copy (not a clone in the true sense), where it changes the disk letter (and all registry references to it) in the copy. Sometimes the clone accidentally gets a letter change and the result is an unbootable system.
With Vista/7, the boot gets just far enough to invoke regedit and fix the problem, with XP it doesn't.
Have a read of this with regard to successful cloning of XP to avoid such problems.
http://www.goodells.net/multiboot/partsigs.htm
 
#9
Windows 7 & 3 XP triple boot

The boot loader process is different for Windows 7-Windows Vista versus Windows NT-Windows 2000-Windows XP. Easy BCD is swapping out the windows XP boot.ini file to get the boot process to jump to the correct XP partition.

“Then I "got greedy". I removed the Vista bootloader (saying "boot to XP" and rewriting the MBR), erased the Win7 partition, and built a third WinXP system on Disk 2 Partition 0. Actually, I cheated -- I backed up the system on D1P0, and restored it on D2P0 (with both Disk 0 and Disk 1 "turned off" so Disk 2 was the only disk during the restore). I then built Win7 again on D2P1, so I now have the following:
Disk 0, Partition 0, WinXP #1 Disk 0, Partition 1, empty
Disk 1, Partition 0, WinXP #2 Disk 1, Partition 1, empty
Disk 2, Partition 0, WinXP #3 Disk 2, Partition 1, Windows 7
When I loaded and ran EasyBCD 2.0 (from Windows 7), it had some old entries from the first time I did this, so I deleted them, leaving only the Windows 7 entry. I then tried to add a new entry, "pointing" to D0P0, D1P0, and D2P0 (using the drive letters that Windows 7 had assigned to these partition). In every case, I got the message "EasyBCD failed to detect a valid version of Windows NT-2003 on the selected drive". If I let it search "automatically", it says it fails to find a valid installation on "all mounted drives".”

This is where you went wrong. The boot.ini files for the XP’s got deleted when you blew away Windows 7. When you chain boot load different versions of Windows Microsoft says you should do it from oldest to newest. What we’re trying to do here is have easy BCD be the master boot loader and allow individual options for each OS in which case its best start with Windows 7 and then load XP. The boot.ini files will end up in the 100 MB hidden boot partition made by Windows 7 at the front of the hard disk that you install Windows 7 on.

What I recommend is that you install manually Windows 7 to the front of the first hard disc. Give it say a 45 GB partition. Then Windows 7 will also make a 100 MB partition at the front of the hard disk. In that partition is where the Windows boot.ini file will end up later on. Then boot into a live session of Ubuntu 10.04. Make an extended partition on the rest of the first hard this. Also, make an extended partition on the second and third hard discs taking up all the space on those two discs. Then make a logical partition in the extended partition on the first part disc for XP-1. Then make a logical partition in the extended partition on the second hard disk for XP-2. Then make a logical partition in the extended partition on hard disk three for XP-3.

Install Windows XP into its partition on the first hard disk. Use the Windows 7 boot loader restore capability to restore boot capability to Windows 7 if needed. Boot into Windows 7. Install easy BCD boot loader and Windows 7. Make an entry for Windows XP-1. Reboot and make sure the two boot options work correctly. Then repeat the process for the other two Windows XP’s. I would keep Windows 7 even if you don’t need to use it. You’ll need to be able to boot into it if you have to make any corrections to easy BCD. You can use a live session of the Ubuntu to shrink the partition down to get back the excess space.

Note that Windows XP can be installed into a logical partition. If you don’t have a reason to do so I would recommend not making any primary partitions on the second two hard disks. If you do so the lettering scheme will get quite jumbled especially with three hard disks. If you go with primaries on all three hard disks C will be the first drive letter that is not a boot or hidden partition on the first hard disk. D will be the first primary partition on the second hard disk. E will be the first partition on the third hard disk. F will be the next partition on the first hard disk which will be XP-1. Then the partitioning lettering will flow across the rest of the first hard disk. Then across the rest of the second and third hard disks. You’ll need a map to figure out where things are at.

See boot process:
http://neosmart.net/wiki/display/EBCD/Windows+XP
 

Terry60

Knows where his towel is.
Staff member
#10
@pillars
I'm afraid your last para is no longer correct.
That lettering scheme, C D E being 1st primary on 1st/2nd/3rd HDD no longer applies after WME.
W9x dynamically assigned letters at every boot, using that logic, hence terrible problems trying to add a new HDD to an existing setup.
With XP onwards, letters are assigned by the OS if you don't do it yourself, but if you assign letters, they stick to the partition ID via registry entries, across boots and despite configuration changes.
Only "system" "page" and "boot" partitions are unable to be changed via Disk Management, and letters you haven't assigned yourself are assigned by the OS in alphabetic sequence in the order they're detected, not by that "1st primary" rule.
It makes no difference whether partitions are primary or logical with regard to possible confusion of letters, and I'd always advise the opposite philosopy to the one you espouse. Don't use logical partitions unless you absolutely cannot avoid it. They cause too many other boot complications when used for Windows OSs.