LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1147|回复: 0

[Howto]将FreeBSD移到一个新的硬盘[翻译小组]

[复制链接]
发表于 2003-10-19 14:50:49 | 显示全部楼层 |阅读模式
[Howto]将FreeBSD移到一个新的硬盘
翻译者:Freebird
原文:这里
发表时间:2003年10月19日
因本人水平有限,如有错误,请批评指正。谢谢!
   
本文主要说明怎样把你已安装的FreeBSD从一个硬盘移到另一个。我用dump/restore成功试验了多次,在开始前,请阅读本文。

   我们假设你的FreeBS已装在一个4G的硬盘上(IDE Master ad0),并且我们想把它移到一个新的20G的硬盘上, 你所要做的仅仅是去掉老的硬盘,装上20G的新硬盘(作为IDE Master)并且进行FreeBSD的最小化安装(minimal clean install),准确设置好你的分区。请确定你已设置了硬盘为可启动,并且启动一次做为测试!

    接下来,重新装上原硬盘(4G)(作为IDE Master),和新硬盘(20G)(作为IDE Slave)。启动原来安装的FreeBSD到单用户模式下(single user mode):
进入单用户模式:
1.在10秒倒计时的时候按下空格(space)键,输入boot -s
然后在#后输入
fsck -p
mount -u /
mount -a
swapon -a
adjkerntz -i

2.确定你已经有了所需的设备文件,这样你就可以mount分区到从盘上。

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

FreeBSD 5.x版本采用devfs,可以自动检测硬件,因此不用
3.建立新硬盘分区的挂载点(mount point)

mkdir /backup
mkdir /backup/root
mkdir /backup/usr
mkdir /backup/var

4.我用一段shell脚本来做以下几步操作:

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)

下面是我用的Shell脚本

  1. #!/bin/sh
  2. newfs /dev/ad1s1a
  3. newfs /dev/ad1s1e
  4. newfs /dev/ad1s1f

  5. mount /dev/ad1s1a /backup/root
  6. mount /dev/ad1s1e /backup/var
  7. mount /dev/ad1s1f /backup/usr

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

  11. umount /backup/root
  12. umount /backup/var
  13. umount /backup/usr

  14. tunefs -n enable /dev/ad1s1a
  15. tunefs -n enable /dev/ad1s1e
  16. tunefs -n enable /dev/ad1s1f

  17. #end
复制代码

  进行dump/restore的操作可能会花几个小时的时间,请耐心等待。当硬盘当数据dumped and restored到新硬盘后,你要做的仅仅是卸除老硬盘(4G),把新硬盘设置为主盘(IDE Master)并且重启(Reboot).现在你就可以从新硬盘(20G)启动原来已安装的FreeBSD了!

   你可以下载diskcopyshell 脚本,用tar xvf drivecopy.tar解压得到drivecopy.sh文件。如果你自定义了分区(custom partitions),你需要修改drivecopy.sh文件。加入你在安装的时候选择了标准FreeBSD 分区(standard FreeBSD partitions),就把需要修改此文件。

你可以通过
man dump
man restore
man tar
man mount
man adjkerntz
来得到这些命令的更多信息!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表