Allow me to illustrate with an analogy. Partitions are like fences between houses/properties. Because of these fences, the mailman knows whose property begins where and ends where, so he knows how to deliver the mail. One day the fences are lost (on the disk, the partition table is corrupted), so now the mailman is confused. You call in a surveyor to figure out where the fences used to be (this is what gpart or testdisk does). But these surveyors are very cautious. They will not set up fences without your permission. They survey the land, and then report to you that they have guess that a fenceline is here...and here.... If you agree with his report, you tell him to go ahead, and he will set up the fences. The reason why the surveyor waits for you to direct him before he sets up the fences is because he doesn't always get it right.

In your case, gpart has surveyed the disk and has reported to you that he thinks you have a 28-29 GB Fat32 partition on the disk (and that's all he found). If you agree, you can instruct gpart to write it to the disk (i.e. set up the new fence). This is done using the -W option. See lower down on the manual page, or else here is a better explanation of how to use gpart:http://www.stud.uni-hannover.de/user/76201/gpart/

Testdisk is the same. Run testdisk, select the disk (in your case /dev/sda) and the partition type (usually Intel) and select the "analyse" option. Testdisk then gives you his survey results. You can choose to "proceed" and you will come to a place where you can choose to ask testdisk to "write". I suggest you try testdisk because the interface is slightly easier to use. If you like, come back and show us your testdisk "analyse" results and we can take it from there.

You are very right. You must try to understand exactly what you are going to do before proceeding. Try also googling for gpart and testdisk. You might find examples and tutorials.

On your reluctance to reboot, I can understand, but I really don't know how to make the new partitions take effect without rebooting. May be we should solve the boot up problems also. What did you see when the boot up hung?