hard drives

You want to keep an image of your disk; here is how to do.

Create the disk image

Boot from a live usb

All partitions of the source hdd should be unmounted

Mount the external hdd

Back up the drive

# dd if=/dev/sdX conv=sync,noerror bs=64K | gzip -c  > /path/to/backup.img.gz

If there is not enough disk space locally, you may send the image through ssh to a remote computer:

# dd if=/dev/sdX conv=sync,noerror bs=64K | gzip -c | ssh user@local dd of=backup.img.gz

Save extra information about the drive geometry necessary in order to interpret the partition table stored within the image. The most important of which is the cylinder size. te disk image

# fdisk -l /dev/sdX > /path/to/list_fdisk.info

Restore the system

# gunzip -c /path/to/backup.img.gz | dd of=/dev/sdX

You got a Seagate drive and checked with smartctl; don't die yet.

Why it's showing these values on raw read error and on seek;

The read and seek error rates are actually recorded as 48-bit hexadecimal values, where the first 16 bits (4 hexadecmal digits) represent the total number of read or seek errors and the last 32 bits (8 hex digits) represent the total number of reads or seeks attempted. We can get these values with the command 

smartctl -v 1,hex48 -v 7,hex48 -A /dev/sdX

Using this command, our read and seek error values become 0x000007cda64f and 0x000313f9253e respectively. The first four digits following the x (emphasized) are the total number of errors. As you can see, read and seek errors are only 0 and 3 respectively for this particular drive. And the total number of reads are 130917967 and 335095102 respectively, obtained by taking the last four digits and converting from hexadecimal to decimal numbers.

 

Additional reading

my primart source: http://sdx1.net/info/hardware/smart-seagate/