geekvenue.net

Welcome to Chucktips HELP WITH DEAD OS Hardware Installing FreeBSD Miscellaneous
 faq
 search
 add article
 cool-stuff
 how-to
 main
 tips


HOWTO: Move FreeBSD to a new hard disk
Miscellaneous Posted by Jason on Sunday November 04, @09:13AM
from the old-data-new-drive dept.
This article will explain how you can move your FreeBSD installation from one hard disk drive to another. I have done this many times using the dump/restore utility. Before you begin, be sure you have read this document carefully.


Let's assume that our FreeBSD installation is on a 4 gigabyte drive (ide master ad0) and we would like to move it to a new 20 gig drive.

What you need to do is remove the old hard disk, install the new [20G] drive as an ide master and perform a minimal clean install of FreeBSD, setting up the partitions exactly how you want them. Be se sure to set the drive as bootable and boot from it one time as a test.

Next, put your old [4G] drive back in the system as an ide master and the new [20G] drive in as an ide slave. Boot the system on your old installation in single user mode.

To boot in single user mode:

Press the [spacebar] at the 10 second countdown.

type:
boot -s
Press [enter] for the default shell.

At the (#) prompt type:
fsck -p
mount -u /
mount -a
swapon -a
adjkerntz -i


Next, make sure you have the device files made so you can mount the partitions on the slave drive.

Type:
cd /dev
./MAKEDEV ad1s1a
./MAKEDEV ad1s1e
./MAKEDEV ad1s1f


Now make mount points for the new drive's partitions:

Type:
mkdir /backup
mkdir /backup/root
mkdir /backup/usr
mkdir /backup/var


Lastly, I use a shell script to do the following:

1 - create new filesystems (newfs the drive)
2 - mount the partitions
3 - dump the data from my old drive, and restore it to my new one
4 - unmount the new drives partitions
5 - enable softupdates on the new drive (optional)


Here is the script I use:


#!/bin/sh
newfs /dev/ad1s1a
newfs /dev/ad1s1e
newfs /dev/ad1s1f

mount /dev/ad1s1a /backup/root
mount /dev/ad1s1e /backup/var
mount /dev/ad1s1f /backup/usr

( dump -0f - / ) | ( cd /backup/root ; restore -rf - )
( dump -0f - /var ) | ( cd /backup/var ; restore -rf - )
( dump -0f - /usr ) | ( cd /backup/usr ; restore -rf - )

umount /backup/root
umount /backup/var
umount /backup/usr

tunefs -n enable /dev/ad1s1a
tunefs -n enable /dev/ad1s1e
tunefs -n enable /dev/ad1s1f

#end


It will probably take several hours to perform the dump/restore, so be patient. Once the data has been dumped and restored to the new drive, all you have to do is remove your old drive and put it in a safe place, set the new drive to a master and reboot. Your system will now boot your old FreeBSD installation on your new hard disk.


Note: You can download the drivecopy shell script by clicking on the drivecopy.tar filename located on the right sidebar of this page. Issue the command tar xvf drivecopy.tar to untar the drivecopy.sh file.

You may need to modify the drivecopy shell script if you are using custom partitions. If you had selected the standard FreeBSD partitions at install, this file will work without modification.


To learn more about dump, restore and other unix commands, please read the man pages:

man dump
man restore
man tar
man mount
man adjkerntz

Add Reply

Name
Email
Notify Notify me via email of responses to this message
Title
Comment
(Check those URLs! Don't forget the http://!)
Encoding
If none of the above mean anything to you, select 'Plain'!
Attachment
(You can attach a file to your reply which can then be retrieved by other readers.
Try to keep the file sizes below 500Kb in order to conserve network and server resources.)
Allowed HTML <B> <I> <P> <A> <LI> <OL> <UL> <EM> <BR> <TT> <HR> <STRONG> <BLOCKQUOTE> <DIV .*> <DIV> <P .*>
Important Stuff:
  • Note: Fields with bold titles are required.
  • Please try to keep posts on topic.
  • Try to reply to other people comments instead of starting new threads,
  • Read other people's messages before posting your own to avoid simply duplicating what has already been said.
  • Use a clear subject that describes what your message is about.
  • Please do not post offtopic, inflammatory, inappropriate, illegal, or offensive comments. Repeat offenders will be sanctioned.
  • "You never know how many friends you have until you own a Condo on the beach." -- Jason's Postulate

    Powered by Zope  Powered by Apache  Squishdot Powered
    All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©2001 Jason Neumann.
    [ main | post article | search ]