FYI...When installing more than one OS, it is best to install the oldest OS first. Not doing so can create a myriad of problems. EasyBCD can usually help sort some things out but sometimes stuff happens, as in this case.
Win 7 shows as the C:\ drive because it was the first OS installed and is a PHYSICAL HDD. XP shows up as the G:\ drive because it's an extended partition. The system will always mount PHYSICAL drives before EXTENDED drives.
What we can try to do is manually replace the NTLDR, and ntdetect.com files and modify the boot.ini and hope that it solves the XP booting issue. We'll have to archive these files before we do so.
THIS IS VERY SERIOUS STUFF WE'RE ATTEMPTING SO BE VERY CAREFULL WHEN TYPING THESE COMMANDS. I would also strongly advise to you to backup any important files before you attempt this procedure. I currently don't have Win 7 yet but hopefullly getting it soon, so I don't know if we can extract the necessary files from the Win 7 DVD. Thats why we backup the ntldr, ntdetect.com and boot.ini files. This way, you can restore what was originally there and boot back to Win 7.
You'll need to boot the system into Win 7 and open a command window (search for cmd.exe).
NTLDR, ntdect.com and boot.ini should be in the root directory of the drive with the master boot files (C:\). The compressed file NTLDR.ex_ and ntdetect.com files are in the I386 folder of the XP DVD. Insert the XP DVD and close/exit the screen that opens. We will have to access the DVD from the cmd prompt.
From the cmd prompt (c:\Documents and Settings\???), type cd\ and press ENTER, this will take you to the root of C:\
From c:\, type dir /a press ENTERand you should see the file ntlder and boot.ini and ntdetect.com. Now we have to change the attributes on those files so we can change/edit them.
To see the file attributes, type attrib filename press ENTER
It should return with A SHR c:\filename
(a=archived)
(s=system)
(h=hidden)
(r=read only)
Type Attrib -s -h -r ntldr ENTER (removes the hidden, system and read only attributes).
Repeat the above command for the boot.ini and ntdetect.com files.
Type rename ntlder ntldr.bak ENTER (copies the file to ntldr.bak), then copy boot.ini boot.bak, and copy ntdetect.com ntdetect.bak. Making backup copies here.
Now type cd f: ENTER, then cd \i386 ENTER (prompt should change to f:\i386.
From the F:\i386 prompt, type expand ntldr.ex_ c:\ ENTER and copy ntdetect.com c:\ ENTER
Next, type edit boot.ini ENTER
This is what MY boot.ini looks like, yours will look different b/c I'm using a RAID 0 array. Note how the default= line appears, you'll need to change the partition portion (partition(1) to match what it shows for your XP partition. You'll also have two lines for the [operating systems] portion. Remove the line that specifies Win 7 and then select File Save in the edit boot.ini window.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn
Next, we need to restore the file attributes on ntldr, ntdetect.com and boot.ini. To do so type:
attrib +s +h +r filename for those three files.
This process should restore the XP boot files and let you boot to XP (knock on wood).
Cross your fingers, remove the XP DVD and REBOOT and see if you can boot to XP. If you can, then you'll need to boot with the Win 7 DVD and run the repair option so you can dual boot again.
In the event the excrement comes into contact with the rotary air dispersal unit, boot with the Win 7 DVD and run the repair option, or boot to a cmd prompt, remove the -s -h -r attributes from the three files we changed/modified and copy the backup files back to the original name, and restore the +s +h +r attributes.
If you ever have to reinstall, boot with XP DVD and create TWO partitions, a primary partition and an extended partition and install XP to the extended partition. Once you have XP properly setup, boot with the Win 7 DVD and install to the primary partition.
One of the quirks you can encounter is that when you have a primary and an extended partition, you CANNOT delete the primary partition w/o deleting the extended first, unless there's newer software out there that allows you to do so. If you were to obtain an additional HDD you could install XP to the new drive and Win 7 to whichever drive. Be advised that the boot files will always wind up in the root drive of the first installed OS. EasyBCD can let you easily change your boot device.
Good luck!!