本帖最后由 xmzhqw 于 2017-8-7 11:33 编辑
按:本帖的目的是:把本人在制作PE过程中,碰到过的一些自己感觉比较难的问题及其解决办法集中在一起,做个备份,同时给需要的朋友作个参考。
帖中的大部分内容并非本人原创!有的是从论坛中得到,有的是百度来的。可以说,我这是在剽窃别人的成果,但没办法,谁叫我是个菜鸟呢。
提醒:文中的代码的路径要记得修改为你自己的路径,以免出错!
另外,贴子的内容将不定期进行添加、更新。请关注 1楼 到 4楼 的内容。
希望高手们多加批评指正!谢谢。
一、修改X盘的大小问题:
许多朋友在制作修改WINPE过程中,因为添加软件的缘故,经常发现X盘不够用了。这个时候就需要我们对WINPE的X盘进行调整,那如何修改X盘的大小呢?
首先我们要清楚,NT5系列的PE和NT6系列的PE修改X盘大小的方式是不一样的。
1、修改NT5系列的X盘大小。
NT5系列的X盘大小是通过修改PECMD.INI文件来实现的。
我们首先要解开NT5PE的内核得到PECMD.INI文件。找到如下字样:
//配置文件开始
FBWF P40 L32 H96
TEAM ENVI S=%SystemRoot%|ENVI SS=%S%\SYSTEM32|ENVI SSD=%SS%\Drivers
一般来说“FBWF P40 L32 H96”是在PECMD.INI文件中的最前位置的,我们比较容易找到。
FBWF这个命令就是用来设置X盘大小的。上例中:
P代表可用内存的40%;L代表最低设置为32MB;H代表最高设置为96MB,最高设置可以不超过256MB。
当然有P40 这个参数在,H 设置成512也没事,也不会出现内存用光的情况。
三个参数都可单独使用,如使用 FBWF L64 时,将不理会可用内存的大小,强制设置 64M 的 FBWF。
2、修改NT6系列的X盘大小。
方法一:挂载并修改system32\config\system
NT6系列的X盘大小一般是通过修改注册表文件来实现的。我们首先要解开NT6PE内核文件得到BOOT.WIM文件中windows文件夹下system32\config文件夹内的system文件。然后用注册表挂载system文件。
找到[HKEY_LOCAL_MACHINE\pe\ControlSet001\services\FBWF]项。
修改"WinPECacheThreshold"值。(如没有此值,要新建一个:新建dword值,名称: WinPECacheThreshold,)
其中,040 -- 64M;080 -- 128M;100 -- 256M,200是512M,400是1G…………。你可以根据自己的需要填入对应的数字。
按照自己需要填写大小
修改好后,把system文件打包进BOOT.WIM文件中,X盘就修改好了。
方法二:替换\Windows\System32\drivers\fbwf.sys和\Windows\fbwf.cfg
用附件中的 调整系统盘大小 文件夹中的文件替换即可,不多嘴了。(论坛中有好多,你搜索一下就有了)
调整系统盘大小.rar
(69.32 KB, 下载次数: 281)
二、修改开始菜单中快捷方式的问题:(修复附到开始菜单的图标)
如上图所示,我们往往在修改PE中的软件后,在开始菜单中会出现这样的界面:就是有的工具(软件)删掉或修改了位置后,开始菜单中的快捷方式就不正常了(就是没有链接了)。怎么办?
首先先要明白这个地方的文件及其注册表所在的位置:
右击不正常的快捷方式,查看它(们)的位置:正常在这几个地方:
X:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\
X:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
当然,这只是正常的情况下,不排除其它的情况。
这个地方的对应的注册表是:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2
方法一:替换法:(比较笨的方法)
如果上述2个地方有这些快捷方式文件,那么可以这样操作:进入该PE,建立相应的快捷方式,并命名为原来的名字,替换掉原来的文件即可。举个例子:如上图中有个UltraISO的快捷方式,现在变成一张白纸(表明链接失效了。),而你修改后的PE中也有UltraISO这个工具,那么,你就找到这个文件,新建一个UltraISO的快捷方式,并命名为ULTRAISO,再把这个快捷方式复制到
X:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\ 或
X:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\ 覆盖掉文件。
方法二:修改注册表法:(推荐方法,确实可用)
你可能看到很多PE中都有这个文件:StartPage2.reg 。实际上,这个注册表文件就是修正这个地方的文件。StartPage2在注册表的位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2
你可以按图中的做法,做一个全新的或全空的开始菜单的图标(快捷方式)。
接下来,别忘了你修改的快捷方式及保存的StartPage2.reg等文件,要封装进PE的核心文件“***.WIM”。
另外,在一些PE中,见到用 ini 或批处理等加入:(如用下面的代码,但本人测试,此法在不少PE中好象不灵)现把这些代码放在这边,大家可以测试一下。(我是测试不成功的)
- //固定到开始菜单
- EXEC =!Regedit.exe /S start.reg
- ENVI ADMINstart=%APPDATA%\microsoft\internet explorer\quick launch\user pinned\startmenu
- ENVI SYSTEMstart=X:\Users\Default\AppData\Roaming\microsoft\internet explorer\quick launch\user pinned\startmenu
- LINK %SYSTEMstart%\备份还原(Ctrl+G),%CurDir%\备份还原\品牌通备份还原.exe
- LINK %SYSTEMstart%\AIDA64全能检测,%CurDir%\硬件检测\aida64\aida64.exe
- LINK %SYSTEMstart%\NTBOOTautofix,%CurDir%\引导修复\NTBOOTautofix.exe
- LINK %SYSTEMstart%\系统密码清除器,%CurDir%\密码相关\NTPWEDIT\NTPWEDIT.EXE
- LINK %SYSTEMstart%\傲梅分区助手,%CurDir%\PartAssist\PartAssist.exe
- LINK %SYSTEMstart%\PartitionGuru,%CurDir%\PartitionGuru\PartitionGuru.exe
复制代码
方法三:由【金】提供,感谢 金 !
附到开始菜单,如果PECMD命令不行可以试试 【金】 的 startpin程序:【手工制作Win10x64_14393PE,附上CMD_PE制作教程 + 附到开始菜单程序(StartPin)】
三、把常用工具(软件)附到任务栏:
先要清楚一下“附到任务栏”的图标(快捷方式)所在的文件夹及注册表:
X:\Users\ Default \AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband
接下来,按图中的说明操作:
有了上面所说到的文件(夹),接下来就是把这些文件封装到PE的核心文件“***.WIM”中的事了。因为这个已经有大量的帖子说到,就不在此重复。
另外,用下面的代码,按道理也可以的,但我测试不成功,不知原因:
PINT %Windir%\System32\notepad.exe,TaskBand
感谢 2011mtw35 的补充与说明,大家移步 7 # 看补充。
四、关于PE中外挂程序的问题:
1、PETOOLS.CMD的方法:老外挂,但方便修改,很实用
PETOOLS.rar
(1.9 KB, 下载次数: 161)
关于PETOOLS.CMD,可参考:歌理 的 全球第二发,无忧最完美的、真正单文件的PETOOLS挂载工具CMD(1227最后更新)一文
使用方法:在pecmd.ini添加以下命令:
EXEC !%SystemRoot%\system32\PETOOLS.CMD
FORX !\petools\ petools.INI,MyIni,1,LOAD %MyIni%
注意:上述命令中,PETOOLS.CMD必须放到\system32\中;
petools是外置工具的文件夹(petools名称不能更改!除非你修改了PETOOLS.CMD文件),可以放在可见的任何一个盘的根目录中(其它盘最好不要有这个文件夹名,否则可能异常。);
petools.INI为petools中的文件(petools.INI名称可自己改),其作用就是在桌面或开始菜单中建立各个外置工具的快捷方式。举个例子:
LINK %desktop%\SkyIAR,%ProgramFiles%\Tools\SkyIAR.exe
LINK %Programs%\磁盘管理\导入SkyIAR驱动,%ProgramFiles%\Tools\SkyIAR.exe
值得一提的是,在外置工具中,可以是未压缩的各个软件,也可以经过压缩处理的WIM文件、IMG文件,还可以是7zip的压缩文件等。但经过压缩的文件,是必须先经过解压之类的动作,再运行其中的INI文件,以建立相应的快捷方式。下面以7Z为例作个说明:
exec !%SystemRoot%\system32\7Z.EXE x "%CurDir%\PeSoft.7z" -o%Systemdrive%\ PeSoft\ (把petools文件夹中的PeSoft.7z先解压到系统盘的PeSoft文件夹中)
LOAD %Systemdrive%\ PeSoft\ petools.INI(就是运行PeSoft.7z中的petools.INI,建立相应的快捷方式)
上述命令前提是system32中必须有7zip的主要部件,如7z.dll、7z.exe、7-zip.dll等(就是要提前把这些文件复制到system32),或者增加一条命令:FILE %ProgramFiles%\7zip\*.*=>%SystemRoot%\system32\ (就是把7zip复制到system32中。)
另外,有些PE喜欢把外置程序释放到虚拟盘(如Y盘等),个人感觉作用不是很明显,而且还牵扯到怎样建立虚拟盘的问题,在此不作介绍了。
至于怎样外挂WIM文件,请参考:2010khmsoft 的 WIN7PE外挂程序包OP.WIM的方法 和 给大家发个WIN7PE系统下外挂程序的批处理文件
2、Sh.exe的方法:新外挂。
这个外挂程序我是在fish2006的PE中首先看到的,然后在康家庄的PE中也有,其它的PE比较少人用。试了一下,个人感觉是不错,但修改或添加比较麻烦,所以就不专注于这个了。有兴趣的可以下载fish2006的PE研究研究,也可以参考fish2006的这篇文章[发布] [2016.02.06 DYY8-Dism10586版]俄文版+系统汉化+中文应用程序的多功能WIN8.1PE... 。里面有详细介绍,我就不多嘴了。
推荐一个作品:易广白 石破天惊 支持vm虚拟机的全能型 win10pe x64 ,这个作品应该不错。
五、设置文件关联代码: ★★★下列代码只是提供一个方法,具体使用还要修改下列代码中的文件路径。 ●●●INI文件的“文件关联”代码: //以下是注册GHO文件关联 - REGI $HKCR\.gho\=Ghost
- REGI $HKCR\Ghost\=Ghost 镜像文件
- REGI $HKCR\Ghost\shell\open\command\="%CurDir%\Ghost\GhoExp.exe" "%%1"
复制代码关联注册WCS及INI右键 : PECMD.ini添加 CALL RegWCS - ////////// 关联注册WCS及INI右键 //////////
- _SUB RegWCS
- ENVI PECMD=PECMD.EXE
- IFEX %SystemRoot%\SYSTEM32\PECMD.NTR ENVI PECMD=PECMD.NTR
- REGI HKCR\.ntr\=exefile
- REGI HKCR\.nte\=exefile
- REGI HKCR\.ntx\=exefile
- REGI HKCR\.wcs\=wcsfile
- REGI HKCR\.wce\=wcsfile
- REGI HKCR\.wcx\=wcsfile
- REGI HKCR\wcsfile\=WCS 脚本文件
- REGI HKCR\wcsfile\DefaultIcon\=%SystemRoot%\SYSTEM32\%PECMD%,0
- REGI HKCR\wcsfile\shell\open\command\=%PECMD% LOAD "%L"
- REGI HKCR\.wcz\=wczfile
- REGI HKCR\wczfile\=WCS 脚本文件
- REGI HKCR\wczfile\DefaultIcon\=%SystemRoot%\SYSTEM32\%PECMD%,0
- REGI HKCR\wczfile\shell\open\command\=%PECMD% LOAD "%L"
- REGI HKCR\inifile\shell\PECMD\=用PECMD运行
- REGI HKCR\inifile\shell\PECMD\command\=%PECMD% LOAD "%L"
- REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PATHEXT=.COM;.EXE;.NTR;.NTE;.NTX;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.WCS;.WCE;.WCX;.WCZ
- _END
复制代码●●● CMD格式的“文件关联”代码: pecmd 怎么与wcs 文件关联? - reg add "HKLM\SOFTWARE\Classes\.wcs" /f /ve /t REG_SZ /d "wcsfile"
- reg add "HKLM\SOFTWARE\Classes\wcsfile" /f /ve /t REG_SZ /d "WCS 脚本文件"
- reg add "HKLM\SOFTWARE\Classes\wcsfile\DefaultIcon" /f /ve /t REG_SZ /d "%SystemRoot%\SYSTEM32\PECMD.EXE"
- reg add "HKLM\SOFTWARE\Classes\wcsfile\shell\open\command" /f /ve /t REG_SZ /d "%SystemRoot%\SYSTEM32\PECMD.EXE LOAD "%%L""
复制代码一些常用软件的CMD关联代码: - @echo off
- PUSHD %~dp0
- SET CurDir=%CD%
- PATH "%WINDIR%\SYSTEM32"
- reg add "HKCR\.pdf" /f /ve /t REG_SZ /d "FoxitReader.Document"
- reg add "HKCR\.pdf" /f /v "Content Type" /t REG_SZ /d "application/pdf"
- reg add "HKCR\FoxitReader.Document\DefaultIcon" /f /ve /t REG_SZ /d "%CurDir%\Others\FoxitReader.exe"
- reg add "HKCR\FoxitReader.Document\shell\open\command" /f /ve /t REG_SZ /d "%CurDir%\Others\FoxitReader.exe %%1"
- reg add "HKCR\.gho" /f /ve /t REG_SZ /d "ghost 映像"
- reg add "HKCR\.gho" /f /v "Content Type" /t REG_SZ /d "application/gho"
- reg add "HKCR\ghost 映像\DefaultIcon" /f /ve /t REG_SZ /d "%CurDir%\Ghost\GhostExp.exe"
- reg add "HKCR\ghost 映像\shell\open\command" /f /ve /t REG_SZ /d "%CurDir%\Ghost\GhostExp.exe %%1"
- rem 关联fba&mod
- reg add "HKLM\SOFTWARE\Classes\.fba\shell\open\command" /f /ve /t REG_SZ /d ""%CurDir%\Others\FbinstTool.exe" "%%1""
- reg add "HKLM\SOFTWARE\Classes\.fba\DefaultIcon" /f /ve /t REG_SZ /d ""%CurDir%\Others\FbinstTool.exe"
- reg add "HKLM\SOFTWARE\Classes\.fba\shell\用fbinstTool解包\command" /f /ve /t REG_SZ /d ""%CurDir%\Others\FbinstTool.exe" "export" "%%1""
- reg add "HKLM\SOFTWARE\Classes\.mod\shell\open\command" /f /ve /t REG_SZ /d ""%CurDir%\Others\FbinstTool.exe" "%%1""
- reg add "HKLM\SOFTWARE\Classes\Directory\shell\打包为grub4dos模块文件\command" /f /ve /t REG_SZ /d ""%CurDir%\Others\FbinstTool.exe" "mod" "%%1""
- reg add "HKLM\SOFTWARE\Classes\Directory\shell\用fbinstTool打包\command" /f /ve /t REG_SZ /d ""%CurDir%\Others\FbinstTool.exe" "%%1""
- reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /f /v "GlobalAssocChangedCounter" /t REG_DWORD /d 65
- reg add "HKCR\.wim" /f /ve /t REG_SZ /d "Wim映像文件"
- reg add "HKCR\.wim" /f /v "Content Type" /t REG_SZ /d "application/Wim映像文件"
- reg add "HKCR\Wim映像文件\DefaultIcon" /f /ve /t REG_SZ /d "%CurDir%\wimtool\Wim.ico"
- reg add "HKCR\Wim映像文件\shell\open\command" /f /ve /t REG_SZ /d "%CurDir%\wimtool\wimtool.exe %%1"
- REG ADD "HKCU\SOFTWARE\EasyBoot Systems\UltraISO\5.0" /f /ve /t REG_SZ /d "%CurDir%"
- reg add "HKCR\iso映像文件\DefaultIcon" /f /ve /t REG_SZ /d "%CurDir%\Ultraiso\UltraISO.ico"
- REG ADD HKCR\UltraISO\shell\open\command /ve /t REG_SZ /d ""%CurDir%\Ultraiso\UltraISO.EXE" ""%%1" /f>NUL
- REG ADD "HKCU\SOFTWARE\EasyBoot Systems\UltraISO\5.0" /v DefViewer /t REG_SZ /d "%SystemRoot%\system32\NOTEPAD.EXE" /f>NUL
- ftype UltraISO="%CurDir%\Ultraiso\ultraiso.exe" "%%1"
- assoc .iso=UltraISO
- assoc .bin=UltraISO
- assoc .isz=UltraISO
- assoc .cue=UltraISO
- assoc .mds=UltraISO
- assoc .mdf=UltraISO
- assoc .nrg=UltraISO
- assoc .img=UltraISO
- assoc .ima=UltraISO
- regsvr32 /s "%CurDir%\Ultraiso\isoshl64.dll" ;;32位与64位的不一样,这是64位的,32位的应是:isoshl.dll
- cd drivers
- isocmd.exe -number 1
- isocmd.exe -i
复制代码 TTPlayer单文件_自动关联批处理
- @echo off
- color 2f
- PUSHD %~dp0
- ftype TTPlayer="C:\Program Files (x86)\TTPlayer\TTPlayer.exe" "%%1"
- assoc .mp3=TTPlayer
- assoc .aa=TTPlayer
- assoc .aac=TTPlayer
- assoc .ac3=TTPlayer
- assoc .cda=TTPlayer
- assoc .cue=TTPlayer
- assoc .mid=TTPlayer
- assoc .midi=TTPlayer
- assoc .ape=TTPlayer
- assoc .mac=TTPlayer
- assoc .mp3pro=TTPlayer
- assoc .mpc=TTPlayer
- assoc .ra=TTPlayer
- assoc .wma=TTPlayer
- assoc .mpc=TTPlayer
- assoc .m3u=TTPlayer
- assoc .ttbl=TTPlayer
- assoc .ttpl=TTPlayer
- regedit /s .\TTPlayer.reg ;;TTPlayer.reg的代码见下面
复制代码- ;;TTPlayer.reg
- Windows Registry Editor Version 5.00
- [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wma\UserChoice]
- [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice]
- [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mid\UserChoice]
- [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\..m3u\UserChoice]
复制代码 ●●● REG格式的“文件关联”代码:- Windows Registry Editor Version 5.00
- ;ULTRAISO
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.iso\OpenWithList]
- "a"="ULTRAISO.EXE"
- "MRUList"="a"
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.iso\UserChoice]
- "Hash"="40RvxNG5ibM="
- "ProgId"="Applications\\ULTRAISO.EXE"
- [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\ULTRAISO.EXE\shell\open\command]
- @=""x:\\Program Files\\ULTRAISO\\ULTRAISO.EXE" "%1""
- [HKEY_CURRENT_USER\Software\EasyBoot Systems\UltraISO\5.0]
- "UserName"="Guanjiu"
- [HKEY_CURRENT_USER\Software\EasyBoot Systems\UltraISO\5.0]
- "Registration"="95b2e8c5a08aaff1d1a6e0c6ade69ab7"
- ;WimTool
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wim\OpenWithList]
- "a"="WimTool.EXE"
- "MRUList"="a"
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wim\UserChoice]
- "ProgId"="Applications\\WimTool.EXE"
- [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\WimTool.EXE\shell\open\command]
- @=""x:\\Program Files\\WimTool\\WimTool.EXE" "%1""
复制代码另外,许多供PE专用的软件本身就带有关联的代码,直接引用的。只要在增加相应的代码就行了。如: EXEC!%ProgramFiles%\Imagine\setup.cmd EXEC!%ProgramFiles%\7-zip\setup.cmd EXEC!%ProgramFiles%\WinRAR\WinRAR.CMD DEVI %ProgramFiles%\WinRAR\WinRAR.inf
EXEC%SystemDrive%\Program Files\Imagine\Imagine.exe /regcontextmenu /regiser/assocext PotPlayerMini64.exe /RegisterAll (关联PotPlayer, CMD格式,注意文件路径)
本文Word文档及相关工具下载:
|