That's not an easy task under Windows and is fraught with danger, however it's easy under Linux. In fact I can keep both copies and be able to boot either, which is a great failsafe, should one not boot.
- Mount both your source and destination partitions.
- Run this command from a terminal:
Don’t forget the asterisk after the source path.
- After the command finishes copying, shut down, remove the source drive, and boot the live CD again.
- Mount your destination drive (or partition).
- Run the command “gksu gedit” (or use nano or vi).
- Edit the file /etc/fstab. Change the UUID or device entry with the mount point / (the root partition) to your new drive.
- You can find your new drive’s (or partition’s) UUID with this command:
- Edit the file /boot/grub/menu.lst. Change the UUID of the appropriate entries at the bottom of the file to the new one.
- Run sudo grub.
- At the Grub prompt, type:
This will tell you what your new drive and partition’s number is.
(Something like hd(0,0))
but replace "hd(0,0)" with your partition’s number from above.
- Type: setup hd(0) but replace "hd(0)" with your drive's number from above. (Omit the comma and the number after it).
That’s it! You should now have a bootable working copy of your source drive on your destination drive! You can use this to move to a different drive, partition, or filesystem.