Using dd to Make a Clone of a Drive

Gayn Winters gayn.winters at
Thu Feb 9 13:51:53 PST 2006

> [mailto:owner-freebsd-questions at] On Behalf Of 
> Martin McCormick
> Sent: Thursday, February 09, 2006 12:36 PM
> To: freebsd-questions at
> Subject: Using dd to Make a Clone of a Drive
> 	After installing FreeBSD5.4, the ISC dhcp server and ISC bind
> on a hard drive, I wanted to clone that drive to a second drive so as
> to generate a second server, using what I had already installed as a
> template.  I used the following command:
> dd if=/dev/da0 of=/dev/da1 bs=512
> 	It turns out that dd defaults to 512-byte blocks so I didn't
> really need the bs=512, but I am not sure I haven't made some other
> type of mistake.  The dd command has been running for about 4 hours on
> a very fast system, with a 1-gig processor, 1 gig of RAM and two 31-GB
> drives.  One would think it should have finished by now, but it is
> still running.  Is this a valid method of copying the entire contents
> of one drive to another?  Thank you.

At this point, let it run.  There was a discussion last month on the
hackers distribution list on "increasing dd disk to disk transfer rate";
it discussed larger block size, piping (dd if=... | dd of=...), and
disk_recover.  It is also possible to create your own distribution disk,
which may be appealing if you do a lot of cloning.  Finally, there is
always backup|restore.  As for speed, dd will probably be last in a
race, especially with large, mostly empty, disks.


Bristol Systems Inc.

More information about the freebsd-questions mailing list