PXE BOOT DIY自己的网络启动工具集合之三

        上一篇文章已经实现了windows的远程安装.有时候我们需要用一些维护工具来修复我们已有的操作系统,微软开发了winpe,还有类似的第三方工具ERD COMMAND 2005,在此基础上,由微软的WINPE,很多网友进行了改造,强化了wnipe的功能,加入了更多的组件.几乎就可以在光盘上运行一个操作系统了.常用的软件都有.
       需要说明的是,WINPE分为RAM启动方式和非RAM启动方式,只有前者可以被我们用于PXE方式。
       如果有兴趣,自己DIY一个winpe的启动光盘也可以,相关文章可以自己去网上查找.例如无忧启动论坛,911CD,这里需要做的事情,就是不用光驱来启动这个winpe.
  
通过 PXE启动PE需要这么几个文件:

1)startrom.n12:这个文件从Windows 2003 SP1/SP2光盘中来,由i386/startrom.n1_解压缩得到,解压缩可以用windows自带的工具expand.以后遇到同样的压缩方式都可以这样解压缩。

2)ntldr:这个文件是从Windows 2003 SP1/SP2光盘中的setupldr.exe改名而来,它的作用应该相当于从本地硬盘启动PE的setupldr.bin,但两者并不相同,但它决不是我们平常所使用的ntldr。这个文件必须放到TFTP服务器的根目录。
3)ntdetect.com:这个就是XP或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的示例:
[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是没有用的。替换方法可以用上一篇中的sed命令,也可以用UE这样的16进制编辑器打开文件后查找替换。


5)PE映像文件(IMG或者ISO或者SDI格式,例如 WinPE.IMG):这里特别要注意的就是PE的映像文件一定不能使用cab压缩格式,如果你用老毛桃的PE,一定要将它光盘根目录下的 WinPE.IS_解压缩成 winpe.iso然后放到这里使用。这样,IMG格式的PE就比较有优势了,因为IMG格式是硬盘分区映像格式,你可以对这个分区使用NTFS文件系统并加上NTFS压缩,基本上压缩率也接近cab压缩格式,这样img文件就没有必要使用cab压缩但仍然具有cab的压缩率,而且img格式可以直接使用Virtual Disk Manager(VDM)挂载并进行编辑,修改起来比较方便。另外,这个PE映像文件没有必要放在TFTP服务器的根目录下,例如上面的winnt.sif中就将 winpe.img放在了TFTP服务器的/netpe.c/目录下。


PXE启动PE的过程大致是(可能也不是很严谨):startrom.n12获得执行后,在TFTP服务器根目录下寻找ntldr(setupldr.exe),找到后加载ntldr并执行,而ntldr则在TFTP服务器的根目录下查找winnt.sif,根据winnt.sif的内容从TFTP服务器上下载PE的映像文件并根据选项进行PE的加载,在PE的加载过程中可能会用到ntdetect.com。
 
OK。现在可以启动WINPE了。体验一下无盘工作站的感觉吧。嘻嘻。需要说明的是,部分经过网友修改的WINPE由于体积较大,占用内存较多,在内存小于256M的机器上可能无法正常启动。如果试图启动,只能对winpe进行精简,在试验中,我将虚拟机的内存增加到384M,就可以顺利启动了。

你可能感兴趣的:(网络,Boot,WinPE,pxe,启动工具)