OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
Re: Using dd(1) to duplicate a hard drive

From: Shane J Pearson (shanejpnetspace.net.au)
Date: Tue Aug 01 2006 - 20:36:09 CDT


Hi Chris,

On 2006.08.01, at 2:00 PM, Chris Zakelj wrote:

> Went back about two years in the MARC archives with the terms 'copy
> drive' (oddly enough, 'dd' itself wouldn't work), and got plenty of
> linux examples on Google (that pretty much say what I propose anyway)
> but no luck... I'm hoping to find a faster way to create an image
> of one
> drive (a Samsung MP0402H, 40G notebook, to be specific) onto an
> identical drive than using:
>
> # dd if=/dev/rwd0c of=/dev/rwd1c bs=1m
>
> Hardware to be used in the copy is an i586/166, Intel 430VX
> chipset. I
> vaguely recall hearing that placing the drives on separate IDE
> channels
> would help, but any and all other pointers, cluesticks, and proddings
> are welcome.

Do you have lots of drives to clone like this? This thread could take
longer than the copying of a drive.

I occasionally dd copy my 100GB laptop drive to an external firewire
drive, using a FreeBSD install CD [1]. Only takes about 1 hour
including compressing with gzip.

Backup:
dd bs=64k if=/dev/{raw_drive} | gzip | split -b 50m - backup.dd.gz.

I split the files into 50m chunks because they fit well on CD's and
DVD's and I don't have problems trying to burn or copy the files to
something which has file size limits.

Restore:
gzcat backup.dd.gz.* | dd bs=64k of=/dev/{raw_drive}

If you want, you can always substitute the raw_drive for a slice and
just backup slices.

Shane

[1] Only using FreeBSD for this because it supported the new ATA and
firewire chipsets on my VAIO. ; )