While you can use dd to copy a disk like that, doing so has a number of drawbacks:
- The destination must be exactly the same size or larger than the source
- After copying, you will need to resize the partitions to use any additional space
- You will waste time copying free space
- Any fragmentation present in the old disk is preserved
Using an imaging program like Ghost4Linux, partclone, or clonezilla at least takes care of numbers 2 and 3. You can also simply format the new disk, mount it, and copy all of the files over with cp -ax
( as root ), and then reinstall the boot loader on the new drive. This method does not suffer from any of the above drawbacks.