The best partitioning tools are in Linux. Both cfdisk and fdisk are excellent tools which carry out partition creation and deletion but not formatting. The former is reversible whiole the latter is irresversible.
Your hard disk showed up by the command "fdisk -l" tells us that you have used between cylinder 2 to 1215 for an extended partition with 4 logical partitions sda5 to sda8 inside. Then between 1216 to 5690 you have your Xp in sda1. There is about 33Gb space, between 5690 to 9729 cyclinders, after sda1. Your 80Gb hard disk has a total 9729 cylinder (1 cylinder=225 heads x 63 sectors x 512 bytes = 8,225,280 bytes or 8.22 Mb)
Linux reserves sda1 to sda4 as primary partitions. If you want more than 4 you need to give up one primary for it to become an extended partition which currently is your sda2.
When you partition a hard disk device sda the command is
sudo cfdisk /dev/sda
You can do any partition arrangement with cfdisk but the partition table will only be changed if you select "write" and confirm with a "yes". You learn a lot by doing the partition in Linux terminal. If there is something cfdisk refuses to do then what you want is illegal in PC technology. Any partition table created in Linux can be read safely in another PC operating system.
Since you are not familar with the partitioning I shall suggest you to do the following
(A) Restore Xp's MBR by following Task B1 or B2 of Just booting tips in my signature. This makes you free from Ubuntu and Grub as you can boot directly to Xp without the need of Linux. It is also a good exercise to know that how to restore Xp's booting process. You Ubuntu will be temporarily unbootable.
(B) Boot up a Ubuntu CD and use it as a Live CD. Go to a terminal and partition the hard disk by command as usggested above
(C) I recommend you delete sda7 to sda8. sda2 will not be displayed in cfdisk (but visible in fdisk) because an extended partition is just a name and has no storage of its own. It is effectively a border. You can have only on extended partition in any disk and your current size of sda2 is too small and is about 10Gb (1215-2=1213 cylinders). I suggest you use the space 1th to 1215th cylinder to create a "primary" partition which will be named sda2 by cfdisk.
I suggest you then use the space starting from 5691th cylinder for Linux. Make your first logical partition of 1Gb for swap and change its type to 82 as a partition created in Linux is always Type 83 unless you override it by the "Type" parameter. It will be sda5 and sda3 will be used as the extended partition even without your knowledge. I suggest you make another Linux partition say 20Gb large for sda6 for Ubuntu installation.
You then have sda1 Type 7, sda2 Type 83 (or change its type to Type c for fat32 if you want) as spare, sda5 as swap Type 82 and sda6 Type 83 for Ubuntu with 20Gb. That should leave you with another 13Gb unallocated space for future usage.
Once happy with this layout select "write" and confirm with a "yes".
After exiting cfdisk you seek a second opinion of your partition table with command
and will see sda3 has used up as I stated.
(D) Once you have the new partitions sda5 and sda6 ready you can click Ubuntu installer and install Ubuntu into sda6. The installer icon is visible at the desktop of the Live CD. You basically tell Ubuntu installer that you are an expert and want to select /dev/sda6, format it in Ext4 filing system and mount it as /. Ubuntu will then install itself in sda6 , put the boot loader in the MBR and dual boot Xp automatically.
You work out how best use the sda2 later.
Reason for deleting your current sda5 to sda8
- These partitions are too small. The extended partition sda2 is also chopped up by sda1 in the middle of the hard disk so you cannot increase the size of sda2 even you have 40Gb unallocated space which is only good for another two primary partitions sda3 and sda4. An extended partition must work as a continuous chain in a hard disk. Your 13Gb unallocated space can be used for logical partitions sda7 to sda15 or just one more primary sda4.