本工作室主要是写一些技术文章和心得,如有问题,可联系本工作室。

微信:15312167779
QQ:149824844

自动手做win2003PEX网络启动

网络启动就是利用DHCP服务器和TFTP服务器及客户端PXE技术,启动局域网内的客户机。网络启动过程是这样的:客户端发送动态获得IP地址的广播包到网络上,DHCP服务器在收到该广播包后,发送给客户端分配IP地址的回应包,客户端收到回应包后设置自己的IP地址,然后从DHCP服务器获得启动服务器的IP地址(TFTP服务器所在电脑的IP地址)及启动文件名(syslinux的pxelinux.0或者grub4dos的grldr,当然,也可以是startrom.n12或者使用3com Image Edit创建的pxe启动菜单文件,总之,它应该是一种由pxe启动规范规定的固定格式的可执行文件),然后客户端再联系启动服务器(TFTP服务器)获得启动文件并执行,这样基本上就完成了pxe启动过程。

PXE网络启动WinxpPE

 

网络启动WinxpPE,必需这样几个文件:

 

1、startrom.n12:这个文件从Windows2003 SP1/SP2光盘中的STARTROM.N1_解压而来,这个文件实际上也是一个符合pxe启动规范的启动文件,可以直接作为pxe服务器的启动文件来直接运行,这时Tftpd32服务器的DHCP选项卡里面的Boot文件文本框中应填入startrom.n12。当然,它也可以用Grub4DOS菜单的chainloader --force命令来执行。在Windows 2003 sp1/sp2的光盘中,还有一个startrom.com文件,它的作用跟startrom.n12是相同的,只是启动时需要按一个F12键才能继续,而startrom.n12则去掉了F12这个提示。这个文件可从STARTROM.CO_文件解压而来。

 

2、ntldr:这个文件是从Windows2003 SP1/SP2光盘中的setupldr.exe改名而来,并不是我们XP系统盘根目录的ntldr文件。这个文件必须放到TFTP服务器的根目录。setupldr.exe可以从Windows 2003 SP1/SP2光盘中的SETUPLDR.EX_解压而来。

 

3、ntdetect.com:这个就是XP或2003所使用的c:\下的ntdetect.com。这个文件也必须放到TFTP服务器的根目录。也可以从XP或2003光盘获得这个文件。

 

4、winnt.sif:这个是PE的启动配置文件(用来指定PE的系统目录及PE映像文件所在路径及启动选项),这是个文本文件,可以由记事本创建一个文本文档改名获得。这个文件也必须放到TFTP服务器的根目录。通过pxe启动的PE支持3种映像文件格式,例如,ISO、IMG或者SDI。其实,SDI格式相当于IMG格式,只是SDI格式在IMG文件前加了一个文件头。一般我们都使用ISO或IMG格式,但这两种格式的启动选项是有所不同的,ISO格式要在启动选项中增加一个/rdexportascd,而SDI格式还要增加一个/rdoffset选项。下面是winnt.sif文件的代码:

 

[SetupData]

 

BootDevice ="ramdisk(0)"

 

BootPath ="\WXPX\system32\"

 

OsLoadOptions ="/minint /fastdetect/rdexportascd /rdpath = \WXPE\winpe.img"

 

ntdetect.com和winnt.sif文件的名称由ntldr决定,可以用UltraEdit软件修改名称和路径。只需用UltraEdit打开ntldr,点击【查找与替换】,选择【查找ASCII】复选框,搜索到ntdetect.com和winnt.sif,就可以修改名称和路径。ntldr的名称由startrom.n12决定,也可以搜索ntldr字符串,进行修改,同时修改ntldr的文件名。

 

PXE启动PE的过程:startrom.n12获得执行后,在TFTP服务器根目录下寻找ntldr(setupldr.exe),找到后加载ntldr并执行,而ntldr则在TFTP服务器的根目录下查找winnt.sif,根据winnt.sif的内容从TFTP服务器上下载PE的映像文件并根据选项进行PE的加载,在PE的加载过程中会用到ntdetect.com。

 

如果用Grub4DOS菜单启动PE,则菜单命令中可以,直接加载startrom.n12。

 

Grub4DOS多启动菜单启动PE时,菜单命令如下:

 

title WinPE

 

pxe keep

 

chainloader--force (pd)/startrom.n12

 

boot

 

如果用pxelinux.0来启动需要将startrom.n12的文件名改为setupldr.bin,这个文件不是从Windows 2003 SP1/SP2光盘的拷贝而来的那个291KB的文件。它就是PE的启动文件。pxelinux.0只能识别setupldr.bin文件,而不能识别startrom.n12文件。

 

pxelinux.0多启动菜单启动PE时,菜单命令如下:

 

LABEL WinPE

 

MENU LABEL WindowsXP PE

 

kernelWXPE\SETUPLDR.BIN

 

下面是我亲测有效的教程

1,从上面的教程把所有的文件放到一个文件夹里


2,我这里把winnt.sif改成了winnt,把NTDETECT.COM改成了nt(也可以不改始下图)

3,打开tftpd32 设置几个地方如下图



4,虚拟机测试




微信:15312167779(系统交流学习)

邮箱:149824844@qq.com

更多我的学习技术文章:

https://boysky123.lofter.com

https://user.qzone.qq.com/149824844


评论

© JC网络工作室 | Powered by LOFTER