Using dd to Make a Clone of a Drive

Ken Stevenson ken at
Fri Feb 10 07:27:20 PST 2006

Giorgos Keramidas wrote:
> On 2006-02-09 14:36, Martin McCormick <martin at> wrote:
>> 	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.
> Bah!  That's too slow for my taste.  I would usually go for a newfs,
> dump, and restore option.  For instance, to create a copy of /usr on a
> second disk:
>     newfs -U /dev/ad1s1a
>     mount /dev/ad1s1a /mnt
>     dump -0 -a -L /usr | ( cd /mnt ; restore ruvf - )
> Copying with dd(1) is not as fast :)
I had to clone a couple systems a while back, and I also did it with
dump/restore. The best part was this was the first time I actually
restored my backups to a bare hard drive. It gave me a lot of
confidence that my backups actually work. I think a lot of people find
out too late that whatever backup solution they're using is flawed and
they can't rebuild their system from it.

Ken Stevenson
Allen-Myland Inc.

More information about the freebsd-questions mailing list