而调用WinPE.INI的是PE系统 system32目录下的 PECMD.INI 文件,需要修改这个 PECMD.INI 文件,改变WinPE.INI的调用方式。
PECMD.INI 原内容:
引用//配置文件开始
FBWF P40 L32 H96
TEAM TEXT 3 秒钟内按住 Ctrl 键可进入最小配置模式……#0xEE,L20,T560,R500,B580 $20|WAIT 3000
FIND KEY=17,ENVI MinMode=Yes|Text 正在加载最小配置模式……!Text 正在加载标准配置模式……
TEAM ENVI W=%WinDir%|ENVI WS=%W%\SYSTEM32|ENVI WSD=%WS%\Drivers
TEAM FILE %W%\TXTSETUP.SI*|FILE %WS%\NTOSKRNL.EX*|FILE %WS%\WIN32K.SYS|PATH #%WS%\CONFIG|FILE %WS%\*.*_|FILE %WSD%\*.SY_
TEAM LOGS %W%\PECMD.LOG|PATH %SystemDrive%\TEMP|INIT I|EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U
TEAM ENVI V0=HKLM\System\CurrentControlSet\Services|ENVI V1=System32\Drivers `修正 USB 驱动程序文件路径
REGI %V0%\USBHUB\ImagePath=%V1%\USBHUB.SYS
REGI %V0%\USBCCGP\ImagePath=%V1%\USBCCGP.SYS
REGI %V0%\USBEHCI\ImagePath=%V1%\USBEHCI.SYS
REGI %V0%\USBOHCI\ImagePath=%V1%\USBOHCI.SYS
REGI %V0%\USBSTOR\ImagePath=%V1%\USBSTOR.SYS
REGI %V0%\USBUHCI\ImagePath=%V1%\USBUHCI.SYS
REGI %V0%\HIDUSB\ImagePath=%V1%\HIDUSB.SYS
REGI %V0%\MOUCLASS\ImagePath=%V1%\MOUCLASS.SYS
REGI %V0%\MOUHID\ImagePath=%V1%\MOUHID.SYS
REGI %V0%\KBDCLASS\ImagePath=%V1%\KBDCLASS.SYS
REGI %V0%\KBDHID\ImagePath=%V1%\KBDHID.SYS
HOTK #112,PECMD.EXE `注册热键:F1 帮助
LINK %Programs%\附件\记事本,%WS%\NOTEPAD.EXE
LINK %Programs%\附件\命令提示符,%WS%\CMD.EXE
LINK %Programs%\附件\注册表编辑器,%W%\REGEDIT.EXE
LINK %Programs%\附件\资源管理器,%W%\EXPLORER.EXE,,EXPLORER.EXE,1
LINK %Desktop%\命令提示符,%WS%\CMD.EXE
LINK %StartMenu%\PECMD使用说明,%WS%\PECMD.EXE
FIND $MinMode=Yes,LINK %Desktop%\加载外部配置,PECMD.EXE,LOAD \MiniPE\WinPE.INI,Shell32.dll,26!TEXT|LOAD \MiniPE\WinPE.INI
FIND Explorer.EXE,!SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
`修改注册表和相关文件名以支持 Vista 安装
REGI HKLM\SYSTEM\CurrentControlSet\Control\MiniNT\!
EXEC !CMD.EXE /C "REN %WinDir%\SYSTEM32\HALACPI.DLL HAL.DLL"
`如果不能给 USB 移动存储设备迅速分配盘符或者关机缓慢,请尝试重启 AudioSrv 服务(对于部分 HD 声卡)
TEAM EXEC =PECMD SERV !AudioSrv|SERV AudioSrv
`杀掉无用进程并删掉 X: 盘可删除文件以节省空间
TEAM WAIT 5000|KILL SMSS.EXE|KILL WINLOGON.EXE|FILE %WS%\SMSS.EXE|FILE %WS%\WINLOGON.EXE
TEAM ENVI W=|ENVI WS=|ENVI WSD=|ENVI V0=|ENVI V1=
TEAM WAIT 12000|SEND 17_,18_,77_,77^,18^,17^|SEND 17_,18_,77_,77^,18^,17^ `如果 PECMD 托盘图标不显示,请用此命令
LOGS
//配置文件结束
红色字体处即为调用WinPE.INI的命令,解释一下:
先判断是否以最小配置模式启动(FIND $MinMode=Yes),
如是,则生成加载外部配置的桌面图标(LINK %Desktop%\加载外部配置,PECMD.EXE,LOAD \MiniPE\WinPE.INI,Shell32.dll,26),
如否,则清除桌面显示文本(TEXT)并调用外部配置(LOAD \MiniPE\WinPE.INI)
但为何3个U盘中有的找到有的没找到,这个原因就复杂了,我只能认为是U盘主控芯片在系统启动过程中不同的引导机制造成的。而在手动进入最小配置模式后,均可从桌面加载外部配置,说明PE引导后都能找到WinPE.ini调用程序。 可能的原因是量产引导的,量产成CDROM,实际是个的虚拟光驱,而PE的驱动不完善,或者说NT5内核识别这类驱动器的能力不完善(NT5系统出现比现在流行的量产技术早),所以在启动初期PE无法识别这样量产出来的虚拟光驱(加载内核时,PE的内核文件实际是DOS驱动识别出来的),到启动后期PE的驱动加载完成后,量产出来的虚拟光驱可以被PE识别了,所以启动后手动能加载外置。
最稳妥的方式是待PE加载了系统核心EXPLORER.EXE后,再调用WinPE.INI。
修改 PECMD.INI 文件,将:
复制代码
|
改为:
复制代码
|
问题解决!
注:这个 PECMD.INI 文件位于PE核心镜像包中,修改方法如下:
(以老九 WinPE 老毛桃修改之撒手不管版(Build 070911)为例【BootCD_070911.ISO 114,300,928 字节】)
1、用UltraISO或Winrar打开BootCD_070911.ISO,提取MINIPE目录中的 WinPE.IS_ 文件;
2、用Winrar解压 WinPE.IS_ 文件得到 WinPE.ISO;
3、用UltraISO打开 WinPE.ISO,提取 WXPE\SYSTEM32 下的 PECMD.INI;
4、修改 PECMD.INI 文件;
5、改好的PECMD.INI替换WinPE.ISO中的原PECMD.INI,并保存WinPE.ISO;
6、用 CAB 打包工具将 WinPE.ISO 重新打包为 WinPE.IS_ ;(用最大压缩比率以节省空间) CAB打包工具
7、再将 WinPE.IS_ 放到老毛桃的光盘映像中替换原来的 :)