手头有三个U盘、三台计算机:
Kingmax 4G 超棒 主控:UT165
Kingston 1G DT 主控:SSS6677
Apacer AH320 8G 主控:UP13
IBM ThinkPad 笔记本 T43
IBM ThinkPad 笔记本 T60
Dell台式机 OPTIPLEX 330
三个U盘均量产USBCDROM,ISO使用【老九 WinPE 老毛桃修改之撒手不管版(Build 070911)】,在三台电脑上产生了不同的效果:
1、Kingston 1G DT (主控SSS6677)在3台机器上均成功启动,并进入PE标准模式,外置程序加载正常。
2、Kingmax 4G 超棒(主控UT165)在3台机器上均无法启动,找不到USBCDROM!
研究:Kingmax 4G 超棒(主控UT165)无法启动,原因在于UT165的CDROM分区在U盘分区的后面,ThinkPad和Dell无法识别,遂研究出个“葵花大法”以暂时解决。
——详见:【解决UT165量产USB-CDROM成功但无法引导的——葵花大法】
http://bbs.mydigit.cn/read.php?tid=53131 3、经“葵花大法”后,Kingmax 4G 超棒(主控UT165)在3台机器上均成功启动,进入PE标准模式,但外置程序没有正常加载,桌面为最小配置模式!
4、Apacer AH320 8G(主控UP13)在2台ThinkPad上启动成功,进入PE标准模式,但外置程序没有正常加载,桌面为最小配置模式!
在Dell台式机上成功启动,进入PE标准模式,外置程序加载正常。
5、不能正常加载外置的几种组合,均可通过启动PE时,先手动进入“最小配置模式”(按住Ctrl),进入后在桌面上加载外置程序成功。
------------------------------------------------------------
相同的ISO文件,在不同的U盘(主控)的情况下,在不同的计算机上有不同的反应,百思不得其解!
研究老毛桃PE,google、baidu,在无忧找到原因和解决办法:
PE的外置程序是通过调用 WinPE.INI 实现的,没有正常加载外置程序的原因就是PE在启动过程中没有找到USBCDROM中的这个WinPE.ini! 而调用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菜鸟,在无忧已经有人解决了这个问题,这里总结、转述一下:
最稳妥的方式是待PE加载了系统核心EXPLORER.EXE后,再调用WinPE.INI。
修改 PECMD.INI 文件,将:
- 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
改为:
- FIND Explorer.EXE,!SHEL %WinDir%\EXPLORER.EXE|TEXT
- FIND $MinMode=Yes,LINK %Desktop%\加载外部配置,PECMD.EXE,LOAD \MiniPE\WinPE.INI,Shell32.dll,26!RUNS PECMD.EXE LOAD \MiniPE\WinPE.INI,加载外置
- TEAM TEXT|LOGO
问题解决!
注:这个 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_ ;(用最大压缩比率以节省空间)
7、再将 WinPE.IS_ 放到老毛桃的光盘映像中替换原来的 :)
[ 此帖被guan2在2008-10-17 11:39重新编辑 ]