网络Ghost的原理、使用详解及相关文件的解读
内容摘要:了解PXE协议与网络Ghost的原理,掌握增添新网卡驱动的方法,充分利用局域网实现计算机系统的简单快速维护,可显著减轻中小企业、学校网络管理员的维护工作量。
关键词: PXE,Ghost,,Tftpd32,DOS下的网卡驱动,启动映像文件
维护企业与学校计算机的软件系统是件耗时劳神且单调重复的工作,使用赛门铁克公司的Ghost等软件可以高效快捷的在本地硬盘内备份镜像与恢复系统,是现阶段系统维护采用最多的方法,也是绝大多数中小企业、学校网络管理员系统维护工具的首选。
网络流传的一键Ghost、还原精灵等软件更是将系统维护傻瓜化,使普通用户也可体验到Ghost等软件的神奇,可将系统整体恢复到备份时的洁净状态,受到很多用户的欢迎。缺点是若开机多重启动选单损坏,将无法直接完成系统恢复;镜像占用本机硬盘空间较大易被误删,大量用户的镜像文件更新较麻烦;当出现计算机无法使用光盘或U盘引导、硬盘更换后无法分区、本机无镜像文件也难于实施快速恢复系统等状况时维护者会耗费较长时间甚至无法解决,其实赛门铁克的Ghost软件很值得网络管理与维护者深入了解与尝试,可以帮助我们减轻大量的维护负担。
使用Ghost软件不仅可以在本机对分区实现快速备份与恢复等操作,还支持通过网络进行系统的备份与恢复,工作于Client/Server环境下即客户端 /服务器工作模式,条件是客户端要能够加载网卡在DOS环境下的驱动程序(Packet Driver或NDIS2 Driver),在服务端运行GhostSrv.exe,客户端支持PXE启动,通过局域网即可实现维护工作,服务端使用普通PC即可满足要求。
PXE技术简介:
PXE(Preboot Execution Environment,)是Intel公司开发的远程引导技术,工作于C/S的网络模式,支持客户端通过网络从远端服务端下载映像,并由此支持来自网络的操作系统的启动过程。其启动过程中,终端要求服务器分配IP地址,再利用TFTP(trivial file transfer protocol简单文件传输协议)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置与运行,也可由用户选择运行软件包中的某一程序。
网络Ghost的实施步骤:
1、启动服务端的DHCP服务(为待维护的计算机分配动态IP地址)
2、启动服务端的TFTP服务 (为待维护的计算机传输启动文件)
3、启动服务端的GhostSrv服务(接收或发送系统镜像文件)
4、启用待维护计算机的PXE协议
5、通过网络将DOS启动命令及各种网卡驱动和Ghost.exe文件传给待维护的计算机虚拟盘中(内存模拟)
6、在DOS下自动寻找并加载网卡的封包驱动
7、执行Ghost命令,简单选择后开始备份或克隆还原。
工作环境:
以太网同一网段、一台运行视窗Windows2000/xp/2003/vista/7的计算机(配置为网络Ghost服务端)、客户端主板自带网卡(绝大多数支持PXE网络引导启动)
所需文件:
网络Ghost文件夹Pxeboot(内含Tftpd32.exe GhostSrv.exe scb.sys yhtzx.pxe四个文件),下载地址:http://www.yhtzx.net/download/pxeboot.rar
Tftpd32.exe通过网上搜索下载,其作用是在服务端提供DHCP服务和TFTP服务。
GhostSrv.exe可从Ghost企业完全版中得到。
scb.sys用Ghost企业完全版制作得到,是从服务端传到客户端的映像文件。用3Com dbas软件进行编辑修改后,其中包含DOS系统文件、DOS下的各种网卡驱动(NDIS)、Ghost.exe、Microsoft Client的NDIS支持和网卡检测等运行必须的文件(protman.exe、protman.dos、netbind.com、dis_pkt.dos、pcidet.dos、autoexec.bat、comp.dat、config.sys)。还能随着软硬件发展,实现Ghost.exe的更新、增加新网卡驱动与工具软件等。
yhtzx.pxe是引导文件,可用3Com dbas软件选择scb.sys后进行创建得到。
一、配置服务端的Tftpd32(只需TFTP服务器和DHCP服务器)
1、在网络Ghost服务端的计算机网卡上增加一个未用网段的IP地址(例如192.168.10.8),目的是不影响现有的网络地址管理。
2、点击浏览按钮将当前目录指向网络Ghost文件所在的目录(例如Pxeboot)。
3、点击Tftp server选项卡中的设置按钮,将基本目录指向网络Ghost文件所在的目录(例如Pxeboot),全局设置中只勾选TFTP服务器和DHCP服务器, TFTP安全选标准,TFTP构建取默认值,高级TFTP选项中只选PXE兼容模式和显示进度条,点击OK保存。
4、点击DHCP server选项卡,定义IP地址池起始地址(如192.168.10.50),IP地址池大小(即分配的地址个数,如30),启动文件填写yhtzx.pxe,WINS/DNS服务器和默认网关填写您新增的IP地址(如192.168.10.8),子网掩码填写255.255.255.0,域名可不填,点击保存并关闭Tftpd32.exe。
二、上传客户端分区或硬盘镜像至服务端硬盘内
服务端设置与操作:
1、双击Pxeboot文件夹中的Tftpd32.exe启动服务,服务器地址选择新增的IP地址。
2、双击GhostSrv.exe,设置会话名称(自定,如q),选择创建影像,意思是将客户端的某一分区或硬盘形成.gho镜像文件上传至服务端。
3、在映像文件栏浏览选择您将要存放.gho镜像文件的文件夹,填入容易理解的西文文件名(如lx.gho),保存;选择磁盘或分区(默认为全盘,通常我们使用较多的为分区)。
4、点击更多选项展开生成客户端命令行选项,选择磁盘号(1为第一块、2为第二块、……);分区号(1为C盘、2为D盘、……),点击接受客户端等待连接即可。
客户端设置与操作:
1、启动客户端计算机
在需做系统维护的计算机上设置好支持网络引导启动,在BIOS中启用(Enable):Onboard LAN BOOT ROM或PXE Boot Rom、设置第一启动设备为Lan等操作,不同主板的界面、内容有所区别,开机后等待获取IP地址(便携式计算机通常按F12键,部分台式计算机也支持按F12键从网络引导)、并传送引导文件yhtzx.pxe、自启动芯片PXE Boot ROM将使用TFTP 通讯协议从服务器下载开机映像文件scb.sys、加载后自动找寻网卡DOS下的封包驱动、完成后自动运行Ghost.exe,点击OK或回车后进入下一步。
这时客户端的屏幕上会依次出现:
PXE的厂商版本号、版权说明
DHCP、TFTP进程的提示
获取的IP地址、子网掩码、DHCP服务器地址、网关地址等信息
PXE Menu Boot File V1.1(PXE 菜单的版本)
Transferring image file..(提示正在传输映像文件scb.sys)
Starting PC DOS…(启动PCDOS系统)
Detecting PCI Network Card(检测网卡型号)
Locating PCI BIOS….Found
Searching [Realtek RTL8139 Family Fast Ethernet NIC ] Found(表示已自动检测到RTL8139网卡并加载DOS驱动)
Loading…..(批处理启动Ghost.exe),这时按回车键进入下一步。
2、选择Ghost cast的Multicast(多播),在Ghost cast session name to join窗口中键入服务端预定的会话名称(如q),回车确定。
3、在出现的Select local soure drive by clicking on the drive number窗口选择本地硬盘(通常只有一个,多个要注意),回车确定。(键盘操作为Alt+O)
4、在出现的Select soure partition(s) form Basic drive1中已经默认选择第一块硬盘的第一个分区(Part为1,Type为Primary),通常为C盘,是在服务端预先的命令行设置,回车立即开始恢复系统,完成后会自动重新启动。
5、下一步将出现Compress Image file?压缩选项(No为不压缩、Fast为快速压缩、High为高压缩),现在硬盘空间都很大,可直接选No以节约时间,确定即可开始将本地的分区或硬盘镜像上传。
小技巧:DOS环境下已加载鼠标驱动,若鼠标无法使用可使用键盘上的方向键、回车键、Alt+对应字母组合键完成操作,实践证明比使用鼠标更加方便快捷,对应字母下方有一横线。
三、从服务端将镜像文件传给客户端恢复系统分区或硬盘数据
服务端设置与操作:
1、双击Pxeboot文件夹中的Tftpd32.exe启动服务,服务器地址选择新增的IP地址。
2、双击GhostSrv.exe,设置会话名称(自定,如q),选择恢复映像(默认值),即从服务端将.gho文件传到系统损坏的计算机中进行分区或硬盘数据恢复。
3、在映像文件栏浏览选择以前上传的系统备份文件(.gho),选择全盘或分区恢复(默认为全盘)。
4、点击更多选项,若选择分区恢复,请在此栏中选择分区(通常只有一项)。
5、在客户端命令行选项中选择磁盘号(1为第一块、2为第二块……),分区号(1为C盘、2为D盘……)
6、在客户端计数中填写需恢复的机器数(单台为1),点击接受客户端等待连接即可。
客户端设置与操作:
1、在需系统还原的计算机上设置好支持网络启动(启动客户端计算机的详细过程见前面二的描述)。
2、选择Ghost cast的Multicast,在Ghost cast session name to join窗口中键入服务端预定的会话名称(如q),回车确定。
3、在出现的Select local destination drive by on the drive number窗口选择本地硬盘(通常只有一个,多个要注意),回车确定。
4、在出现的Select destination partition form basic drive1中已经默认选择第一块硬盘的第一个分区(Part为1,Type为Primary),通常为C盘,是源于在服务端预先的设置,回车后立即开始恢复系统,完成后会自动重新启动。百兆局域网理想值为每分钟传输12.5MB*60=750MB,考虑到以太网的效率与开销,通常情况下传输速度可达到500MB/min以上,如恢复安装有WindowsXP系统及常用应用软件的C盘仅需10多分钟。
四、修改启动映像文件scb.sys与网卡数据的更新方法
(一)、所需软件
安装3Com dbas软件后,运行开始菜单里3Com Boot services下的Boot Image Editor进入编辑状态,点击Edit an existing file按钮选择scb.sys映像文件即可进行编辑修改(映像文件去掉只读属性)。
(二)、解读comp.dat文件
将comp.dat右键Edit打开可见:
0024
\net\0001\$
……
\net\000A\$
……
\net\0024\$
00F6 : Number of devices
10EC 8139 0001 : Realtek RTL 8139/810x Fast Ethernet Controller $
……
1039 0191 0024 : SiS191 1000/100/10 Ethernet Device $
1、 第一行0024代表现有的驱动文件数量为36种(注意它是以16进制表示)
2、 \net\0024\$表示在net目录下共有36种网卡驱动(16进制数0024对应于10进制的36)
3、 00F6 : Number of devices表示网卡数量,00F6为16进制数,表示共有246种网卡,由于产品的更新调整升级等原因,PCI标识不同的网卡驱动完全可能相同,如1039 0900 和1039 0190及1039 0191使用的皆为\net\0024目录下的SIS900.DOS驱动。
4、 1039 0191 0024 : SiS191 1000/100/10 Ethernet Device $
这行的1039为厂商代号,这里表示台湾矽统科技公司,0191为SiS191 10/100/1000 Ethernet Device的网卡设备代号,0024表示使用\net\0024目录下的驱动SIS900.DOS,
(三)、网卡的Vendor(厂商)与Device(设备代号)的Identification(标识符)
打开设备管理器,双击相应的网络适配器,点击“详细信息”标签,出现设备范例ID为:
PCI\VEN_10EC&DEV_8139&SUBSYS_813910EC&REV_10\3&61AAA01&0&70
(注意VEN_ 和 DEV_后面的16进制数字)
VEN值为10EC,表示Vendor(厂商代号)为瑞昱Realtek
DEV值为8139,表示Device(设备代号)为8139,网卡芯片为RTL 8139系列。
(四)、例:添加新的网卡驱动,且映像文件中没有任何数据
1、从主板的驱动盘或网卡生产厂商的官方网站下载相应的网卡NDIS驱动,通常在DOS目录下。
例:增加Broadcom NetXtreme II 5706 Gigabit NIC Driver
驱动下载地址为http://zh-cn.broadcom.com/support/ethernet_nic/downloaddrivers.php
找寻此网卡的DOS NDIS2驱动,下载得到bxnd20x.dos
2、在net目录下递增类似的xxxx的目录(xxxx为16进制数),方法是在Directory菜单下点击Create,输入目录号,如0025(原来到0024止)。
3、拷贝相应的NDIS驱动的.dos文件到新建的目录下。
例:进入0025目录,点击Add选择驱动所在目录(在文件类型中选择All File方可显示驱动文件),打开bxnd20x.dos,点击Close关闭即可。
4、从其它目录拷贝DOIT.BAT和protocol.ini到新建的目录下。
5、编辑修改DOIT.BAT内容将其指向新增的NDIS驱动.dos文件所在的路径,
例:修改后DOIT.BAT命令为DEVICE \net\0025\bxnd20x.DOS
6、修改protocol.ini
标准格式:
[protman]
drivername=PROTMAN$
[pktdrv]
drivername=PKTDRV$
bindings=nic
intvec=0x60
chainvec=0x66
[nic]
drivername=driver_file_name$
例:已修改的内容:
[protman]
drivername=PROTMAN$
[pktdrv]
drivername=PKTDRV$
bindings=nic
intvec=0x60
chainvec=0x66
[nic]
drivername = bxnd20x $
注:[nic]前面的都无须修改,只要改[nic]下方的一条drivername =驱动文件名$即可。
7、修改comp.dat文件:
查找VEN_ 和 DEV_后面的16进制数字,查到为14E4和164A
在comp.dat 的网卡列表中或最后面一行添加如下格式的数据:
VEN_# DEV_# 网卡驱动所在文件夹编号(16进制): 网卡描述 $
如:14E4 164A 0025: Broadcom NetXtreme II 5706 Gigabit NIC $
14E4为美国博通公司,164A为Broadcom NetXtreme II 5706千兆网卡代号,0025为驱动所在文件夹编号,自动找到该网卡的驱动时,会在客户端的屏幕上显示网卡描述 [Broadcom NetXtreme II 5706 Gigabit NIC] Found
将第一行的驱动数0024改为0025,在\net\0024\$下方增加一行\net\0025\$
将Number of devices前面的16进制数字加1
如原来为00F6 : Number of devices
现需改为00F7 : Number of devices(表示收录有247种网卡)
修改完点击OK保存
注:若已有网卡驱动,只需完成7、修改comp.dat文件即可,其中的第一行的驱动数无须增加。
(六)、根据需要自行添加工具软件
为了解决有些计算机无法引导的难题,可在根目录下创建TOOLS文件夹,里面添加些如DM、PQ等磁盘工具,可在客户机通过PXE引导进入Ghost界面后选择退出,在DOS命令行下进入相应的目录下执行相应的命令,可实现全盘分区、格式化、调整分区等操作。
五、几点建言
1、慎用克隆盘
有众多IT爱好者将已安装有系统软件、常用应用软件、常见设备驱动程序的系统通用镜像文件和各种维护工具集于一张CD-ROM内(俗称克隆盘),通过互联网流传或经过IT市场盗版商贩提供给用户,只要计算机能从光盘启动,光盘运行后选择系统恢复到计算机的C盘,几乎不要过问就可完成系统重装,且驱动安装到位,常用软件应有尽有,确实解决了很多人的维护难题。存在的问题是使用这种光盘是不折不扣的盗版行为,并随着硬件设备的急剧增多而导致驱动文件库很庞大,安装也需花费较长的时间方可完成。由于光盘空间所限不得已而删除了某些功能导致文件不完整等原因,用这种方法安装的系统初期使用感觉很快,经一段时间后就会发现运行速度明显下降,还常发生些蓝屏白字与错误提示等稀奇古怪的问题,更重要的是这种光盘在制作与流传过程中会被别有用心的人注入木马,发生上网帐号被盗用购物、游戏充值,文件被盗取等恶劣事件,安全问题令人担忧,对光驱老化或无光驱的计算机也难以使用克隆盘进行系统安装,建议以应急处理时使用为佳。
2、推荐采用标准安装
用原始系统光盘进行标准安装过程需应付如输入安装序列号、计算机名、帐号、密码等各种应答,完成后还需进行打补丁与安装设备驱动、根据需要安装各种应用软件等,将会耗费较长的时间,但采用这种方法安装的计算机系统文件完整,是根据用户的需求定制安装而成,虽运行速度略慢,当通常会在较长时间内安全稳定运行,应做为系统维护的首选方法。建议在各种软件安装完成后对系统进行全面测试与优化,根据单位或自身需要部署安全设置(如修改组策略、注册表等),并在正式使用前将系统分区通过网络备份到选做服务端的计算机上妥善保存,以备日后系统维护调用。
3、无法通过PXE引导的处理方法
对于无法直接使用PXE引导启动的计算机,可用光盘或U盘等介质启动后加载刻在光盘或写在U盘上的网卡封包驱动(可到厂商的光盘或网站上下载,扩展名为.com或.exe,可直接运行),再运行介质上的Ghost.exe进入网络Ghost界面。
使用单插网卡的计算机也可将PXE协议代码写进主板BIOS的芯片中(如可选用常见的瑞昱Realtek RTL 8139网卡,去瑞昱厂商网站下载PXE代码),这种方法虽有一定的风险,但只要精心操作,成功率很高,可达到一劳永逸的效果。
南京市雨花台中学信息处 史成宝
邮箱:njyzscb@163.com
学校网址:http://www.yhtzx.net