I use Clonezilla Live to make images of my system OS's (I have 5 linux installs in a multiboot arrangement with Win 7).
I store these images on a thumb drive and Clonezilla Live can restore from there.
Clonezilla Live is a Linux based imaging tool that runs from a bootable CD (or in my case a bootable thumb drive).
I recently purchased a 500 GB Seagate Momentus to replace my old (but not failing) 320 GB drive.
My plan was to migrate all my OS's to the new drive using Clonezilla Live.
I first prepped the new drive using Gparted live, another "live" tool used for partitioning.
My old drive had 9 partitions on it, the 6 OS partitions plus a small linux swap for the linux OS's to share and two data partitions.
The data partitions were a Fat 32 and a NTFS partition respectively.
I prepped the new drive by duplicating my OS partitions (both exact size and location) and using the remaining free space to grow my data partitions.
The resulting partition arrangement was the same as my old drive except that the data partitions were much larger.
I then manually copied my data files over to their respective data partitions on the new drive (I used a sata to USB adaptor to do this).
I then used Clonezilla to restore the OS images to their respective locations on the new drive.
Using a tool called SuperGrub CD I restored the GRUB bootloader needed to boot my Linux installs.
I now had the exact same arrangement on my new drive as before with all OS's booting from the GRUB bootloader as before.
Of course my data partitions were much larger.
This method can be used to migrate to a new drive following the failure of an old drive as well.
I regularly back up my data partitions to an external 1 TB drive and keep my images up to date, I always have at least 3 images of each OS archived to a folder on my external drive.
In addition I have base images made shortly after initial install of each OS in case something "really" goes wrong.
The latest images are on two USB flash drives.
In the event of a drive failure I can be back up and running in about 50 minutes (not counting the time waiting for a new drive to arrive).
Actually I have several unused drives laying around so I could press one of these into service while waiting for the new drive to arrive.
As long as the OS partitions are exactly the same size and location as the original I can do the above with any drive.
Below is my partition arrangement.
click thumbnail to view
View attachment 7696 sdax is the linux designation of each partition.
It is most important that the sdax numbers remain consistent for everything to boot.
The only variables are the sizes of the data partitions.
When creating the partitions on another drive the OS partitions must be the same as on the old drive.
The sdax numbers are important because that is where GRUB is expecting to find all the OS's.
The OS partition sizes are important because Clonezilla Live cannot restore an image to a smaller partition than the one it was created from.
Although Clonezilla only creates an image from the used space of a partition, the target partition on a new drive must be exactly the same size as the source partition (to the bit).
All the tools I used are Live tools and run independent of any installed OS.
I thought this info might be relevant to this thread as it shows an alternate method of migrating from one drive to another.