系统克隆,ghost已经深入人心,但在Linux/Unix领域,ghost就不是那么好用了。
其实吧,在这些系统中,大多数情况下用不着ghost,自己手动做就可以了,Ghost本身就是Windows特殊环境下的一个产物。
本文以FreeBSD为例,来说明如何在类Unix系统中进行系统克隆。
需要工具:
tar和mount,这两个系统都自带
FreeBSD-live模式,光盘和U盘都可以,系统启动后进入shell就可以了
一、制作镜像:
1、准备
其实没有什么好准备的,用df –h确认一下你要存放的分区中有足够的空间。如果不安装图形界面的话,500M就足够了。
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ada0p2 496M 67M 389M 15% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ada0p4 1.9G 105M 1.7G 6% /usr
/dev/ada0p5 992M 42M 870M 5% /var
/dev/ada0p6 496M 32K 456M 0% /tmp
/dev/ada0p7 1.9G 8.0K 1.8G 0% /cdn
我的这个系统/cdn里面还有不少空间,就把镜像放到/cdn下面了,先建一个back的文件夹,用来存放镜像:
# mkdir /cdn/back
然后……当然是开始制作了:
2、制作
# tar -czvpf /cdn/back/sys.tar.gz --exclude=/dev --exclude=/cdn/back --exclude=/var/run --exclude=/tmp /
说明:
(1)参数c表示创建;z表示压缩;v显示过程;p保留权限,注意克隆系统时一定要加上p参数,否则权限都成了644,系统会启动不开;f当然是指定文件了。
(2)--exclude=FILE,表示不需要做该文件,一般需要排除的也就上面的那四个,注意第二个是镜像存放的位置,如果不排除的话,你的tar就无限循环下去了,不一会儿你就会收到“磁盘空间已满”的错误提示。
二、还原
1、启动,进入shell
这个直接看图吧,选第三个按回车就行。
2、查看可用磁盘
# sysctl kern.disks
kern.disks: cd0 ada0
看结果,一个cd,一个普通硬盘,如果是scsi硬盘或U盘,则显示da,所以显示da0或da1的时候,要小心了,看好哪一个。
3、分区
分区内容挺多的,新手还是分三个区吧,一个放启动代码,一个放文件,另一个用作交换分区。
(1)初始化磁盘,用gpt格式吧,mbr已经有点落后了,遇到大磁盘很麻烦。
# gpart destroy -F
# gpart create -s gpt ada0
ada0 created
(2)建启动分区,gpt跟mbr最大的区别在于需要专门的启动分区。
# gpart add -t freebsd-boot -b 40 -s 512K ada0
da0p1 added
(3)写入启动代码
# gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 ada0
bootcode written to ada0
(4)建立主分区,我这里是虚拟的系统,用2G,具体可以自己算一下空间,一般总空间除掉4G的交换分区就可以了,如果你内存足够大的话,并且出问题不打算进行调试,可以不要交换分区。注意-b 1m,这个表示从1M的地方开始,也算是4K对齐了:
# gpart add -t freebsd-ufs -b 1M -s 2G ada0
ada0p2 added
(5)建立交换分区
# gpart add -t freebsd-swap -s 512M ada0
ada0p3 added
3、格式化主分区,交换分区不用格式化,启动分区也不需要格式化:
# newfs -U /dev/ada0p2
4、挂载分区
# mount /dev/ada0p2 /mnt
5、解压:
解压前要想办法把那个镜像文件复制过来,放到/tmp下,具体的可以通过网络,也可以通过光盘,或者干脆把压缩文件放到启动U盘里面也可以,下面以它在/tmp下为例:
# tar –xzvpf /tmp/sys.tar.gz –C /mnt
等到出提示光标的时候,解压就完成了,然后……不要马上重启,挂载分区还不对呢。
6、调整一下fstab,这样启动的时候才能找到对应的分区:
# vi /mnt/etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ada0p2 / ufs rw 1 1
/dev/ada0p3 none swap sw 0 0
7、完成了,可以reboot了。
怎么样,手动克隆也不难吧,其实这也是手工安装的步骤,无非一个是sys.tar.gz,另一个是官方的base.txz和kernel.txz,操作步骤差不多。
跟windows那些手动安装的版本相比,也不是很麻烦,windows也要经过分区、设置活动分区、复制文件等步骤。
下一次,我为大家讲怎么样修改启动U盘,完成自动安装。
该贴由hui.chen转至本版2014-11-5 17:04:59