+ -
当前位置:首页 → 问答吧 → [HOWTO]如何使用GHOST 8将一个LINUX系统从一台机器复制到另一台机器

[HOWTO]如何使用GHOST 8将一个LINUX系统从一台机器复制到另一台机器

时间:2004-04-17

来源:互联网

04-17-2004 已完成第一版HOWTO,内容在第7/8贴。
------------------------------------------------------------
两台机器配置完全不同,
一台 AMD ATHLON XP 1800+ NFORCE2 + GEFORCE TI 4 + SB LIVE5。1 + 40 G
另一台INTEL CELERON2 700+ VIA 694 + TNT2 + AC97(via82cxxx-udio) + 20 G

现已成功从AMD机上复制到INTEL机上。
当然不止GHOST这么简单。如果大家感兴趣我就来写详细过程。

实在累了,赶紧休息去,哈哈。

如果下午醒来能看到10篇回复,就写详细过程。

作者: dreamrise   发布时间: 2004-04-17

我回复十篇算不算啊,dreamrise兄赶紧写吧,给我们这些小菜多写点成功的文章,好指引我们前进

作者: laxi1982   发布时间: 2004-04-17

10篇^_^

作者: 红毛   发布时间: 2004-04-17

我也算一篇!楼主快写啊!

作者: garydo   发布时间: 2004-04-17

快写,强烈期待中。。。。。

作者: ttgria   发布时间: 2004-04-17

刚才想了想,dreamrise兄是不是在这里挖坑让我们灌水啊?:ask
dreamrise兄快把文章贴出来吧~

作者: laxi1982   发布时间: 2004-04-17

等你等到我心痛!千呼万喚不出?!

作者: bingol   发布时间: 2004-04-17

把amd整个系统tar起来,在intel机上解开,修改fstab,grub(或lilo),有必要的话重编一下kernel,搞定!

作者: Hauser   发布时间: 2004-04-17

呵呵,只有6篇回复哦。简单写写吧:

我朋友有台机器就是INTEL那台,原本装的WINDOWS染了太多病毒,不行了。我就把她的机器拿了过来。然后重新分区.
讲一下分区:
一个主分区,FAT32,为W2K准备的(7G)。
一个扩展分区,然后划成了三个逻辑分区:一个FAT32,作WIN2K的D盘(3G),一个未格式化的分区,留着待会GHOST LINUX用(8G),还有一个200多M的LINUX SWAP分区,
这是LINUX下用FDISK看的结果:
代码:
Disk /dev/hda: 20.5 GB, 20547841536 bytes
255 heads, 63 sectors/track, 2498 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 Device Boot Start End Blocks Id System
/dev/hda1 * 1 973 7815591 b W95 FAT32
/dev/hda2 974 2498 12249562+ f W95 Ext'd (LBA)
/dev/hda5 974 1433 3694918+ b W95 FAT32
/dev/hda6 1434 2465 8289508+ 83 Linux
/dev/hda7 2466 2498 265041 82 Linux swap
先是用史努比做的WINDOWS2000GHOST安装光盘,用GHOST灌了一个WIN2K在C盘上。

接下来就要用GHOST灌LINUX了,GHOST灌WINDOWS大家都会用,把硬盘拆下来,装到另外一台机器上,两个硬盘之间选择分区到分区的拷贝就行了,灌LINUX也是一样,但是在做GHOST之前还有以一项重要工作要在旧主机上做:为新主机编译一个新内核
1、重新编译一个内核,我用的内核是前几天有一个贴子里面说的打了SPLASHSCREEN的补丁的2。6。5的内核 http://www.linuxsir.org/bbs/showthre...hreadid=101574 ,这样我就要根据新的主机的硬件环境来修改编译选项,重新编译一个内核。相当这两台机器的改动,需要修改这几处: 处理器/硬盘控制器/ALSA驱动/ 关于硬件信息你可以进WINDOWS用那个叫AIDA32的软件来查看,把芯片类型记下来(不是要你记品牌),如果你手上有LINUX的LIVE CD,比如KNOPPIX/MANDRAKE MOVE的话,也可以用它来启动试试,把启动中找到硬件的提示记下来,然后根据这些信息来修改你的内核配置,再编译新内核。把编译出来的内核文件拷贝到/boot/目录下,新取一个名字。
2、这个准备GHOST的系统中还要装一样东西就是GRUB或LILO,先装好,待会要用。

