On my machine booting takes more than a minute which is annoying when I see that Windows 7 boots in 20 seconds.
Here is what I get when the machine is booting.
How can I see what happens when booting up?
When you get to Grub (hold left shift on boot), edit the top option by pressing e and search the boot command until you see the two words "quiet splash". Delete these from that line and press Control+X to boot.
This will show you what's happening behind the scenes (and what it's getting stuck on).
This is temporary. It will revert to the old behaviour on the next boot so it's fairly safe.
If you want to make it permanent, edit
You can also use a program called Bootchart (click to install: bootchart and pybootchartgui) to plot a diagram of everything that's happening while booting. It will point out where most time is spent and whether there is anything seriously wrong.
This is what a typical bootchart looks like.