I know a while ago I had a program to partition my hard drive, but I can't remember what it was. Also, how do I install XP and Vista on the same hard drive?
First thing to note is that all Vista restore points are lost once you load XP in a dual boot configuration. I'm presently working with a beta tool that hides Vista from XP.
While both Windows installers offer partitioning tools an independent free drive tool works best for seeing the two primary partitions created that will be needed. The Vista installer now sees the option for formatting as well as resizing partitions while booting from the dvd itself.
The common thought is to see the older version installed first where the Vista installer will later add XP in as a boot option then becoming the default version of Windows. There are a few retail programs for drive partitioning like Partition Magic for one while Linux also offers a free Gnome Partition Editor commonly known as GParted live. That can be used on a cd-r or usb flash drive. http://gparted.sourceforge.net/screenshots.php
That article will goof you up for seeing XP added in. That was first tried out when Vista was first released and failed to see working results.
Currently I've worked with a new beta tool not ready for release that incorporates Grub4Dos in it for actually seeing XP added in following Vista. Once you install XP you then download and install the EasyBCD tool and Net framework 2.0 while that is now part of the MS updates that will go on anyways.
You then have to make sure only one copy of the ntdetect.com, ntldr, and boot.ini files are present on the default boot drive. When first using the EasyBCD go to the boot manager and select the "reinstall the Vista boot loader" option followed by selecting the "NT/2K/XP/2003" item from the dropdown list and creating the new entry there by giving a name and clicking the make new entry button.
From there you see EasyBCD the latest being the 1.7.1 release create the new entry for XP where you can adjust the boot time displayed as well as set which version will be the default. The EasyBCD tool is found at http://neosmart.net/dl.php?id=1