接下来就可以用GHOST拷贝你的LINUX分区了。
GHOST时还有一点要注意:你的源分区已用空间的大小要小于目标分区的大小,小的可以灌进大的,大的可就放不进小的。而特别的一点,对于reiserfs格式的分区,GHOST会把整个分区的大小都当做已使用的空间,这点跟别的文件格式都不同,我也是做的时候才发现,而对EXT2/EXT3/FAT这些文件格式的分区,GHOST可以识别出正确的已用空间来。

接下来就讲GHOST之后的配置了,灌完了还是不能启动,因为没有装引导程序,我要用GRUB来做引导,所以我一开始在GHOST的系统中就装好了GRUB,然后找一张随便什么版本的LINUX安装光盘来进入急救模式:
1、mount 你GHOST好了的LINUX分区:/dev/hda6
cd / && mkdir slack && mount /dev/hda6 /slack
2、chroot到你GHOST好了的LINUX分区:/dev/hda6中去
chroot /slack /bin/bash
. /etc/profile
3、这时候你已经进到你新灌的LINUX中来了,列一下如果没有问题,就说明ghost的过程是成功:
然后就可以开始安装GRUB了,给个SHELL给大家,修改一下,然后在你的/boot/grub目录下执行,就可以用了:
INSTAL.SH
代码:
grub --device-map=/boot/grub/device.map --batch <<EOF
install (hd0,5)/boot/grub/stage1 d (hd0) (hd0,5)/boot/grub/stage2 p (hd0,5)/boot/grub/menu.lst
quit
EOF
还要编辑:/boot/grub/device.map,本来是工具生成的,但是也可以手工编写:
代码:
(fd0) /dev/fd0
(hd0) /dev/hda
(hd1) /dev/hdb
4、引导程序装好后就是编辑/boot/grub/menu.lst文件了。注意把内核部分要改成你为新系统编译的内核 kernel-2.6.5-via。
/etc/grub/menu.lst:
代码:
timeout 10
color black/cyan yellow/cyan
splashimage (hd0,5)/boot/grub/splash.xpm.gz
default 0

title windows
root (hd0,0)
chainloader +1

title Slackware current
kernel (hd0,5)/boot/kernel-2.6.5-via root=/dev/hda6 vga=791
initrd (hd0,5)/boot/initrd.splash
5、还有一件就是另外编辑一个/etc/fstab文件,这得根据你的分区信息来做,如果有GENTOO/LFS经验的这点能力应该都有。再不成发个贴子,自然有人来帮你。
/etc/fstab
代码:
/dev/hda7 swap swap defaults 0 0
/dev/hda6 / reiserfs defaults 1 1
/dev/hda1 /windows/c vfat,iocharset=gb2312,codepage=936 defaults 1 0
/dev/hda5 /windows/d vfat,iocharset=gb2312,codepage=936 defaults 1 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
做完这些事情,你的LINUX应该就可以启动了,进到系统后,我的机器还要重新装一下NVIDIA的显卡驱动模块,然后进KDE/GNOME什么的东西都完全正常,跟在原机器上一样。

这篇短文可能新鸟还是看不明白,比如如何编译内核,如何编辑/boot/grub/menu.lst,如何编辑/etc/fstab.这些都可以到论坛里去找吧。

先写到这里,以后再完善本文,希望对大家有点帮助。

作者: dreamrise   发布时间: 2004-04-18

这儿是那两台机器内核配置的config文件,大家可以参考一下,学学怎么最优化的配置你的内核,最优化的要求就是只留下需要用的,编译进内核build-in而不是模块modules,我的配置文件中没有一个模块,但是模块支持是必须要的,要不然怎么装NVIDIA/ATI驱动:

这是AMD ATHLON XP 1800+ NFORCE2 + GEFORCE TI 4 + SB LIVE5。1 :
-rw-r--r-- 1 root root 24728 2004-04-17 22:21 config-2.6.5-nforce
这是INTEL CELERON2 700+ VIA 694 + TNT2 + AC97(via82cxxx-udio):
-rw-r--r-- 1 root root 24006 2004-04-17 04:20 config-2.6.5-via


