From owner-freebsd-questions Thu Jun 27 14:10:52 2002 Delivered-To: freebsd-questions@freebsd.org Received: from lakemtao03.cox.net (lakemtao03.cox.net [68.1.17.242]) by hub.freebsd.org (Postfix) with ESMTP id D811837B408 for ; Thu, 27 Jun 2002 14:09:37 -0700 (PDT) Received: from smtp.east.cox.net ([172.18.52.67]) by lakemtao03.cox.net (InterMail vM.5.01.04.05 201-253-122-122-105-20011231) with SMTP id <20020627210938.MYDL1975.lakemtao03.cox.net@smtp.east.cox.net>; Thu, 27 Jun 2002 17:09:38 -0400 From: Justin L.Boss To: Matthew Seaman Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Re: copy one drive to another Date: Thu, 27 Jun 2002 17:09:37 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO8859_1 Content-Transfer-Encoding: 7bit Message-Id: <20020627210938.MYDL1975.lakemtao03.cox.net@smtp.east.cox.net> Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Thanks, You have answered my questions before and your always right on. Thanks > > From: Matthew Seaman > Date: 2002/06/27 Thu PM 04:46:32 EDT > To: "Justin L.Boss" > CC: freebsd-questions@FreeBSD.ORG > Subject: Re: copy one drive to another > > On Thu, Jun 27, 2002 at 11:51:49AM -0400, Justin L.Boss wrote: > > > i'm trying to copy one drive to another. The drives are not the same > > size, so i'm trying to decide which would be the best way to do it. > > You want to copy the contents of disk ad0 onto disk ad1 > > > dd if=/dev/ad0 of=/dev/ad1 > > This can only ever work if ad1 is the same size or bigger than ad0. > The filesystems you create on ad1 will be exactly the same size as the > original on ad0, so if ad1 is bigger you will waste some space. > > The great advantage of using dd(1) is that you should be able to copy > foreign filesystems, even if they are unmountable under FreeBSD. > > > dump -0 -f /dev/ad1 /dev/ad0 > > This is probably the best approach, although it's a bit more complex > than you've indicated. > > First of all, dump works on file systems, not disk devices. You > should create disk slices, partitions and filesystems on ad1 to match > the originals on ad0 (ie. of sufficient size to contain all the data > you're copying over). You can use fdisk(8) to create slices, > disklabel(8) to generate partitions and newfs(8) to build filesystems > on those partitions. Or you can use /stand/sysinstall to do the whole > setup. > > Now, for the actual copying. Copy each filesystem in turn, by piping > the output of dump(8) into restore(8). You need to mount the target > filesystems before you do the restore: > > eg. > > newfs /dev/ad1s1a > mount /dev/ad1s1a /mnt > cd /mnt > dump -0 -f - /dev/ad0s1a | restore -rf - > umount /mnt > > > tar -cf /dev/ad1 / > > tar(1) can be used as an alternative. Again, you're going to be > copying filesystems rather than the whole disk. Prepare pristine new > file systems on /dev/ad1 as for the dump/restore method. Assuming, > for example, that you've mounted your /usr partition on /dev/ad0s1f, > and you want to copy it over to /dev/ad1s1f: > > newfs /dev/ad1s1f > mount /dev/ad1s1f /mnt > cd /usr > tar -lcf - . | ( cd /mnt ; tar -cvpf - ) > umount /mnt > > Some general remarks: dump/restore will give you the most faithful > copy of your data. Be careful if using tar(1) that you don't > accidentally include the target directory into the source of what > you're copying, or you'll end up with a huge mess. Use the -l flag to > limit the copy to one partition. > > There's no point trying to copy swap areas by these means: it won't > work. Just mark the partition as swap using disklabel(8). > > Cheers, > > Matthew > > -- > Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks > Savill Way > Tel: +44 1628 476614 Marlow > Fax: +44 0870 0522645 Bucks., SL7 1TH UK > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message