After reading this guide and others on the web, I finally managed to get dual boot Windows 7 and XP working. Like to share my experience with others here.
I am using Windows 7 RTM and Windows XP SP3 Install CD, with a new unformatted 1 TB HDD, and a backup WinXP running on a different HDD.
I used my old XP installation to partition my new HDD for Windows 7 and XP partitions. I then rebooted from Win 7 DVD and tried to install Win 7 on the pre-formatted partitions. No go. Win 7 won't install unless I delete the existing partitions and recreate it from scratch.
I removed all partitions and let Windows 7 DVD create a 200GB partition (via Advanced > New..) . Win 7 created the System Reserved partition (100MB) and and the OS partition. (Note that at this time there is no unallocated 1MB partition in front of the System Reserved Partition.) I then started Win XP CD, created a new partition 200GB partition using WInXP CD (text based menu) and started the installation there. Upon rebooting, I get the following message. "Error Loading Operating System"
Using the Win 7 DVD startup repair tool does NOT resolve this issue. When I booted up using my backup OS on another drive, I noticed 1MB unallocated space in front of every partition on my new drive.
I restarted and assigned a drive letter to "System Reserved". Does not help. Same error and mysterious unallocated 1MB space appears before each partition after Win XP CD partitioning and formatting.
Stuck at the previous issue for several hours, I decided to try another approach. I deleted all partitions on my new drive. I started WIn 7 DVD, and this time let Win 7 OS partition take my whole 1TB drive. (emulate pre-install conditions) After Windows 7 installation is done, I booted in Win 7, went to Disk Management and re-partitioned the drive to free up 800GB of unallocated space. I then rebooted and started my WinXP installation CD. Upon entering Win XP CD text-based partitioning menu, I noticed a WinXP CD detected a 1MB unallocated space before my "System Reserved" partition which wasn't there in previous tries.
I let XP take the remaining 800GB space and started XP installation. Upon rebooting, instead of "Error Loading Operating System", I get...
...(a blinking cursor.)
Sensing some hope, I put in my Win 7 Installation CD and ran startup repair tool. Upon reboot, my system was able to boot into WIn 7 OS again.(But no dual boot menu).
From then on I just installed EasyBCD Download EasyBCD 1.7.2 - NeoSmart Technologies
, created a WinXP entry, and rebooted. This time the dual boot menu came up, I selected XP option and the XP install continued from there.Success!
I varied Attempt 4 by pre-creating the XP partition beforehand in Win 7 Disk management Tool (as I couldn't resize the XP partition to the size I want after Attempt 4), loading Win XP CD, reformatted that partition (as I heard XP NTFS not truly compatible with Windows 7 NTFS), and installed XP into that partition. Re-run startup-repair tool, and the repeated the rest of the steps. This method also works. Seems like as long as the unallocated 1MB partition was created by Win 7 Disk management tool, the startup repair tool works. However, If you use the Win 7 DVD (Advanced > New..) partitioning method, the unallocated 1MB space will not be created at the front of disk and Win 7 startup repair tool will fail.
I then spent the other 1/2 of the day figuring out how to get Kubuntu booted as the 3rd OS, but that's a story for another day.