|
|
PXE启动PE的过程大致是(可能也不是很严谨):startrom.n12获得执行后,在TFTP服务器根目录下寻找ntldr(setupldr.exe),找到后加载ntldr并执行,而ntldr则在TFTP服务器的根目录下查找winnt.sif,根据winnt.sif的内容从TFTP服务器上下载PE的映像文件并根据选项进行PE的加载,在PE的加载过程中可能会用到ntdetect.com。
PXE启动PE需要几个文件:
1. startrom.n12 文件从Windows 2003 SP1/SP2光盘,是符合pxe启动规范的启动文件,可以直接作为pxe服务器的启动文件来直接运行
在Windows 2003 sp1/sp2的光盘中,还有startom.com文件,它的作用跟startom.n12是相同的,只是启动时需要按一个F12键才能继续,而startrom.n12则去掉了F12这个提示。
2. ntldr是从Windows 2003 SP1/SP2光盘中setupldr.exe改名,作用相当于从本地硬盘启动PE的setupldr.bin,但两者并不相同,它不是我们平常所使用的ntldr。这个文件必须放到TFTP服务器的根目录。
3. ntdetect.com 这个2003所用的c:\下的ntdetect.com。这个文件也必须放到TFTP服务器的根目录。
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的示例:
CODE:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\I386\SYSTEM32\"
OsLoadOptions = "/minint /fastdetect /rdpath=\netpe.c\winpe.img"
;OsLoadOptions = "/minint /fastdetect /rdexportascd /rdpath=WINPE.ISO"
另外,winnt.sif文件要注意BootPath选项,默认指向"\I386\SYSTEM32"目录,但老毛桃的PE将I386目录修改成了WXPE,这里要作对应的修改,同时还要修改 2 中的ntldr文件,将其中所有的I386替换为WXPE。只是修改winnt.sif没有用。
5. PE映像文件(IMG或ISO或SDI格式,如WinPE.IMG) 这里要注意的是PE的映像文件不能使用cab压缩格式,如果用老毛桃的PE,要将光盘根目录下的WinPE.IS_解压缩成winpe.iso然后放到这里使用。IMG格式的PE比较有优势,可以使用NTFS文件系统并加上NTFS压缩,这样img文件仍具有cab的压缩率,而且img格式可以直接使用VDM挂载编辑,修改方便。这个PE映像文件没有必要放在TFTP服务器的根目录下,如上面的winnt.sif中就将winpe.img放在了TFTP服务器的/netpe.c/目录下。
[ 本帖最后由 dvd008 于 2009-5-9 17:02 编辑 ] |
|