http://bbs.wuyou.net/forum.php?mod=viewthread&tid=175444&extra=page%3D1
Microsoft Windows Imaging Format (WIM) 映像是MS新型的映像文件,具高压缩比、挂接方便、挂接内存小等特点。
在XP/2K3的PE中通过挂接WIM作为外置程序,可以避免外置程序受到病毒等因素的破坏,使外置程序更加安全可靠,同时
也可使对外发行的PE打包文件更小更简洁。
1、PE中的WimFltr组件
在现行PE中增加挂接WIM文件的支持相当简单,无需修改TXTSETUP.SIF文件、也无需.INF文件,只需在注册表文件(SETUPREG.HIV)
增加两项服务,分别向SYSTEM32目录、DRIVERS目录复制两个文件即可,下面是WimFltr组件的文件列表:
I386
|
+---SYSTEM32
|
+-----WIMGAPI.DLL
|
+-----FLTLIB.DLL
|
+-----DRIVERS
|
+-----WIMFLTR.SYS
|
+-----WIMFSF.SYS
2、用PECMD.EXE挂接WIM映像的注意事项
经本人无数次试验,得到这样的经验:在PE中开启WimFltr、FBWF两项服务时有先后之分,启动FBWF服务必须在启动WimFltr之后,
否则无法挂接WIM映像(包括用MS的IMAGEX.EXE也无法挂接WIM映像,原因不明)。所以,基于IMG格式的PE核心要保留适当的可写空间
(500K左右应足够了),同时在配置文件中尽早通过FILE命令删掉一些启动后无用的垃圾文件;基于ISO格式的PE核心要有一个可写的RamDisk(即以往的B:盘),因FBWF服务还没启动时无法将WIM挂接到X:盘中,只能挂接到RamDisk(B:盘)中。MOUN命令的格式如下:
MOUN [Wim文件名], <Mount目标目录>, [映像ID], [WimFltr临时工作目录]
以下是注册表文件:需会加载注册表文件的才能操作:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Services\FltMgr]
"Description"="File System Filter Manager Driver"
"DisplayName"="FltMgr"
"ErrorControl"=dword:00000001
"Group"="FSFilter Infrastructure"
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\
72,00,69,00,76,00,65,00,72,00,73,00,5c,00,66,00,6c,00,74,00,6d,00,67,00,72,\
00,2e,00,73,00,79,00,73,00,00,00
"Start"=dword:00000000
"Type"=dword:00000002
"Tag"=dword:00000001
"AttachWhenLoaded"=dword:00000001
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Enum\Root\LEGACY_FLTMGR]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Enum\Root\LEGACY_FLTMGR\0000]
"Service"="FltMgr"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="FltMgr"
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Services\WimFltr]
"Type"=dword:00000002
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"Tag"=dword:00000004
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,77,00,69,00,6d,00,66,00,6c,00,74,\
00,72,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="WimFltr"
"Group"="FSFilter Compression"
"DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00
"DependOnGroup"=hex(7):00,00
"Description"="Windows Image Mini-Filter Driver"
"DebugFlags"=dword:00000001
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Services\WimFltr\Instances]
"DefaultInstance"="WimFltr Instance"
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Services\WimFltr\Instances\WimFltr Instance]
"Altitude"="170500"
"Flags"=dword:00000000
[HKEY_LOCAL_MACHINE\_SETUPREG.HIV\ControlSet001\Services\WimFltr\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00 |