Let's assume that :
- Your destination partition table is correctly defined
- Sizes of
sdc5 matches (otherwise it would not make sense, or you will need to run
gparted to resize the filesystem if
sda5 is smaller than
You will probably want to copy just the first 440 bytes of the MBR since the partition table is whithin the MBR sector (see wikipedia entries (en) or (fr) with
dd command examples).
dd if=/dev/sda of=/dev/sdc bs=1 count=440
gparted allows you to easily and quickly copy data between partitions since it analyzes filesystems and only copies the bytes needed, so I would recommend gparted against
The only exception would be in the case you want to recover a broken drive, in that case I would recommend you to extract data with
dd_rescue which is more resilient to errors than
dd, probably faster, too.
ddto copy a partition could, I suppose be done. But it involves tedious details which I would never want to mess with unless I had no other choice. Why not boot the Ubuntu Live CD or USB and use
gpartedto copy the partition? That way the partition table in the MBR will be properly updated as well as any other file system parameters that might need to be "tweaked" as a result of the relocation.
ddcommand line used in question.