It is perfect job for the dd command
To clone disk a source hda to a target hdb
Code:
dd if=/dev/hda of=/dev/hdb bs=32768
Partition hda1 to partition hdb7
Code:
dd if=/dev/hda1 of=/dev/hdb7 bs=32768
The block size is for speeding up the process as without it dd defaults to 512 byte in each transfer. The 32768 =512 times 64 or one complete track at a time
The only rule needs to remember in using dd command is that it is a sector-by-sector cloning and so the target should be larger than the source if not matching exactly. Normally an exact match is preferred for trouble free operation. dd will break down if the target cannot accept all the source data (smaller in size).
Also dd clone boot sector too, as against cloning a filing system, and so the target will boot as the source. It is a complete 100% mirror image.
It pays to remember the first parameter if (=input file) is always the source data. A mix up with the source with the target will lead to loss of data!!! I always shout at the top of my voice when reading the command line before hitting the return key.
My experience with dd is that it is faster, more reliable but slightly less flexible than the commercially available Ghost.
Had clone 300Gb disks with 60 distros and used the target disks on different computers.
Target disk will work immediately if the hardware is the same. Even if totally different hardware were use as in my case Linux can be edited to suit the new computer.