If you are a Unix command line geek you can clone your hard disk with various Linux programs. This can be quicker if you feel comfortable using the Linux shell. Computer forensics need to use a Unix live CD to clone a hard drive in order to preserve all data from alteration but unless this is your case you do not need it.
How to clone a hard disk using dd?
To execute dd you should login as root or use the su command.
1- Open Linux terminal window as root.
2- Change appropriate hard disk name, ie sda/sdb and type:
dd if=/dev/sda of=/dev/sdb
3- Cloning a hard drive using dd can take hours depending on size. You can use gzip and save storage space but this will make the hard disk back up even longer.
Copying a hard disk partition using dd
If you don’t want to make a complete duplication of your hard disk the following command will create an image file “disk1.img” in your user’s recovery directory from /dev/sda
dd if=/dev/sda of=~/recovery/disk1.img
To restore a partition or a hard disk from an image file, just exchange the arguments “if” and “of”. For example, restore the whole hard disk from the image file “disk1.img”:
dd if=disk1.img of=/dev/sda
How to clone your hard drive using ddrescue?
Also known as Gddrescue in Ubuntu, ddrescue is quicker than ‘dd’, gets better results and it also keeps a log file that records each of the bad blocks found.
1- SystemCdTools includes ddrescue but you may have to install dderescue from the repositories otherwise as many other Linux distributions do not come with it.
2- Open Linux terminal window as root.
3- Change source sda and destination sdb if needed, depending on your hard disk name, then type:
ddrescue -v /dev/sda /dev/sdb
If your hard disk has bad sectors the following Linux ddrescue command line below will attempt to recover them:
ddrescue -r 1 /dev/sda /dev/sdb rescue.log
NOTE: There is another Unix tool called dd_rescue do not confuse it with ddrescue, they both enhance dd but are not the same command line.