【原创】基于PXE的网络克隆(DOS版)操作系统使用 2008-03-06 15:12:22 阅读52 评论0 字号:大中小 订阅 PXE基本工作原理: 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 具体网卡驱动需要加什么参数可查看驱动程序包中的相关说明文件。 符合此标准的网卡驱动程序是一个扩展名为.DOS的文件。要在DOS下加载此种驱动需要以下文件: 第一、网卡的DOS驱动程序文件。我使用的是通用的NDIS.DOS。 第二、Microsoft的NDIS支持文件,包括Protman.exe、protman.dos、Netbind.com三个文件 第三、Ghost中自带的Dis_pkt.dos 第四、protocol.ini文件。其内容如下: [protman] 在[nic]之后的第一行为DriverName=××××$ ,这里的××××是网卡驱动程序名,(请注意区分网卡驱动程序文件名和网卡驱动程序名,网卡驱动程序文件名就是网卡驱动程序保存在硬盘上的文件名,在本例中是NDIS.DOS,网卡驱动程序名是网卡驱动程序内部的一个名字。)通常驱动程序名就是驱动程序文件名去掉扩展名之后的那一部分,比如Sis900的网卡驱动程序文件名是sis900.dos,它的驱动程序名就是sis900。但也有的不是这样,如本例中网卡驱动程序名是pcntnd 。如何知道你的网卡的驱动程序名请查看你的网卡驱动程序包中的相关说明文件。 编写autoexec.bat,如下: 这样就在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程序也可能提高效率(未做实验测试)。 |
|