最近研究了使用PXE来通过网络启动安装操作系统的方式,此技术主要涉及以下几个步骤:
配置DHCP服务器和TFTP服务器
配置PXEboot环境
配置安装windows的开机image和相关文件
配置网络匿名共享
配置Binl Server

网上几乎所有文档都是基于LINUX建立的服务器,过程比较复杂,建立服务器所花费的时间较长,

而且不熟悉LINUX的人员操作上有些难度。

本人在总结前人经验的基础上,在windowsxp服务器上成功建立了PXEboot安装WindowsXP的服务器

,不敢有所保留,特意拿出和大家分享。要出现以下的文件如图:

配置DHCP服务器和TFTP服务器

   DHCP服务器的作用是当目标机启动后,向目标机分配IP地址,并告知目标机启动文件所在的服务器

和启动文件名。然后目标机使用TFTP协议从TFTP服务器获取启动文件。

LINUX下边这两个服务要单独配置,过程较为复杂。我从网友的文献中发现了一个名叫TFTPD32的工具。

此工具在WINDOWS下运行,并可以同时提供DHCP和TFTP服务,执行文件只有200K左右,而且非常配置

简单。从这个链接下载TFTPD32工具:

http://www.onexe.com/down.php?id=2e32228d9b4cf544e94e1929eeb71308&en=Tftpd32+%BA%BA%BB%AF%B0%E6

   将解压后的文件放到一个目录,我的是D:\tftp。本文以后说到D:\tftp时都是指我自己配置时使

用的目录,可以根据你自己的情况修改。

看我的配置:

此图中    server interface       是服务器的IP地址
           IP poolstarting address是分配给目标机的IP地址
           Size of pool                  有多少连续的IP地址可以分配
            Boot File                       启动文件名,就写pxelinux.0
           WINS/DNS Server        你所在网络的DNS服务器IP地址
           Default route               默认网关
           Mask                            子网掩码

配置PXEboot环境

   从此软件去我的网盘下载http://zhang042032.ys168.com

下载文件,使用WINRAR打开,解压出pxelinux.0文件、com32/modules/menu.c32文件、

memdisk/memdisk 文件。将这些文件拷贝到D:\tftp目录。并在E:\tftp建立名为pxelinux.cfg子目录,然后在

pxelinux.cfg子目录下建立一个名为default的文件,内容为:以下内容中的字母一定要

注意大小写请严格按照说的来做!!负责自己就要后悔了!!!

DEFAULT menu.c32
PROMPT 0
ALLOWOPTIONS 0
TIMEOUT 50

MENU TITLE PXELinux Menu

LABEL winxp
MENU LABEL winxp
kernel winxp.0

配置安装windows的开机image

    在D:\tftp目录建立子目录winxp,将windows安装光盘上的i386目录拷贝到D:\tftp\winxp目录,这样就有了

目录D:\tftp\winxp\i386目录。

    将c:\windows\inf目录下的所有文件拷贝到D:\tftp\winxp\i386目录。(是拷贝目录下的文件,而不是目录)

    将i386下的文件startrom.n1_ 使用winrar解压得到文件startrom.n12,将此文件更名为winxp.0,移动到目录D:\tftp

    将i386下的文件setupldr.ex_ 使用winrar解压得到文件 setupldr.exe,将此文件更名为NTLDR,(注意此

文件一定要大写)移动到目录D:\tftp

    将 i386下的文件ntdetect.com拷贝到D:\tftp

    在D:\tftp目录下建立文件winnt.sif,内容如下(注意修改其中的IP为你服务器的IP):

[data]
floppyless = "1"
msdosinitiated = "1"
; Needed for second stage
OriSrc = "\\192.168.0.3\reminst\winxp\i386"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1

[SetupData]
OsLoadOptions = "/fastdetect"
; Needed for first stage
SetupSourceDevice = "\Device\LanmanRedirector\192.168.0.3\reminst\winxp"

[UserData]
ComputerName = *
; if needed
;ProductID=

配置网络匿名共享

    目标机启动了WINXP的安装程序后,XP的安装文件需要通过网络共享的方式拷贝过去。这时需要配置你

的WINDOWS机器开启匿名共享。步骤如下:

将E:\tftp目录共享,共享名为reminst。 注意共享权限中加入everyone,如果为NTFS分区,同时还要

注意此目录的读写权限中也加入everyone。
启动guest用户,并将guest用户密码置空

从控制面板->管理工具进入“本地安全策略”,在本地策略->用户权利指派下找到“拒绝从网络访问

这台计算机”,从中删除guest用户

从控制面板->管理工具进入“本地安全策略”,在本地策略->安全选项下找到“让每个人权限应用于

匿名用户”,将其启用。找到“可匿名访问的共享”,在其中加入reminst

配置Binl Server

此软件去我的网盘下载http://zhang042032.ys168.com下载Binl Server和ris-linux-0.4文件,ris-linux-0.4解压

到目录D:\tftp\ris-linux-0.4,此程序的作用是搜索适合目标机的网卡驱动程序并发送给目标机。Binl Server

文件解压目录D:\tftp\winxp

   从http://www.python.org/ftp/python/2.5.1/python-2.5.1.msi也可以从此软件去我的网盘下载

http://zhang042032.ys168.com下载软件包,然后安装。此软件包用来支持python语言,因为

ris-linux-0.2是用python语言和C语言写的。如图:

d:\tftp\ris-linux-0.2\infparser.py d:\tftp\winxp<此处是因为你刚才把所有的INF文件都放到这里面了成以要在这里生成nice.txt>

d:\tftp\winxp\binlsrv.exe

binlsrv.exe会一直运行,不要关闭它。

至此服务端配置完毕,你可以启动客户端(目标机)了,进入BIOS,选择从网络启动。
来自: http://hi.baidu.com/itzjr/blog/item/c5e150cf5c40a837f9dc6109.html