Using dd to Make a Clone of a Drive

Paul Schmehl pauls at utdallas.edu
Thu Feb 9 14:11:57 PST 2006


--On Friday, February 10, 2006 00:01:23 +0200 Giorgos Keramidas 
<keramida at ceid.upatras.gr> wrote:

> On 2006-02-09 14:36, Martin McCormick <martin at dc.cis.okstate.edu> 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 :)

Have you tried dcfldd?  sysutils/dcfldd

It's both faster and more informative than dd.  Cat the pkg-descr file.

Paul Schmehl (pauls at utdallas.edu)
Adjunct Information Security Officer
University of Texas at Dallas
AVIEN Founding Member
http://www.utdallas.edu/ir/security/


More information about the freebsd-questions mailing list