Grub2 supports GPT, so you'll have no problem booting from the new drive. Whether your BIOS can boot a GPT drive is a different matter. If you switch your BIOS from legacy mode to EFI mode, you'll need to install the grub-efi package.
You'll need to install the bootloader on the new drive. The easiest way is to copy the data to the new drive first, then chroot into it and run
grub-install, passing it the new drive as a command line argument. If you have both drives at this point, you may need to edit
There are several ways to copy the files. The nicest way is to set up mirroring between the two drives via mdraid (Linux software RAID) or LVM. This has the advantage that you can keep using the system while it's setting up the mirror; once it's done, install the bootloader, reboot, break the mirror, and if desired enlarge at least one filesystem to make use of the extra space. If your filesystems are on PC partitions, you can convert them to RAID1, but it's fiddly. You can take this opportunity to put your filesystems on LVM volumes over RAID1 volumes — it's simple and makes maintenance easier.
If a large proportion of a filesystem is occupied, it's faster to copy the filesystem wholesale than to copy the files. It's difficult to give a threshold because that depends not only on the amount of disk space that's in use but also on the distribution of file sizes. To copy a filesystem wholesale, you can use
cat </dev/sdOLD1 >/dev/sdNEW1 where
sdOLD is the old disk (e.g.
sdNEW is the new disk (e.g.
sdb). Don't do this while the filesystem is mounted.
If you copy all the files, make sure to preserve all the metadata, especially ownership and partitions.
cp -ax /media/old-root /media/new-root works.
If you've rearranged the partitions, make sure to update
/etc/fstab. You may need to update
/etc/crypttab if you have encrypted volumes.