想要DIY首先就必需知道PE的启运过程,这样,我们才好进行随意的DIY!
在这里主要是介绍启动文件名及目录的DIY,内核里加载的外置或内置程序和属性的DIY暂时不做介绍,不过学会了这个,内核里面加载外置程序和修改属性就很容易上手了.
PE启动过程:
下面为个人理解的几种启动方式的启动过程中的一些步骤,这些步骤多数是制作PE合盘的时候需要修改的地方,错误之处请指正!
一、纯PE启动方式
1.?加载引导区代码,相当于硬盘的MBR
修改方法:
a)用UltraISO打开ISO文件,选择“启动”->“保存引导文件”,即可得到引导文件(大小为2k),比如文件名为pe.bif(使用easyboot启动PE时即调用此文件)
b)此文件中可以修改的地方有两处,用UltraEdit打开,找到下图中的位置,其中SETUPLDR.BIN指定下一步要调用的文件名,WXPE为SETUPLDR.BIN相对于根目录的路径?
c)修改SETUPLDR.BIN和WXPE,注意和ISO中的文件名和路径对应且应该保持字节数不变,保存
d)用UltraISO打开ISO文件,选择“启动”->“加载引导文件”,选择刚修改保存的pe.bif,修改其中的路径和文件名与pe.bif中的一致,保存ISO文件,结束
2.?加载在引导区代码中指定的SETUPLDR.BIN,如上图
3.?加载SETUPLDR.BIN中指定的NTDETECT.COM,也就是本合盘中的“BOOT/NTD.COM”
4.?加载SETUPLDR.BIN中指定的WINNT.XPE(常用名),这个文件对于所有PE基本都一样,差别就在文件中指定WinPE.IS_路径的地方
5.?加载WINNT.XPE中指定的PE系统内核“WinPE.IS_(cab压缩文件,可以用WinRAR解压)”
6.?加载WinPE.IS_中的脚本TXTSETUP.SIF(由WinPE.IS_中TXTSETUP.SI_(cab压缩文件)解压得到,TXTSETUP.SIF?是一个安装信息文件(sif),主要用于?Windows?的文本安装模式,Windows?PE?用到了文本安装模式的末尾和?GUI?安装模式的开始部分,可以利用它添加第三方驱动
7.?加载PECMD.INI,这个文件就是“PECMD?-?WinPE?Commander,功能强大的?WinPE?命令解释工具”的配置文件,在里面可以运行各种PECMD的命令,注释使用“`”或“//”
如:
启动过程记录(LOGS),使用这个命令可以生成启动过程日志,通过这个日志可以更深入的理解PECMD参数文件的加载过程,自己制作PE时可用清楚的看到启动过程是否有问题
修改注册表(REGI)
增加桌面快捷方式和开始菜单快捷方式(LINK)
8.?PECMD.INI中间会加载WINPE.INI,该文件一个很重要的功能是配置外置程序,另外各个PE加载显卡驱动的命令一般也在这个文件中,如果有的PE在启动过程中直接加载了显卡驱动而导致PE启动后黑屏(部分ATI显卡),可以修改这部分代码为选项加载或不加载
9.?启动结束
二、easyboot方式(只能用于光盘启动或U盘量产)
1.?加载easyboot的引导文件(用easyboot软件自带,用easyboot制作iso文件时自动写入到iso引导区)
2.?加载easyboot引导文件中指定的菜单文件,如CDMENU.EZB
3.?加载菜单中选择的项,如选择PE,则下面的启动顺序同“一”中的步骤,如选择其他的image文件(可以用winimage编辑),则下面加载image文件中config.sys,autoexex.bat
三、grub4dos方式(多用于U盘启动)
1.?光盘启动(将菜单集成到grldr,为grldr增加bin或bif等UltraISO可以加载的引导文件后缀,用UltraISO加载此引导文件即为grub4dos光盘启动)
a)加载引导文件(grldr),显示菜单
b)加载选择菜单中选择的项,下面同easyboot方式加载菜单中选择的项
2.?U盘或移动硬盘启动(参考hwd6的PE中U盘、移动硬盘启动的制作)
a)使用grub4dos的MBR启动
a1)加载grub4dos的MBR
a2)加载MBR中指定的grldr
a3)加载菜单文件(首先加载grldr中集成的菜单,如没有则加载外部菜单文件)
a4)加载选择菜单中选择的项,如选择PE,则下面的启动顺序同“一”中的步骤,如选择其他的image文件(可以用winimage编辑),则下面加载image文件中config.sys,autoexex.bat
b)使用NT的MBR启动
b1)加载NT的MBR
b2)加载MBR中指定的NTLDR
b3)加载NTLDR中指定的BOOT.INI,hwd6PE中为BOOT\INI
b4)加载BOOT.INI中指定的grldr
b5)下面同“使用grub4dos的MBR启动”的a3、a4
PE路径及文件名的修改
a)关于NTDETECT.COM的修改,可直接用UltraEdit修改
原PE中关于NTDETECT.COM的部分参考图“3e180h行修改前”(文件在wxpe目录下)
修改后关于NTDETECT.COM的部分参考图“3e180h行修改后”(文件在boot目录下)
合盘中将原来的?4?处修改了?3?处
我测试的结果是这样(按照以前别的帖子的说法,不同的机器可能会有不同的结果):
如果是U盘或移动硬盘只修改第一处就可以,而如果第一处不修改,其它修改了也没用
如果是光盘只修改最后一处的目录就可以(可以不修改文件名),同样如果最后一处不修改,其它修改了也没用
所以最好是按照hwd6的方法修改,即修改3处的方法(当然如果你的NTDETECT.COM放在不同的目录,如?I386,那就把3处?boot?改为?I386,注意最后一处原来多余的字节将光标放在十六进制代码处用?00?填充)
b)关于WINNT.XPE的修改
用UltraEdit打开SETUPLDR.BIN,用替换功能将?winnt.xpe?全部替换为?boot\ly\x?,注意选中“查找?ASCII”,若提示“9?个项目已替换”就是成功了(尽量与原文件名大小一致,保证?SETUPLDR.BIN?的大小不变,否则可能启动不成功),保存退出。
若是在这个修改过的?SETUPLDR.BIN?基础上继续修改为别的,如?mt\x?,那就这样
4.?修改WINNT.XPE(文件名已改为X)
用文本编辑器打开文件X进行修改
修改前第3行为:
OsLoadOptions=”/minint?/fastdetect?/rdexportascd?/rdpath=MiniPE\WinPE.IS_”
修改后为:
OsLoadOptions=”/minint?/fastdetect?/rdexportascd?/rdpath=boot\ly\WinPE.IS_”
5.?修改PECMD.INI
用文本编辑器打开WXPE\SYSTEM32\PECMD.INI
将调用?WINPE.INI?的路径由?MiniPE?修改为?boot\ly(只在第30行有两处)
修改前
FIND?$%MinMode%=Yes,LINK?%Desktop%\加载外部配置,PECMD.EXE,LOAD?\MiniPE\WinPE.INI,Shell32.dll#26!TEAM?TEXT|LOAD?\MiniPE\WinPE.INI
修改后
FIND?$%MinMode%=Yes,LINK?%Desktop%\加载外部配置,PECMD.EXE,LOAD?\boot\ly\WinPE.INI,Shell32.dll#26!TEAM?TEXT|LOAD?\boot\ly\WinPE.INI
用?UltraISO?打开?WINPE.ISO?,用修改后的PECMD.INI替换WINPE.ISO中的WXPE\SYSTEM32目录下的PECMD.INI,保存
用老毛桃的cab打包工具将?WINPE.ISO?重新打包为?WINPE.IS_
a)将cab打包工具复制到当前目录,双击运行
b)选择“3”
c)输入需要压缩的文件所在路径“WINPE.ISO”
d)输入需要保存的压缩文件路径,直接回车
以上内容来自?无忧论坛
以下为理解性知识!
供一张图片给大家,我就是看着这个图启发的,可能刚开始看不懂,慢慢的懂了以后就知道了.
以上介绍的可能很难理解,在此,我再简单的描述一下:
要做多个PE合盘,就必须添加多个PE的引导文件及内核文件与外置文件,如果所有的PE放在一个文件夹内,就必须保证文件名不重复,否则多PE合盘肯定做不成,最多只能启动一个PE,另外,多PE合盘必须用到easyboot或syslinux引导!
PE系统的引导是一个.BIF的引导文件来引导SETUPLDR.BIN,再跟据SETUPLDR.BIN里面的信息调用NTDETECT.COM来引导WINNT.XPE,通过WINNT.XPE里面记录的路径来引导内核WinPE.IS_来启动系统,至于外置程序,这个不太好说,主要是WinPE.IS_内核里面的PECMD.ini记录的调用INI文件来加载的,外置程序是否是内置在内核里面或者是否放在外部文件夹内的情况也要视不同的PE而有所不同.
说到这里,已经讲得很明白了,如果有点电脑基础的,应该是可以看懂的,如果看不懂,那是因为你DIY?PE的时候,实践得不够.或者是没有仔细看!
也就是说,PE系统的启动,一般只需要5个文件(外置程序不算),就是SETUPLDR.BIN?和?NTDETECT.COM?和?WINNT.XPE?和?WinPE.IS_?再加上一个引导文件(.bif文件)?其中,引导文件是加载进去的,所以目录下一般只有4个文件,我们要做多PE合盘,就只要取每个PE的必要文件即可.前面已经讲了,名字不能重复,不然你没办法在同一目录同时存在,你直接改名也不行,引导文件找不到指定的文件,所以需要用到上面所写的教程来改文件里面的字符串.
(注意:不同的PE在些所描述的几个文件名不一样,以上举例只是普遍性是这个文件名而已,如以下DIY的PE目录截图,引导方式是.bif的引导文件引导WIFISETU.BIN再引导NTDETECT.COM和WIFI,再由WIFI引导指定的WIFIPE.ISO)
DIY后的目录图如下:
如上述误,希望高手帮忙指正,谢谢!
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????By:Colin(刘飞)