Well, I have done migrations similar to this by booting with both disks attached and a Live cd.
- You recreate the partition info of the first disk in the second one, possibly making some partitions bigger to use the extra space, and so.
- Then suppose you have /dev/sda{1,2,3,4} and want to copy them to /dev/sdb{1,2,3,4}, you mkdir /mnt/sd{a,b}{1,2,3,4} and mount each partition in each dir (or if you want to do it one by one you can make a /mnt/origin /mnt/destination and mount/umount each pair)
- Then you do a cp -avr /mnt/origin/. /mnt/destination/ (or a cp -avr /mnt/sda1/. /mnt/sdb1/
- Wait while you browse the web :)
- Remember yourself to reinstall grub, lilo or whatever bootmanager you use.
Doing it that way you will defragment the files as they are copied, you can also change the filesystems in the partitions (migrate from reiserfs or ext3 to ext4, etc.), but please, remember to edit /etc/fstab after copying to suit the new situation.