An Ubuntu Live CD can help you a lot from repartitioning your hard drive to recovering your PC from malware infections. Here I will show how to repartition your hard disk using an Ubuntu Live CD. Dealing with partitions can cause in huge data loss if you are not carefull. So ensure no power cuts and then proceed.
Boot the Ubuntu Live CD. Then when you see a screen with options for "Try Ubuntu" and "Install Ubuntu" etc, select "Try Ubuntu".
After Ubuntu starts, go to "System > Administration > GParted".
Now you will see the GParted window with all your current partitions listed. Also with a graphical view. Here in my case, it is a 10GB hard disk with no partition(you can say only one which is labled with Windows XP). Don't get shocked with the size of the hard disk. I've done it in Virtualbox :)
Now I want to create two partitions from that single partition. So right click the partition and select "Resize/Move". Then you have to enter the new size. I'm shrinking the partition from 10GB to 5GB.You should enter the value suitable for you. You can also resize it graphically, but I recommend to enter the value.
After that click on apply(the green "Check"). The progress window will appear now. Don't touch anything till it is completed. If you do, I'm not responsible for any damage to your data.
On successfull completion, you will be presented with following window. Click close and the GParted window should refresh the new list of partitions.
Now I've a 5GB partition and 5GB of free unallocated space. To create a new partition, right click the unallocated space and select "New".
Enter the new size, label etc and don't forget to choose correct file system. You should choose "NTFS" if you deal with Windows.
Now you have to again click apply and all are like previous one. Similarly you can delete a partition by choosing the "Delete" option from the right click menu.
I did it in two steps. But you can also do it in one step. That is, resize the partition, then you can directly create a new partition from the unallocated space. Then click apply once and both operatitions will be completed one after another. But I prefer to do it in two steps.
The above operations will finish in very short time unless you want to keep "Preceding Free Space". It can sometimes take hours to complete depending on the amount of data. Partitioning your hard disk at beginning is a good choice. You can also use some good free Windows softwares like Easus Partition Master Home Edition. It also provides similar GUI and functionalities like GParted.