I had this problem on my Toshiba laptop which has an ATI Radeon HD 7600M Series graphics card in it. I could see the Grub menu but after selecting the option for Ubuntu 12.04 my laptop screen would begin to rapidly flicker at such a speed that it was a bit like a strobe light. I found that if I closed the laptop lid for a few seconds during this boot-up flickering (which would send the laptop in to sleep mode) and then open it again then the flickering stopped (once the laptop had resumed from sleep) and I could see the Ubuntu login screen. If anyone else has the same problem then try the following.
Firstly, the quick answer is to try changing "gfxmode $linux_gfx_mode" in Grub to "gfxmode 800x600". My desktop runs at 1600x900 which works fine, however, this seems to cause the strobe-like flickering during the boot screen. Forcing the gxfmode setting to the lower resolution prevents the flicker for me. Once you have done this you may see a few flashes of the screen just before the login appears. I believe that this is most likely caused by the display changing to the higher resolution of the desktop, but this only lasts a few seconds and is much more bearable than the strobe flicker.
Ok, now for the more detailed "newbie" friendly version of the steps:
Install Grub Cusomizer (optionally, if you know what you are doing you can edit Grub manually to achieve the following steps). Here's how you install Grub Customizer from the command line:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Open the Grub Customizer:
Applications->System Tools->Administration->Grub Customizer (Ubuntu 12.04 Gnome)
or
sudo grub-customizer (from the command line)
You will be asked to enter your password at this stage to allow Grub Customizer to make any changes.
Next, you need to make a copy your existing Ubuntu Grub entry. This will ensure that you will always have a working (but flickering) Grub menu option if this does not work. Wait for the List Configuration (existing Grub entries) to load. Now find the entry that you use to launch Ubuntu which should look something like "Ubuntu, with Linux 3.5.0-32-generic". Right-click on that entry and choose Edit. Go to the Source tab and copy the text. The entry that you are copying should look something like this:
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='(hd0,gpt6)'
search --no-floppy --fs-uuid --set=root 485e79a9-21be-4ce3-84cd-f7157aabac9b
linux /vmlinuz-3.5.0-32-generic root=UUID=bcc19378-be9d-4df2-bf4a-e6c60da1489a ro quiet splash $vt_handoff
initrd /initrd.img-3.5.0-32-generic
The line that you will need to alter later is "gfxmode $linux_gfx_mode". If you don't see a line beginning gfxmode don't panic at this stage because you are going to create a test entry which may still work anyway.
Once you have copied the Source for your existing entry click Cancel to return to List Configuration. Now on the top menu choose "Edit->New" to create your new entry (which will be for testing if the solution works at this stage). Paste your copied code in to the Source section.
Next you need to modify the gfxmode entry. Find the line that begins gfxmode and change it to the following (if you don't have this line then try adding it):
gfxmode 800x600
Click OK to save your new entry then give your entry a name in the List configuration section, something like "Ubuntu, with no boot flicker".
Click Save (top left of the Grub Customizer) and wait for
Grub Customizer to update the configuration.
Now reboot your machine. On the Grub boot menu select your new entry. If this works then the flickering should have gone and you should see the login screen after a short amount of time (possibly with a few mild screen flickers just before it as the resolution changes).
If you still see the rapid "strobe" flickering then go back to Grub Customizer and check that you selected the correct option and that you added the gfxmode 800x600 entry correctly. You may need to reboot your machine again and select the default (normal) Ubuntu Grub entry to achieve this if you are seeing errors when selecting your new entry. I recommend that you do not remove the original Grub entry even if this does work so that you can always use/refer to it if required.
If this works for you please let us all know by adding a post here and telling us what version of Ubuntu and which graphics card this worked for. If you are not sure what graphics card you have either tell us what type of Laptop/Desktop you have or run the following command to find out:
lspci -v | grep -i vga
Good luck!