Here is a little howto on the topic. I also added this to my (german) article on successfuly setting up and running Solid State Drives under Linux
GPT with U-EFI just works, as GPT is part of the EFI-specification.
Booting a GPT-device with a standard BIOS sometimes needs a bootflag, but more often needs a bios_grub flag, respectively a bios-boot-partition. Thats where Grub Stage 2 resides (Stage 1 is within the MBR). But as with Grub2, Stage 2 does not fit inside the MBR, it resides right behind the MBR. This space does not exist with GPT-disks. So here we need a small bios-boot-partition. A few kb would be enough, but to stick to the alignment, specialy for SSD, we should choose 1 MByte here. Both GParted and gdisk know how to handle bios-boot-partitions.
In GParted, just create an unformatted partition of 1 MByte size and flag it as bios_grub flag. In gdisk, you create a partition and make it of Type EF02