From a live CD, delete your swap partition. Then create an extended partition occupying the total remaining free space on your drive. In the extended partition, recreate your swap. Now, you will be able to create additional partitions in the remaining space. Indeed, a drive can hold at most four primary partitions. To fit more partitions on a drive, logical partitions within an extended partition must be used.
You will need now to update the UUID of the swap partition in the fstab file of your Ubuntu installation. Still from the live session, open the fstab from the system partition of your Ubuntu 8.o4 partition in an editor. Your swap will be announced with a line such as (the first line preceeded with # is just a comment)
UUID=17053c24-7853-42ba-af90-b8275742dd0b none swap sw 0 0
Use the command "sudo blkid" to reveal the new UUID of your swap partition. It will look like
The second line is the one of my swap. For me, the numbers match, but for you not anymore: that is what you are correcting. You can just copy the UUID="...." part of that line (Highlight and Ctrl+Shift+C in the terminal) and paste it over the "UUID=..." part in your fstab.
/dev/sda1: UUID="c9cb8b29-152a-47ac-b952-5b9909a290ba" TYPE="ext3"
/dev/sda5: TYPE="swap" UUID="17053c24-7853-42ba-af90-b8275742dd0b"
After loading Ubuntu 8.04, check whether your swap is correctly recognized and used: open an terminal and type "cat /proc/swaps"
It should be listed like
If not, double check wether the UUID in fstab and that of the swap match.
Filename Type Size Used Priority
/dev/sda5 partition 3028212 36564 -1