无忧启动论坛

 找回密码
 注册
搜索
WEPE笔记本电脑手机维修小包 IT发烧友的必备工具最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
无忧启动论坛唯一网址:bbs.wuyou.net系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
查看: 64272|回复: 98

PECMD.EXE通过配置文件挂接WIM映像的简单说明。

[复制链接]
发表于 2007-5-23 11:56:50 | 显示全部楼层 |阅读模式
  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临时工作目录]

其中蓝色的参数是必须的,红色的参数是可选项。
如果WIM映像是只读的(如在光盘中),红色的参数"WimFltr临时工作目录"必须省略,否则无法挂上WIM映像。
当设置WimFltr临时工作目录时表示RW(读写)方式挂载,这个目录建议设置到硬盘;
当省略WimFltr临时工作目录时表示(只读)方式挂载,挂载后的目标目录是可写的。

3、其它注意事项
  一旦挂上WIM映像后,建议不要用其它工具对原WIM映像读写(包括用RAR打包这类操作);如果机子内存不大,建议设置虚拟内存并将
临时文件夹设置到硬盘。

附件为WimFltr组件及注册表(WimFltr.REG.TXT)。

[ 本帖最后由 lxl1638 于 2007-8-26 03:15 PM 编辑 ]

WimFltr.RAR

230.39 KB, 下载次数: 15733, 下载积分: 无忧币 -2

发表于 2007-5-23 12:25:12 | 显示全部楼层
天啦,第一次坐老九的沙发

问一个偷懒的问题,按照microsoft白皮书上所说,如果wim文件存放在fat格式的分区上,只能挂接成只读的,不知老九的mount有没有解决这个问题。其实试验一下就可以知道答案的,所以偷个懒问一下。

[ 本帖最后由 armymangl 于 2007-5-23 12:36 PM 编辑 ]
回复

使用道具 举报

发表于 2007-5-23 12:44:56 | 显示全部楼层
老九又有好作品问世了,下来试用,支持!
回复

使用道具 举报

 楼主| 发表于 2007-5-23 12:49:49 | 显示全部楼层
原帖由 armymangl 于 2007-5-23 12:25 PM 发表
天啦,第一次坐老九的沙发

问一个偷懒的问题,按照microsoft白皮书上所说,如果wim文件存放在fat格式的分区上,只能挂接成只读的,不知老九的mount有没有解决这个问题。其实试验一下就可以知道答案的,所以偷 ...


本人示例的那个IMG是FAT32格式的,挂接后目录可写。当然PECMD.EXE不提供编辑WIM映像的功能。
即挂接后的目录是可写的,但这个读写操作不会破坏原来的WIM映像,也是必要的。
回复

使用道具 举报

发表于 2007-5-23 13:09:45 | 显示全部楼层
原帖由 lxl1638 于 2007-5-23 12:49 PM 发表


本人示例的那个IMG是FAT32格式的,挂接后目录可写。当然PECMD.EXE不提供编辑WIM映像的功能。
即挂接后的目录是可写的,但这个读写操作不会破坏原来的WIM映像,也是必要的。

只要能写就ok了,如果不能写,那么原来很多工具都要改变运行方式了。这样就很完美了

如果想保存对wim映象的改动,应该可以通过imagex /commit /unmount 在关闭pe前做到吧

——————————————————————————————————————————————
——————————————————————————————————————————————
试验了一下,在pe下直接用imagex /commit /unmount 卸载wim映象不能保存修改!!!
而且,正如老九所说,加载完fbwf后就不能挂接wim文件了。所以外置程序只能挂接一次,如果中途卸载了就必须重启才能加载。直接用pecmd的moun命令也不能再次加载wim映象,用imagex也不能再次把wim映象挂接到x盘下。
但是如果在pe下用imagex把wim映象加载到硬盘文件夹(不是x盘)下,就可以修改和保存了。因为imagex(包括pecmd的moun命令)同一时间只能有一个命令能操作同一个wim映象,要想用其他命令操作正在被另一个命令使用的wim映象,必须先结束原来的命令。也就是说wim映象只能被加载一次,要想修改wim映象必须先把wim映象从x盘卸载才行。如果卸载了wim映象,所有的外置程序也就没有了,所以在pe下修改wim映象是行不通的。
还有一个问题,imagex不支持显示中文,如果wim映象中有带中文的目录和文件,用dir命令是看不到的,只能挂接到硬盘下才能看到。

这就是俺的试验体会,不到之处请批评指正。
一个小建议:能不能实现在unmount的时候保存修改,就是在关闭pe前可以选择保留修改与否,当然默认的是不保留修改退出。留着这个功能给有需要的人YY也不错。

[ 本帖最后由 armymangl 于 2007-5-23 04:14 PM 编辑 ]
回复

使用道具 举报

发表于 2007-5-23 14:14:52 | 显示全部楼层
噢噢...坐板凳了....
WIM貌似不错哦..
回复

使用道具 举报

 楼主| 发表于 2007-5-23 16:47:54 | 显示全部楼层
原帖由 armymangl 于 2007-5-23 01:09 PM 发表

只要能写就ok了,如果不能写,那么原来很多工具都要改变运行方式了。这样就很完美了

如果想保存对wim映象的改动,应该可以通过imagex /commit /unmount 在关闭pe前做到吧

—————————————— ...


若将WIM映像挂接到硬盘中是可以同时挂接多个映像的。
可以将原来挂接的映像信息保存到系统级环境变量中,卸下时取环境变量中的数据来用,如

挂接映像:
ENVI $WIM1=%CurDrv%\WIM外置程序示例\PROGRAMS.WIM  `保存映像文件名
ENVI $MOUNTPATH1=%ProgramFiles%                                `保存目录名
ENVI $WIM1ID1=1                                                            `保存映像ID
moun %WIM1%,%MOUNTPATH1%,%WIM1ID1%                 `挂接WIM文件


卸下映像:
MOUN %WIM1%,%MOUNTPATH1%,-%WIM1ID1%


在PE下修改WIM文件极少用到的,为了WIM映像的安全,PECMD的MOUN命令在设计之初就不打算支持编辑WIM映像的功能,
通过PECMD卸下的映像不会被修改。

要PE下修改WIM映像可以使用其它工具,工具可以放在外置中。

[ 本帖最后由 lxl1638 于 2007-5-24 10:31 AM 编辑 ]
回复

使用道具 举报

发表于 2007-5-23 17:06:30 | 显示全部楼层
OK,我要赶快试试....
回复

使用道具 举报

发表于 2007-5-23 17:07:30 | 显示全部楼层
一定要把目录名改为i386吗? 比如wins或其它可以吗?
回复

使用道具 举报

发表于 2007-5-23 17:17:23 | 显示全部楼层
若将WIM映像挂接到硬盘中是可以同时挂接多个映像的。

我指的是同一个wim映象不能被挂接多次,而不是说不能挂接多个wim映象,不知你说的是不是这个意思。

还有我发现老九很善于用环境变量,但是这样感觉不是很直观,可能是用的少不习惯。

要PE下修改WIM映像可以使用其它工具,工具可以放在外置中

其实我也认为pe下编辑wim映象没多大实用价值,只不过觉得YY一下也不错:lol :lol

[ 本帖最后由 armymangl 于 2007-5-23 05:20 PM 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2019-9-22 10:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表