PXE(Pre-boot Execution
Environment)是由Intel设计的协议。它可以使计算机通过网络启动。
协议分为client和server两端,PXE
client在网卡的ROM中(但并不是所有的网卡都固化的有)。当client端计算机引导时,BIOS把PXE
client调入内存中执行。
执行过程:
1.client向server端请求IP地址等信息。
2.server端经确认是合法的client后,返回给client端IP地址和bootstrap的位置。
3.client端请求传送bootstrap。
4.server端发送bootstrap。
5.client接到bootstrap后执行它(读取配置文件),返回给用户一个启动菜单。
6.client根据用户的选择,从server端下载相应的启动文件以至到加载一个系统。
实验要求:
1.做为client端的计算机的网卡上有pxe芯片。
2.做为server端的计算机提供DHCP服务和TFTP或MTFTP服务。
3.server端运行有Symantec
GhostCast Server。
4.要从client启动的系统中有Symantec
Ghost程序。
DHCP服务器和TFTP服务器的选择和配置:
使用TFTPD32,其本身具备DHCP和TFTP功能。软件截图如下:
在“IP pool starting
address”里,配置客户端IP地址池,要和服务器处在一个网段(我想通过正确配置网关等信息后客户端和服务器也可以不在一个网段,此想法没有经过实验)。
在“Boot File”里输入PXE引导文件名。此文件可以用3COM Boot Image Editor来制作。
至此,TFTP和DHCP设置完毕。
制作PXE启动文件:
可以使用WIN98启动盘来制作DOS镜像,或者从网上下载镜像(比如MAXDOS,MOUSEDOS,PCDOS,MSDOS等)。
使用WINIMAGE打开DOS镜像文件,删除多余的文件,然后添加DOS下网卡通用驱动程序。
在启动文件中配置网卡通用驱动程序:
DOS下的网卡驱动程序有两种标准
1、Packet Driver
符合此标准的网卡驱动程序通常是一个扩展名为.COM或者.EXE的文件,要加载它只要在命令行下行运这个文件即可。例如8139网卡的驱动程序为RTL8139.COM,则在DOS提示符下输入
rtl8139 0x60 -m 100full
具体网卡驱动需要加什么参数可查看驱动程序包中的相关说明文件。
2、NDIS2 Drivers
符合此标准的网卡驱动程序是一个扩展名为.DOS的文件。要在DOS下加载此种驱动需要以下文件:
第一、网卡的DOS驱动程序文件。我使用的是通用的NDIS.DOS。
第二、Microsoft的NDIS支持文件,包括Protman.exe、protman.dos、Netbind.com三个文件
第三、Ghost中自带的Dis_pkt.dos
第四、protocol.ini文件。其内容如下:
[protman]
drivername=PROTMAN$
[pktdrv]
drivername=PKTDRV$
bindings=nic
intvec=0x60
chainvec=0x66
[nic]
DriverName = UNDIS$
MaxMultiCasts = 10
TxBuffers = 4
RxBuffers = 4
在[nic]这一行之前的内容对任何网卡都是一样的。
在[nic]之后的第一行为DriverName=××××$
,这里的××××是网卡驱动程序名,(请注意区分网卡驱动程序文件名和网卡驱动程序名,网卡驱动程序文件名就是网卡驱动程序保存在硬盘上的文件名,在本例中是NDIS.DOS,网卡驱动程序名是网卡驱动程序内部的一个名字。)通常驱动程序名就是驱动程序文件名去掉扩展名之后的那一部分,比如Sis900的网卡驱动程序文件名是sis900.dos,它的驱动程序名就是sis900。但也有的不是这样,如本例中网卡驱动程序名是pcntnd
。如何知道你的网卡的驱动程序名请查看你的网卡驱动程序包中的相关说明文件。
将以上的六个文件放到同一个文件夹下,本例中放在\net下。编写config.sys,如下:
device=\net\protman.dos /i:\net (/i:\net
指明protocol.ini存放在哪个文件夹下)
device=\net\dis_pkt.dos
device=\net\ndis.dos (这里是网卡的驱动程序,请改为你所用的网卡的驱动程动)
(上述三者的顺序不能反)
编写autoexec.bat,如下:
\net\netbind.com
(netbind.com和protman.exe必须在一个文件夹下)
这样就在DOS下给网卡配置了驱动程序。如果不想使用通用驱动程序,可更改上面的NDIS.DOS为指定的驱动程序。
在autoexec.bat中加入GHOST客户端命令参数:
GHOST.EXE -clone,mode=prestore,src=@mc会话名,dst=1:1 -sure
-rb
注释:客户端自动连接到会话为“会话名”的服务器端,等待服务器端传送一个镜像文件到第一个磁盘第一个分区,恢复完后自动重启计算机。
GHOST.EXE -clone,mode=restore,src=@mc会话名,dst=1 -sure -rb
注释:客户端自动连接到会话为“会话名”的服务器端,等待服务器传送一个镜像文件到第一个磁盘,恢复完后自动重启计算机。
如果对于多台电脑做网刻,那么计算机的IP,计算机名等将一样。可以使用GHOST-IP自动修改器等工具软件来自动修改。
如果还要部署到域环境,那么还需要用sysprep重新封装系统。
另外,emm386.exe,smartdrv.exe等DOS程序也可能提高效率(未做实验测试)。