注意这几处:
代码:
Processor family:
( ) Athlon/Duron/K7
(x) Pentium-II/Celeron(pre-Coppermine)
ATA/ATAPI/MFM/RLL support:[*] Generic PCI bus-master DMA support
< > AMD and nVidia IDE support
< > Intel PIIXn chipsets support
<*> VIA82CXXX chipset support
Character devices:
<*> /dev/agpgart (AGP Support) 
< > Intel 440LX/BX/GX, I8xx and E7x05 chipset support 
< > Intel i865 chipset support
< > NVIDIA nForce/nForce2 chipset support 
< > SiS chipset support 
<*> VIA chipset support
PCI devices:
< > EMU10K1 (SB Live! & Audigy, E-mu APS)
<*> VIA 82C686A/B, 8233 South Bridge
上传的附件
config.tar.gz (6.6 KB, 13 次查看)

作者: dreamrise   发布时间: 2004-04-18

引用:
最初由 dreamrise 发表
如果你手上有LINUX的LIVE CD,比如KNOPPIX/MANDRAKE MOVE的话,也可以用它来启动试试
如果是這樣,還不如用‘knoppix 2’启动後挂好兩個硬盤分區:
#mount /mnt/hdbX (原有的slack分區)
#mount /mnt/hda6 (假設已格式化好)
然后:
#cp -a /mnt/hdbX/* /mnt/hda6
#chroot /mnt/hda6
#grub
其他編內核,修改fstab,grub.conf可以參考dreamrise所寫!只是我覺得linux本身的工具就足以應付此??脱u工作有餘(而且即使用不同的文件格式也不會有影響!)

作者: Hauser   发布时间: 2004-04-18

都是不错的方法,谢谢Hauser兄和dreamrise兄啦~

作者: laxi1982   发布时间: 2004-04-18

支持,写详细些啊

作者: 晓逸   发布时间: 2004-04-18

辛苦楼主了
不过不太实用

作者: athlon_r   发布时间: 2004-04-19

我想问一下,为什么一模一样的机子,linux就要重新编译内核?

作者: 小神   发布时间: 2004-04-19

我是初学者 小神说的我不知道哇
上次我用装有中文redhat9的硬盘拿到别人的机子上试(我用gnome图形界面)
启动时跳出一大堆乱码 可能是检测到新硬件吧 我都选择了默认的按钮
到最后却提示刷新率过大 把显示器恢复工厂预制模式也没用 请问这种情况你们有没有遇到过啊 怎么弄回来 我在windows里也碰到过刷新率过大 有时侯重启就可以了 有时不行 怎么弄回来哇

作者: mylinuxmm   发布时间: 2004-08-30

Windows下可以用安全模式改回来,Linux下也可以。

作者: addone   发布时间: 2004-08-31

~~~~~~~~~~~~~~~~~~~~~~~

作者: RAULNAN   发布时间: 2004-08-31

先顶,再收藏,我够意思吧,鄙视那些看帖不回的家伙

作者: lijihuai   发布时间: 2004-11-30

在实验室我玩多了,根本就不用编译内核嘛

官方的内核就可以

作者: jhuangjiahua   发布时间: 2004-11-30

干嘛这么麻烦,用Acronis的TrueImage不就摆平了,他支持Linux.

作者: redsonic   发布时间: 2004-12-01

可以用partimage

作者: addone   发布时间: 2004-12-01

笔记本到笔记本呢?
是不是可以在源机器上做个镜像在复制到目标机器上用呢?

作者: ImHow   发布时间: 2004-12-03

请问我这样的系统怎么ghost?
代码:
/boot ext2
/ reiserfs
/var reiser4
/home xfs

作者: kohno   发布时间: 2004-12-03

引用:
作者: Hauser
把amd整个系统tar起来,在intel机上解开,修改fstab,grub(或lilo),有必要的话重编一下kernel,搞定!
的确是这样,这样才是标准的方法,linux的backup居然要用ghost???不知该怎么说?愚蠢??亵渎??

ghost目前支持的文件系统,fat,fat32,ntfs,ext2,ext3??不能确定??

tar --help

systemimager.org,大概是这个网站,有相关信息~~~

对事不对人~~~

作者: zongyongchun   发布时间: 2005-03-29