I had vista on one partition, and Windows 7 on the other. I re installed XP onto the Vista partition, formatted + installed. Worked flawlessly. On startup I couldn't choose between windows 7 and XP and it would only boot straight to XP no matter what I did (why is it so hard to change the damn boot partition ffs???)
Foolishly - I changed the drive letters themselves physically. Swapped C > D. My logic was it would boot on D instead which has Windows 7 installed so I have no idea WHY it doesn't. Now all I get is ntdll.dll unknown hard error whenever I try to boot the computer with the XP disc and choosing to boot from disc. When I boot from the HDD it just freezes on the ''welcome'' XP screen. I've tried f2 to do the recovery with the disc in but the same ntdll.dll hard error comes up.
What the hell do I do? I'm screwed and need my PC in the next hour to finish up some work.
Put the drive letters back the way they were. When multi-booting you MUST install the OS's from oldest to newest, in your case xp, vista, then 7. You have now overwritten the windows 7 bool loader with xp's boot loader which does not know anything about vista and 7 since it's older. This is why you can no longer boot.
I do beleive you need to use the win 7 install disc to do a repair install of win 7 in order to get win 7 running. You may also need to use bcedit or easybcd once you have win 7 running again in order to tell the boot loader that xp is also on there.