> > How do I copy the whole harddrive to a larger drive than the one being > copied? > This is an router that cant go down for more than a few minutes. I > want to replace whole system to the new harddirve old one has noisy > bearings. I have no backup at all.
First, find a way to make a backup!!!!!!!!! Over the local net to another machine if necessary. Is the larger hard drive already on the machine? Can it be put there with the old one still left where it is? Is the whole disk used for FreeBSD? If the larger drive can be put on the machine and the old one is running only FreeBSD, then just - use disklabel(8) to see what partitions are being used on the old disk. disklabel -r da0 write the output down or pipe that to a file or to a printer so you can easily refer to it later. - physically install the larger drive if it is not already there. Lets say the old disk is da0 and the larger one becomes da1. - use fdisk(8) to create one large slice with boot manager that uses the whole larger disk fdisk -BI -v -b /boot/mbr da1 - use disklabel to partition the slice and write a boot record disklabel -w -B -b /boot/boot1 -s /boot/boot2 da1s1 auto - use disklabel to edit the partition sizes and rewrite the label disklabel -r -e da1s1 refer to the output you saved above to create appropriate partition sizes. Since the disk is bigger, you are free to adjust sizes as long as they are both bigger than the old ones and all add up to total space in the slice (or less). If there is one last large partition, the new disklabel lets you use '*' for its size and it will just use up all the remaining slice. example partitions on a nominal 18GB DRIVE: # size offset fstype a: 2514944 0 4.2BSD # To mount as / b: 4618240 2514944 swap # Used for swap c: 35551782 0 unused # defines whole slice e: 2514944 7133184 4.2BSD # To mount on /tmp f: 25903654 9648128 4.2BSD # To mount on /home You will need to create the appropriate partitions for your situation. - newfs each new partition (except the one for swap - leave that alone) newfs /dev/rda1s1a newfs /dev/rda1s1e newfs /dev/rda1s1f These newfs commands just take the defaults for block and fragment size, etc which are probably good for this. - create mount points for the new partitions/filesystems mkdir /newroot mkdir /newtmp (Shouldn't really need one for /newtmp) mkdir /newhome - you might want to make entries for the new partitions in /etc/fstab to make writing dump/restore and maybe fsck commands less tedious. vi /etc/fstab add lines using the new device types just created and appropriate mount points otherwise like one of the other regular UFS lines. /dev/da1s1a /newroot ufs rw 2 2 /dev/da1s1e /newtmp ufs rw 2 2 /dev/da1s1f /newhome ufs rw 2 2 - you might want to fsck the new partitions just in case, but it isn't really necessary unless newfs is hosed. fsck -f -y /newroot fsck -fy /newtmp fsck -fy /newhome - now mount the new filesystems (don't bother with /newtmp) mount /newroot mount /newhome - use dumpt(8)/restore() to copy everything. Note that if you have tables and/logs being constantly updated, the only way to make true copies is to take the system down and go to single user. This will only copy files as they are at the instant of copying. The actual dump/restores that you do will depend on the actual partitions/ filesystems your old disk has, so adjust accordingly. cd /newroot dump -0af - / | restore -xf - cd /newhome dump -0af - /home | restore -xf - Now you should be able to shut the machine down, pull the old disk, put the larger disk in the slot where the old disk was and reboot. You can also probably put the old disk in to the slot where the larger disk had been during the copying and it should mount OK - now as da1. Have fun. It is actually easier than the narrative would make is seem. That is, if you can plug and switch the drives as described. ////jerry > > Dan > > _______________________________________________ > [EMAIL PROTECTED] mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "[EMAIL PROTECTED]" > _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"