Date: Fri, 22 Aug 2003 11:41:48 -0400 (EDT) From: Jerry McAllister <jerrymc@clunix.cl.msu.edu> To: dvelez502@verizon.net (D Velez) Cc: questions@freebsd.org Subject: Re: about using dd command to copy hard drives Message-ID: <200308221541.h7MFfnqZ010415@clunix.cl.msu.edu> In-Reply-To: <3F459D0C.1060203@verizon.net> from "D Velez" at Aug 22, 2003 12:33:16 AM
next in thread | previous in thread | raw e-mail | index | archive | help
> > I'm using freebsd 5.0 Jan 2003 series > > I know that dd is good at copying block devices when they > are at identical sizes. But if they're different sizes will it > copy correctly? If you are copying to a bigger disk you can make it work. But, for what you seem to want to do, it is not the best way. > I want to copy my entire freebsd hard disk which is 6 GB > to a new hard disk at 20 GB. > > I read the man pages but still can't understand it. I'm only a user > not a programmer nor sys admin. If you have any comments or > suggestions, I would surely appreciate it. First of all, you are right. The man page entries are not helpful, especially the one for fdisk. It doesn't even document all of its switches and parameters!! You have to get some of that by reading the examples in the disklabel man page and guessing. But, it is eventually possible to do it. Two things you didn't mention are if the old 6 GB disk is you system/boot disk or not and how the old disk is divided in to partitions or if it is just one big filesystem. Also, does the new disk need to become the boot disk? NOTE: You can do the fdisk/disklabel/newfs stuff via /stand/sysinstall and it works pretty well and painlessly, especially if you intend to use the whole disk for FreeBSD. But then you wouldn't have the thrill of learning to use fdisk/disklabel/newfs and really they work very well. The documentation is just garbled. What you want to do is fdisk to create one slice on the whole disk, partition with disklabel, newfs in each partition (except swap) and then use dump/restore to copy the filesystems from the old to the new disk. At this point you could change Lets say for example you are doing this to a - SCSI disk and that - it is the second disk (da1) and you intend to - move it in to the first position after you are done and boot from it. - Finally, assume that you intend to have partitions for root, swap, /tmp and /home. You may have filesystems divided up differently, but the process is exactly the same - just with different numbers and names. fdisk -BI -v -b /boot/mbr da1 /makes one large FreeBSD slice/ disklabel -r -e -B -b /boot/boot1 -s /boot/boot2 da1s1 Edit the disklabel so it looks something like: Adjust sizes to suit you. Leave all the header stuff as is. Don't worry about fsize bsize, etc 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 1048576 0 4.2BSD 1024 8192 22 # (Cyl. 0 - 65*) b: 2097152 * swap c: * 0 unused 0 0 # (Cyl. 0 - 2212*) e: 1048576 * 4.2BSD f: * * 4.2BSD This gives a 512 MG root, 1GB swap, 512 /tmp and all the rest to /home newfs -b 8192 -f 1024 /dev/da1s1a ( / (root) partition ) newfs -b 8192 -f 1024 /dev/da1s1e ( /tmp partition ) newfs -b 16384 -f 2048 -i 2048 /dev/da1s1f ( /home partition ) Fix up your /etc/fstab to add the following # Disk da1 /dev/da1s1a /newroot ufs rw 2 2 /dev/da1s1f /newhome ufs rw 2 2 fsck the new filesystems (just to be thorough) fsck -f /newroot fsck -f /newhome Mount the new files systems mount /newroot mount /newhome Now do the dump and restore to copy the file systems. Again, this presumes you have this current disk structure - eg essentially a root and home directory. (/tmp and swap) don't have to be moved) If you have more partitions/filesystems you will have to adjust the disklabel edit, add appropriate newfs-s, add more fstab entries and do the additional dump/restores. cd /newroot dump -0f - / | restore -xf - This will take a while cd /newhome dump -0f - /home | restore -xf - This may take even longer Make sure the /etc/fstab on the new disk is right, do: vi /newroot/etc/fstab It needs to have mounts for: # Disk da0 /dev/da0s1a / ufs rw 1 1 /dev/da0s1b none swap sw 0 0 /dev/da0s1e /tmp ufs rw 2 2 /dev/da0s1f /home ufs rw,userquota 2 2 # Disk da1 # /dev/da1s1a /newroot ufs rw 2 2 # /dev/da1s1f /newhome ufs rw 2 2 Comment out or delete the lines added for /newhome and /newroot When it is all done, shut down, switch the drives and reboot. ////jerry > > Thanks > > David > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308221541.h7MFfnqZ010415>