Making full disk image with DD

Boot from the live cd. Mount your destination media to (say) /mnt.

dd if=/dev/sdXXX of=/mnt/mybackup.ddimg

To restore:

dd if=/mnt/mybackup.ddimg of=/dev/sdXXX

The destination drive should be the same size or bigger than the original.

A better way is using tar.

Mount the source to /mnt, mount the destination to /home (say)

tar cvfpz /home/mybackup.tar.gz /mnt

This can then be restored to any size drive:

tar xvfpz /home/mybackup.tar.gz

(After mounting source to /home and destination to /mnt.)

Then just install grub.

In addition to hatterman's great answer you can compress the image as it's taken using gzip like this:

dd if=/dev/sdx | gzip > /mnt/mybackup.ddimg.gz