网络Ghost的原理与使用详解及相关文件解读
2009-01-15史成宝
史成宝
摘要 了解PXE协议与网络Ghost的原理和掌握增添新网卡驱动的方法,充分利用局域网实现计算机系统的简单快速维护,可显著减轻中小企业和学校网络管理员的维护工作量。
关键词 PXE;Ghost;Tftpd32;DOS下的网卡驱动;启动映像文件
中图分类号:TP393.08 文献标识码:B 文章编号:1671-489X(2009)33-0073-03
Axiom and Manual of Ghost Network with Explanation of Related Documents//Shi Chengbao
Abstract Understanding the Ghost network protocol and PXE principle, master the method of adding new NIC driver and make full use of LAN to realize simple fast maintenance of the computer system, which can significantly reduce the amount of maintenance of small and medium-sized enterprises and the school network administrators.
Key words PXE; Ghost; Tftpd32; NDIS; Boot image file
Authors address Department of Information, Yuhuatai High School, Nanjing, 210012, China
维护企业与学校计算机的软件系统是件耗时、劳神且单调重复的工作,使用赛门铁克公司的Ghost等软件可以高效快捷地在本地硬盘内备份镜像与恢复系统,是现阶段系统维护采用最多的方法,也是绝大多数中小企业、学校网络管理员系统维护工具的首选。
网络流传的一键Ghost、还原精灵等软件更是将系统维护傻瓜化,使普通用户也可体验到Ghost等软件的神奇,可将系统整体恢复到备份时的洁净状态,受到很多用户的欢迎。缺点是若开机多重启动选单损坏,将无法直接完成系统恢复;镜像占用本机硬盘空间较大易被误删,大量用户的镜像文件更新较麻烦;当出现计算机无法使用光盘或U盘引导、硬盘更换后无法分区、本机无镜像文件也难于实施快速恢复系统等状况时,维护者会耗费较长时间甚至无法解决。其实赛门铁克的Ghost软件很值得网络管理与维护者深入了解与尝试,可以帮助减轻大量的维护负担。
使用Ghost软件不仅可以在本机对分区实现快速备份与恢复等操作,还支持通过网络进行系统的备份与恢复,工作于Client/Server(C/S)环境下即客户端/服务器工作模式,条件是客户端要能够加载网卡在DOS环境下的驱动程序(Packet Driver或NDIS2 Driver),在服务端运行GhostSrv.exe,客户端支持PXE启动,通过局域网即可实现维护工作,支持Windows9x/2000/XP/2003/Vista/2008/7等计算机系统,服务端使用普通PC即可满足要求。
1 PXE技术简介
PXE(Preboot Execution Environment)是Intel公司开发的远程引导技术,工作于C/S的网络模式,支持客户端通过网络从远端服务端下载映像,并由此支持来自网络的操作系统的启动过程。其启动过程中,终端要求服务器分配IP地址,再利用TFTP(Trivial File Transfer Protocol,简单文件传输)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置与运行,也可由用户选择运行软件包中的某一程序。
2 网络Ghost的实施步骤
1)启动服务端的DHCP服务(为待维护的计算机分配动态IP地址);2)启动服务端的TFTP服务(为待维护的计算机传输启动文件);3)启动服务端的GhostSrv服务(接收或发送系统镜像文件);4)启用待维护计算机的PXE协议;5)通过网络将DOS启动命令及各种网卡驱动和Ghost.exe文件传给待维护的计算机虚拟盘(内存模拟);6)在DOS下自动寻找并加载网卡的封包驱动;7)执行Ghost命令,简单选择后开始备份或克隆还原。
3 工作环境
以太网同一网段、一台运行视窗Windows2000/XP/2003/Vista/7的计算机(配置为网络Ghost服务端)、客户端主板自带网卡(绝大多数支持PXE网络引导启动)。
4 所需文件
网络Ghost文件夹Pxeboot(内含Tftpd32.exe、GhostSrv.exe、scb.sys、yhtzx.pxe四个文件),下载地址:http://www.yhtzx.net/download/pxeboot.rar。
Tftpd32.exe也可下载得到,其作用是在服务端提供DHCP服务和TFTP服务。
GhostSrv.exe可从Ghost企业完全版中得到,其作用是提供网络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后进行创建得到。
5 配置服务端的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。
6 上传客户端分区或硬盘镜像至服务端硬盘内
6.1 服务端设置与操作1)双击Pxeboot文件夹中的Tftpd32.exe启动服务,服务器地址选择新增的IP地址。2)双击GhostSrv.exe,设置会话名称(自定,如q),选择创建影像,意思是将客户端的某一分区或硬盘形成.gho镜像文件上传至服务端。3)在映像文件栏浏览选择将要存放.gho镜像文件的文件夹,填入容易理解的西文文件名(如lx.gho),保存;选择磁盘或分区(默认为全盘,通常使用较多的为分区)。4)点击更多选项展开生成客户端命令行选项,选择磁盘号(1为第一块、2为第二块……);分区号(1为C盘、2为D盘……),点击接受客户端等待连接即可。
6.2 客户端设置与操作
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+对应字母组合键完成操作,实践证明比使用鼠标更加方便快捷,对应字母下方有一横线。
7 从服务端将镜像文件传给客户端,恢复系统分区
或硬盘数据
7.1 服务端设置与操作1)双击Pxeboot文件夹中的Tftpd32.exe启动服务,服务器地址选择新增的IP地址。2)双击GhostSrv.exe,设置会话名称(自定,如q),选择恢复映像(默认值),即从服务端将.gho文件传到系统损坏的计算机中进行分区或硬盘数据恢复。3)在映像文件栏浏览选择以前上传的系统备份文件(.gho),选择全盘或分区恢复(默认为全盘)。4)点击更多选项,若选择分区恢复,请在此栏中选择分区(通常只有一项)。5)在客户端命令行选项中选择磁盘号(1为第一块、2为第二块……),分区号(1为C盘、2为D盘……)。6)在客户端计数中填写需恢复的机器数(单台为1),点击接受客户端等待连接即可。
7.2 客户端设置与操作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.5 MB×60=750 MB,考虑到以太网的效率与开销,通常情况下传输速度可达到500 MB/min以上,如恢复安装有WindowsXP系统及常用应用软件的C盘仅需10多分钟。
8 修改启动映像文件scb.sys与网卡数据的更新方法
8.1 所需软件安装3Com dbas软件后,运行开始菜单里3Com Boot services下的Boot Image Editor进入编辑状态,点击Edit an existing file按钮选择scb.sys映像文件即可进行编辑修改(映像文件去掉只读属性)。
8.2 解读comp.dat文件
将comp.dat右键Edit打开可见:
0024
et 001$
……
et 00A$
……
et 024$
00F6 : Number of devices
10EC81390001 : Realtek RTL 8139/810x Fast Ethernet Controller$
……
103901910024 : SiS191 1000/100/10 Ethernet Device$
1)第一行0024代表现有的驱动文件数量为36种(注意它是以16进制表示)。
2) et 024$表示在net目录下共有36种网卡驱动(16进制数0024对应于10进制的36)。
3)00F6 : Number of devices表示网卡数量,00F6为16进制数,表示共有246种网卡,由于产品的更新调整升级等原因,PCI标识不同的网卡驱动完全可能相同,如“10390900”和“10390190”及“10390191”使用的皆为 et 024目录下的SIS900.DOS驱动。
4)“103901910024 : SiS191 1000/100/10 Ethernet Device$”,这行的1039为厂商代号,表示台湾矽统科技公司;0191为SiS191 10/100/1000 Ethernet Device的网卡设备代号;0024表示使用 et 024目录下的驱动SIS900.DOS。
8.3 网卡的Vendor(厂商)与Device(设备代号)的Identification(标识符)打开设备管理器,双击相应的网络适配器,点击“详细信息”标签,出现设备范例ID为:“PCIVEN_10EC&DEV_8139&SUBSYS_813910EC&REV_103&61AAA01&0&70”。注意VEN_和DEV_后面的16进制数字:VEN值为10EC,表示Vendor(厂商代号)为瑞昱Realtek;DEV值为8139,表示Device(设备代号)为8139,网卡芯片为RTL 8139系列。
8.4 例:添加新的网卡驱动,且映像文件中没有任何数据
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 et 025xnd20x.DOS。
6)修改protocol.ini。
例如已修改的内容:
[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 II5706GigabitNIC$”,14E4为美国博通公司,164A为Broadcom NetXtreme II 5706千兆网卡代号,0025为驱动所在文件夹编号,自动找到该网卡的驱动时,会在客户端的屏幕上显示网卡描述:“[Broadcom NetXtreme II 5706 Gigabit NIC] Found”。将第一行的驱动数0024改为0025,在 et 024$下方增加一行 et 025$,将Number of devices前面的16进制数字加1。如原来为“00F6 : Number of devices”,现需改为“00F7 : Number of devices”(表示收录有247种网卡)。修改完点击OK保存。注:若已有网卡驱动,只需完成“7)修改comp.dat文件”即可,其中的第一行的驱动数无须增加。
8.5 根据需要自行添加工具软件为了解决有些计算机无法引导的难题,可在根目录下创建TOOLS文件夹,里面添加些如DM、PQ的磁盘工具,可在客户机通过PXE引导进入Ghost界面后选择退出,在DOS命令行下进入相应的目录下执行相应的命令,可实现全盘分区、格式化、调整分区等操作。
9 几点建言
1)市面及网络流传的系统安装克隆盘问题较多,请慎用,推荐系统采用标准基础安装,在系统补丁、设备驱动、应用软件安装完成后进行优化,耗时虽较长但很稳定。
2)使用单插网卡的计算机无法通过PXE引导,可将PXE协议代码写进主板BIOS的芯片中(如可选用常见的瑞昱Realtek RTL 8139网卡,PXE代码可去厂商网站下载),这种方法虽有一定的风险,但只要精心操作,成功率很高,可达到一劳永逸的效果。