最近研究了使用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=\'#\'"
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