无忧启动论坛

标题: 在PE 2.1下挂载wim出现灵异现象 [打印本页]

作者: neo4026    时间: 2009-7-13 09:15
标题: 在PE 2.1下挂载wim出现灵异现象
我把imdisk的大小从16M试到64M 格式从fat32试到ntfs都如此


似乎记得某次瞎折腾后又能用wim tool手动挂上去

[ 本帖最后由 neo4026 于 2009-7-13 09:23 编辑 ]

未命名.jpg (165.87 KB, 下载次数: 114)

未命名.jpg

作者: bluemoon    时间: 2009-7-13 09:17
题目有点吓人啊!~~~~
作者: pkllly    时间: 2009-7-13 09:28
呵呵,被标题吸引进来了。。。。。
作者: 北斗    时间: 2009-7-13 09:29
neo有没有换个wimtools的版本试试?
作者: mapeimapei    时间: 2009-7-13 09:31
有可能是配置文件的问题,将配置文件发上来大家看看。。
作者: neo4026    时间: 2009-7-13 09:38
原帖由 mapeimapei 于 2009-7-13 09:31 发表
有可能是配置文件的问题,将配置文件发上来大家看看。。

  1. LOGS %TEMP%\PECMD.LOG
  2. RAMD ImDisk,L32,NTFS,Z:,IMDISK
  3. //加载外置的WIM映像(程序包)
  4. MOUN %CurDrv%\Programs\basic.wim,Z:\Programs\Basic\,1
  5. MOUN %CurDrv%\Programs\Extra.wim,Z:\Programs\Extra\,1
  6. //加载wim中的配置文件
  7. LOAD Z:\Programs\Basic\Main.ini
  8. LOAD Z:\Programs\Extra\Main.ini
  9. //调用外部接口
  10. //EXEC =!%SystemRoot%\WimExtend.CMD %CurDrv%\Programs\Extend
  11. //(这里没有,所以注释了)
  12. LOGS
  13. //end
复制代码

作者: neo4026    时间: 2009-7-13 09:39
原帖由 北斗 于 2009-7-13 09:29 发表
neo有没有换个wimtools的版本试试?

与wimtool无关
用PECMD挂载 wimtoll查看挂载情况
我认为与wimfilter无关
作者: mapeimapei    时间: 2009-7-13 09:42
如果启动之后存在z盘,表示已经虚拟成功了,可以考虑在ramd命令后wait 5000试试。

很有可能是由于虚拟盘还没有生成就执行了下边的命令。
作者: mapeimapei    时间: 2009-7-13 09:44
如果还不行,那就进入桌面后用pecmd挂载下,看看问题出在哪,逐步缩小范围

cmd下

pecmd.exe MOUN %CurDrv%\Programs\basic.wim,Z:\Programs\Basic\,1

[ 本帖最后由 mapeimapei 于 2009-7-13 09:46 编辑 ]
作者: neo4026    时间: 2009-7-13 09:46
原帖由 mapeimapei 于 2009-7-13 09:44 发表
如果还不行,那就进入桌面后用pecmd挂载下,看看问题出在哪,逐步缩小范围

进入桌面后用wimtool挂也是这样
反正已经排除了wimfilter的问题
作者: neo4026    时间: 2009-7-13 09:47
我有点怀疑是不是6.0.16388的FTLIB.DLL有问题?
不过我现在的vista也是这版本 正常得很
作者: lqcai    时间: 2009-7-13 09:48
只可挂一次,第二次会覆盖第一次,且不能挂到根目录,只能挂到文件夹下,如 z:\123(多级目录我为试过),挂载成功后, 所有文件在根目录,123文件夹被隐藏,看不到。而且挂载后,卸载不了,即使工具显示卸载成功,已挂上去的文件仍会在那,

[ 本帖最后由 lqcai 于 2009-7-13 09:50 编辑 ]
作者: neo4026    时间: 2009-7-13 09:50
原帖由 lqcai 于 2009-7-13 09:48 发表
只可挂一次,第二次会覆盖第一次,且不能挂到跟目录,只能挂到文件夹下,如 z:\123(多级目录我为试过),挂载成功后, 所有文件在根目录,123文件夹被隐藏,看不到的。而且挂载后,是卸载不了的,即使工具显示卸载成功 ...

我觉得问题出在某个DLL上
我对imdisk不熟悉 不知道会不会是imdisk有问题
作者: lqcai    时间: 2009-7-13 09:52
标题: 回复 #13 neo4026 的帖子
以你的图片来看,跟把 wim 挂到 X 盘类似,能把 wim 挂上去,但打开目录看不到文件

RMDISK 挂载跟我前面说的一样,只能挂一次

[ 本帖最后由 lqcai 于 2009-7-13 09:53 编辑 ]
作者: neo4026    时间: 2009-7-13 09:57
原帖由 lqcai 于 2009-7-13 09:52 发表
以你的图片来看,跟把 wim 挂到 X 盘类似,能把 wim 挂上去,但打开目录看不到文件

RMDISK 挂载跟我前面说的一样,只能挂一次

唉 RP了
作者: 66369    时间: 2009-7-13 10:12
WIMFLTR.SYS

6.0.6001.18000

较稳定.
作者: mapeimapei    时间: 2009-7-13 10:16
MOUN %CurDrv%\Programs\basic.wim,Z:\,1    ??
作者: lqcai    时间: 2009-7-13 10:22
原帖由 mapeimapei 于 2009-7-13 10:16 发表
MOUN %CurDrv%\Programs\basic.wim,Z:\,1    ??

这样是挂不上去的,只能是 z:\123 之类的文件夹
作者: 365day    时间: 2009-7-13 10:30
不能挂到虚拟磁盘,随便打个实际磁盘就没有问题,不知道是什么原因啊
作者: neo4026    时间: 2009-7-13 10:32
见鬼了...

未命名.jpg (84.21 KB, 下载次数: 73)

未命名.jpg

作者: lxl1638    时间: 2009-7-13 10:39
原帖由 neo4026 于 2009-7-13 10:32 发表
见鬼了...


真象是见鬼。
1、手动建立目录后,能否用 WimTool 手动挂上?
2、先建立目录,再用 PECMD 的 MOUN 能否挂上?
3、也可能是 PECMD 的问题?
4、也可能是 ImDisk 的驱动问题?
作者: lqcai    时间: 2009-7-13 10:40
标题: 回复 #20 neo4026 的帖子
imdisk 和 rmdisk 我都试过,情况都是如此,而且装载的时候跟虚拟磁盘的大小、格式无关
作者: neo4026    时间: 2009-7-13 10:52
原帖由 lxl1638 于 2009-7-13 10:39 发表


真象是见鬼。
1、手动建立目录后,能否用 WimTool 手动挂上?
2、先建立目录,再用 PECMD 的 MOUN 能否挂上?
3、也可能是 PECMD 的问题?
4、也可能是 ImDisk 的驱动问题?


记得似乎某次重新生成z盘后手动建立目录再挂载正常
在现在的测试中 如果是前面的情况(挂了 空白)
卸载后再挂 也是空白

由于曾经挂载成功了,所以我不认为是wim filter的问题
怀疑是imdisk 或者某个dll 或者某个底层文件驱动的问题
作者: lrbin50    时间: 2009-7-13 11:30
不用PECMD和WIMTOOL,用其它挂载工具挂来试下,或者就用命令行挂。wim filter换为最稳定的6.0.6001.18000
作者: lqcai    时间: 2009-7-13 11:40
标题: 回复 #24 lrbin50 的帖子
用 imagex 也是一样的情况, imdisk 和 rmdisk 都只能以只读权限挂一次,以读写权限挂,后面会覆盖前面,也就是说只能看到第二次的挂载内容,第一次的就看不到.
作者: pseudo    时间: 2009-7-13 12:18
原帖由 neo4026 于 2009-7-13 09:15 发表
在PE 2.1下挂载wim出现灵异现象

我把imdisk的大小从16M试到64M 格式从fat32试到ntfs都如此


似乎记得某次瞎折腾后又能用wim tool手动挂上去

呵呵,不讨论问题本身了,只就楼主的表述方式提个建议:
楼主的帖子没有描述究竟出现了什么现象,灵异在何处,附图中也没有任何楼主的说明。这种表述是不妥的。
也许楼主认为:看图不就明白了吗?一切尽在不言中啊!
这种观念不对。
首先,即便自己认为这个图一看就明,也应显式地加上一句“大家看看这个图的XXX处就明白灵异所在了”,提醒大家仔细看看,猜猜。正文没有对图的引用不妥。
其次,图可以帮助理解,但不是正文,正文不做描述、分析是不行的,尤其以后写论文的时候。
再次,描述、举证,讲清楚问题所在是楼主的责任,省略表述,依赖读者的智慧去弥补不好。
最后,我记得以前老师特别强调数学证明中不能使用“显然”这个词蒙混过关。楼主认为读者“显然”能从图中看出问题吧,但读者万一没看出怎么办?菜鸟可能会有水平低不配参与讨论的感觉,让他们有这种感觉就不好了,他们本来是积极来关注楼主问题的;即便是高手,也难免有一时没悟过来的,让人花时间去“悟”不好。

建议楼主在帖子正文直接表述问题,辅以图片。其实,把“如此”的含义直接说出来就好了。
作者: mapeimapei    时间: 2009-7-13 17:08
试试用 ramdirv虚拟b盘试试。注册表可能要修改下。

RAMD Ramdriv,P20L32H64
作者: neo4026    时间: 2009-7-13 19:12
原帖由 mapeimapei 于 2009-7-13 17:08 发表
试试用 ramdirv虚拟b盘试试。注册表可能要修改下。

RAMD Ramdriv,P20L32H64

lqcai已经说了 ramdriv状况一样
还请大家都测试下手上的vista pe/win7 pe
作者: yichya    时间: 2009-7-13 19:29
嘿,真奇怪了,难道内存不足?不是,分配单元不对?似乎抻不上关系,难道PE2把它也FBWF了?更不可能;那咋回事呢?不兼容?也不象;PECMD的问题?估计不是,那到底咋回事?
作者: lxl1638    时间: 2009-7-13 19:37
用加拿大的PE来试试,他的PE文件较完整,可能是因为砍文件过头引起的;

也换成与系统自带的WIM组件看看,Vista、Win7每个版本的WIM组个版本都不相同,换成与之匹配的WIM组件试试。
作者: lxl1638    时间: 2009-7-15 15:55
我考!本人也见鬼了!6.0.6001.18000版驱动。

未命名.PNG (102.77 KB, 下载次数: 93)

未命名.PNG

作者: neo4026    时间: 2009-7-15 16:01
原帖由 lxl1638 于 2009-7-15 15:55 发表
我考!本人也见鬼了!6.0.6001.18000版驱动。

恭喜老九 贺喜老九 咱们一同见鬼了
作者: 北斗    时间: 2009-7-15 16:05
原帖由 neo4026 于 2009-7-15 16:01 发表

恭喜老九 贺喜老九 咱们一同见鬼了

大家基本上天天见鬼(GHOST)
作者: nu852    时间: 2009-7-15 16:15
有關見鬼,

我在測試 khauyeung 兄之 Win7peBuilder 2009-07-09 時, 也有這個情形.
但我的發現有點奇怪.

khauyeung 兄之啟動是用 pecmd.ini 呼叫 winpeshl.exe, winpeshl.ini 啟動 explorer.
這樣之程序, wimtool 掛載沒有問題.

當我更改 pecmd.ini, 在尾後啟動 explorer, 而 winpeshl.ini 取消啟動 explorer.
見鬼情形便出現.
作者: lxl1638    时间: 2009-7-15 16:33
原帖由 nu852 于 2009-7-15 16:15 发表
有關見鬼,

我在測試 khauyeung 兄之 Win7peBuilder 2009-07-09 時, 也有這個情形.
但我的發現有點奇怪.

khauyeung 兄之啟動是用 pecmd.ini 呼叫 winpeshl.exe, winpeshl.ini 啟動 explorer.
這樣之程序 ...


这个可能性不大,因为挂到硬盘的某个目录是正确的,唯独是 ImDisk 出问题。
现在换成稍低版本的 Imdisk 试试,也将 ImDisk 的 Inf 直接整入注册表 SYSTEM 看看。
作者: lqcai    时间: 2009-7-15 17:02
原帖由 lxl1638 于 2009-7-15 16:33 发表


这个可能性不大,因为挂到硬盘的某个目录是正确的,唯独是 ImDisk 出问题。
现在换成稍低版本的 Imdisk 试试,也将 ImDisk 的 Inf 直接整入注册表 SYSTEM 看看。


winbuilder 附带的 imdisk 我也试过,情况一样,装载成功后,之前的装入目录看不到,所有文件都在磁盘根目录,试过 imagex、wimtools、wimnt等工具都如此。

先手动创建虚拟磁盘,创建一个装载目录,打开该磁盘,不打开该目录,然后用 wim 工具将 wim 挂到该目录,再双击打开该目录,会提示出错。关闭资源管理器,再打开虚拟磁盘,之前的目录消失了,所有文件在磁盘根目录。

不管是只读还是可写,都只能装载一次原先记忆有误

不过有一个现象,如果 wim 文件在光盘,在装载之后把光盘取出然后再插入计算机,之前装载的应用程序可以继续使用。如果在光盘取出之前曾运行过某程序,即使光盘已取出,该应用程序还可继续使用。

如果是在 wim 文件在 U盘或移动硬盘,装载成功之后只要曾把U盘从计算机取出,要使用外置程序就必须把 U盘重新插入计算机而且重新执行一次装载批处理。

还有一个状况时,wim 装载到虚拟磁盘时,不能卸载,而且即使 wim 映像工具显示卸载成功,但打开虚拟磁盘,以装入的文件还在那,而且可以访问。

还有一个情况是,不能把 wim 挂到虚拟磁盘的根目录。

RAMDISK 也试验过,情况跟 IMDISK 一样。

如果把 wim 装载到 X 盘,显示装载成功后,目录不会隐藏,但打开看不到任何装入的文件,刚好跟 IMDISK 虚拟磁盘相反,IMDISK是看不到装入目录,X盘是看不到装入的文件。

如果把 wim 装载到本地磁盘则一切正常。


费解呀!

[ 本帖最后由 lqcai 于 2009-7-15 23:04 编辑 ]
作者: lxl1638    时间: 2009-7-15 17:18
原帖由 lqcai 于 2009-7-15 17:02 发表


winbuilder 附带的 imdisk 我也试过,情况一样,装载成功后,之前的装入目录看不到,所有文件都在磁盘根目录,试过 imagex、wimtools、wimnt等工具都如此。

先手动创建虚拟磁盘,创建一个装载目录,打开 ...


winbuilder 的官方论坛有没有这方面的讨论?
作者: lqcai    时间: 2009-7-15 17:25
原帖由 lxl1638 于 2009-7-15 17:18 发表


winbuilder 的官方论坛有没有这方面的讨论?


英文不好,很少去那个 Boot Land 网站,加拿大朋友 khauyeung  应该常去那里。
作者: lqcai    时间: 2009-7-17 20:11
经过多次试验,终于找到 挂载 wim 到虚拟磁盘目录正常的方法(同时安装 wimfltr 和 wimmount)。
1、首先复制 win7 的 wimmount.inf 、wimmount.sys、 wimserv.exe 到 system32 目录,将 7100 的 imagex.exe 改名为 imagex2.exe 也复制到 system32 目录,然后再将 wimmount.sys 复制到 system32\drivers 目录。如果用 7100 的 wimgapi.dll 替换掉 6100 的 wimgapi.dll , GImageX 第三方 wim 映像将无法装载映像,但 GimageX 可以列出 7100 版 imagex.exe 装载的 wim ,并可卸载该装载该映像,如果不替换 wimgapi.dll,gimagex 可以挂载映像,但不会列出 7100 版 imagex 挂载的映像。

2、安装 wimmount.inf 和 wimfltr.inf  (好像不能先安装 wimfltr.inf,否则 6100 版的 imagex 的不可使用。)这两个驱动都必须安装,因为不知是何原因,7100 的 imagex 只能装载 wim 到虚拟磁盘,虚拟机测试时本地磁盘反而不能挂载映像(未实机测试),6100的 imagex 则不存在这个问题。

3、效果:7100 版的 imagex 可以挂载 wim 到虚拟磁盘,挂载目录正常,且能卸载映像,但要求虚拟磁盘的可用空间必须大于映像展开后的大小。不能挂载 wim 到本地磁盘硬盘。
6100 的 imagex 的问题依然如故,  挂载 wim 到本地磁盘一切正常,但挂载 wim 到虚拟磁盘则会隐藏挂载目录,所有挂载的文件在根目录,且不能卸载。
作者: neo4026    时间: 2009-7-17 20:37
原帖由 lqcai 于 2009-7-17 20:11 发表
经过多次试验,终于找到 挂载 wim 到虚拟磁盘目录正常的方法(同时安装 wimfltr 和 wimmount)。
1、首先复制 win7 的 wimmount.inf 、wimmount.sys、 wimserv.exe 到 system32 目录,将 7100 的 imagex.exe 改名 ...

引入新版驱动能解决问题,但还是没找到问题根源所
作者: 小咕咚    时间: 2009-7-17 20:38
不知是不是这个问题[红线框中]:

999.JPG (240.06 KB, 下载次数: 91)

999.JPG

作者: neo4026    时间: 2009-7-17 20:49
原帖由 小咕咚 于 2009-7-17 20:38 发表
不知是不是这个问题[红线框中]:

不是
我在PE2.1下全用6.0.18000的也不行
作者: lqcai    时间: 2009-7-17 20:52
标题: 回复 #41 小咕咚 的帖子
仅安装 wimmount 驱动,不安装 wimfltr 驱动,7100 的 imagex 仍然不能在 winpe2.1 中挂载映像到本地磁盘,会提示出错
作者: fujianabc    时间: 2009-7-17 21:55
有可能是wimfltr.sys驱动和wimfsf.sys这两个wim驱动间存在冲突,可以验证一下非wim方式启动winpe 2.x/3.x时wim挂载是否正常。

注:wim方式启动时,boot.wim挂载到boot.sdi依靠的是wimfsf.sys这个驱动,而非wim方式启动pe时wimfsf.sys不起作用

[ 本帖最后由 fujianabc 于 2009-7-17 21:58 编辑 ]
作者: neo4026    时间: 2009-7-17 22:01
原帖由 fujianabc 于 2009-7-17 21:55 发表
有可能是wimfltr.sys驱动和wimfsf.sys这两个wim驱动间存在冲突,可以验证一下非wim方式启动winpe 2.x/3.x时wim挂载是否正常。

注:wim方式启动时,boot.wim挂载到boot.sdi依靠的是wimfsf.sys这个驱动,而非w ...

老九早期随pecmd附送的wim组件式都有这两个sys
没有冲突
不知道在pe 1.x里wimfsf.sys器作用否
作者: lqcai    时间: 2009-7-17 22:20
原帖由 fujianabc 于 2009-7-17 21:55 发表
有可能是wimfltr.sys驱动和wimfsf.sys这两个wim驱动间存在冲突,可以验证一下非wim方式启动winpe 2.x/3.x时wim挂载是否正常。

注:wim方式启动时,boot.wim挂载到boot.sdi依靠的是wimfsf.sys这个驱动,而非w ...


刚才以非 ram 方式启动winpe2.1验证, 挂载 wim 到虚拟磁盘和以 ram 启动状况一样.

在winpe3.0 中,仅安装 wimmount 驱动的情况下,可挂载 wim 到虚拟磁盘,挂载到本地磁盘则不成功,imagex 版本 7100

[ 本帖最后由 lqcai 于 2009-7-17 22:23 编辑 ]
作者: fujianabc    时间: 2009-7-17 22:20
原帖由 neo4026 于 2009-7-17 22:01 发表

老九早期随pecmd附送的wim组件式都有这两个sys
没有冲突
不知道在pe 1.x里wimfsf.sys器作用否

wimfsf.sys在pe 1.x中根本不起作用,非wim启动的winpe 2.x/3.x也不起作用
这个驱动是winpe 2.x/3.x wim启动时boot.wim挂到x:盘上的驱动(x:盘来自boot.sdi)
作者: 小咕咚    时间: 2009-7-17 22:23
这是一份在基于Windows 7100RC的PE上运行DISM挂载WIM镜像不成功时生成的报告:
---------------------------------------------------
2009-07-17 21:57:24, Info                  DISM   PID=916 Scratch directory set to 'X:\windows\TEMP\'. - CDISMManager::put_ScratchDir
2009-07-17 21:57:24, Info                  DISM   PID=916 Successfully loaded the ImageSession at "X:\windows\System32\Dism" - CDISMManager::LoadImageSession
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Failed to get and initialize the PE Provider.  Continuing by assuming that it is not a WinPE image. - CDISMProviderStore::Final_OnConnect
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Finished initializing the Provider Map. - CDISMProviderStore::Final_OnConnect
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Manager: PID=916 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM.EXE:
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: <----- Starting Dism.exe session ----->
2009-07-17 21:57:24, Info                  DISM   DISM.EXE:
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Host machine information: OS Version=6.1.7100, Running architecture=x86, Number of processors=1
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Executing command line: dism  /mount-wim /wimfile:g:\win7600cn_winre\winre.wim /index:1 /mountdir:c:\888
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Getting the collection of providers from a local provider store type. - CDISMProviderStore::GetProviderCollection
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Loading Provider from location X:\windows\System32\Dism\WimProvider.dll - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Connecting to the provider located at X:\windows\System32\Dism\WimProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Loading Provider from location X:\windows\System32\Dism\FolderProvider.dll - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Connecting to the provider located at X:\windows\System32\Dism\FolderProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Loading Provider from location X:\windows\System32\Dism\CompatProvider.dll - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Connecting to the provider located at X:\windows\System32\Dism\CompatProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Got the collection of providers. Now enumerating them to build the command table.
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: WimManager
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: WimManager.
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: FolderManager
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: DISM Log Provider
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: Compatibility Manager
2009-07-17 21:57:24, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: Compatibility Manager.
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Getting Provider WimManager - CDISMProviderStore::GetProvider
2009-07-17 21:57:24, Info                  DISM   DISM Provider Store: PID=916 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 21:58:13, Error                 DISM   DISM WIM Provider: PID=916 Failed to mount the image. - CWimImageInfo::Mount(hr:0x80070005)
2009-07-17 21:58:14, Error                 DISM   DISM WIM Provider: PID=916 e:\win7rc\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:999 - CWimManager::InternalOpMount(hr:0x80070005)
2009-07-17 21:58:14, Error                 DISM   DISM WIM Provider: PID=916 e:\win7rc\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:2247 - CWimManager::InternalCmdMount(hr:0x80070005)
2009-07-17 21:58:14, Error                 DISM   DISM WIM Provider: PID=916 Error executing command - CWimManager::InternalExecuteCmd(hr:0x80070005)
2009-07-17 21:58:14, Error                 DISM   DISM WIM Provider: PID=916 e:\win7rc\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:516 - CWimManager::ExecuteCmdLine(hr:0x80070005)
2009-07-17 21:58:14, Info                  DISM   DISM.EXE: Image session has been closed. Reboot required=no.
2009-07-17 21:58:14, Info                  DISM   DISM.EXE:
2009-07-17 21:58:14, Info                  DISM   DISM.EXE: <----- Ending Dism.exe session ----->
2009-07-17 21:58:14, Info                  DISM   DISM.EXE:
2009-07-17 21:58:14, Info                  DISM   DISM Image Session: PID=916 Disconnecting the provider store - CDISMImageSession::Final_OnDisconnect
2009-07-17 21:58:14, Info                  DISM   DISM Provider Store: PID=916 Disconnecting Provider: WimManager - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 21:58:14, Info                  DISM   DISM Provider Store: PID=916 Disconnecting Provider: FolderManager - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 21:58:14, Info                  DISM   DISM Provider Store: PID=916 Found the OSServices.  Waiting to finalize it until all other providers are unloaded. - CDISMProviderStore::Final_OnDisconnect
2009-07-17 21:58:14, Info                  DISM   DISM Provider Store: PID=916 Disconnecting Provider: Compatibility Manager - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 21:58:14, Info                  DISM   DISM Provider Store: PID=916 Releasing the local reference to DISMLogger.  Stop logging. - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 22:01:41, Info                  DISM   PID=1360 Scratch directory set to 'X:\windows\TEMP\'. - CDISMManager::put_ScratchDir
2009-07-17 22:01:41, Info                  DISM   PID=1360 Successfully loaded the ImageSession at "C:\Dism7600" - CDISMManager::LoadImageSession
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Failed to get and initialize the PE Provider.  Continuing by assuming that it is not a WinPE image. - CDISMProviderStore::Final_OnConnect
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Finished initializing the Provider Map. - CDISMProviderStore::Final_OnConnect
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:01:41, Info                  DISM   DISM Manager: PID=1360 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:01:41, Info                  DISM   DISM.EXE:
2009-07-17 22:01:41, Info                  DISM   DISM.EXE: <----- Starting Dism.exe session ----->
2009-07-17 22:01:41, Info                  DISM   DISM.EXE:
2009-07-17 22:01:41, Info                  DISM   DISM.EXE: Host machine information: OS Version=6.1.7100, Running architecture=x86, Number of processors=1
2009-07-17 22:01:41, Error                 DISM   DISM.EXE: Failed validating command line: dism  /mount-wim /wimfile:g:\win7600cn_winre\winre.wim /index :1 /mountdir:c:\888
2009-07-17 22:01:41, Info                  DISM   DISM.EXE: Image session has been closed. Reboot required=no.
2009-07-17 22:01:41, Info                  DISM   DISM.EXE:
2009-07-17 22:01:41, Info                  DISM   DISM.EXE: <----- Ending Dism.exe session ----->
2009-07-17 22:01:41, Info                  DISM   DISM.EXE:
2009-07-17 22:01:41, Info                  DISM   DISM Image Session: PID=1360 Disconnecting the provider store - CDISMImageSession::Final_OnDisconnect
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Found the OSServices.  Waiting to finalize it until all other providers are unloaded. - CDISMProviderStore::Final_OnDisconnect
2009-07-17 22:01:41, Info                  DISM   DISM Provider Store: PID=1360 Releasing the local reference to DISMLogger.  Stop logging. - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 22:02:02, Info                  DISM   PID=572 Scratch directory set to 'X:\windows\TEMP\'. - CDISMManager::put_ScratchDir
2009-07-17 22:02:02, Info                  DISM   PID=572 Successfully loaded the ImageSession at "C:\Dism7600" - CDISMManager::LoadImageSession
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Failed to get and initialize the PE Provider.  Continuing by assuming that it is not a WinPE image. - CDISMProviderStore::Final_OnConnect
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Finished initializing the Provider Map. - CDISMProviderStore::Final_OnConnect
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Manager: PID=572 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM.EXE:
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: <----- Starting Dism.exe session ----->
2009-07-17 22:02:02, Info                  DISM   DISM.EXE:
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Host machine information: OS Version=6.1.7100, Running architecture=x86, Number of processors=1
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Executing command line: dism  /mount-wim /wimfile:g:\win7600cn_winre\winre.wim /index:1 /mountdir:c:\888
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Getting the collection of providers from a local provider store type. - CDISMProviderStore::GetProviderCollection
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Loading Provider from location C:\Dism7600\WimProvider.dll - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Connecting to the provider located at C:\Dism7600\WimProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Loading Provider from location C:\Dism7600\FolderProvider.dll - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Connecting to the provider located at C:\Dism7600\FolderProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Loading Provider from location C:\Dism7600\CompatProvider.dll - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Connecting to the provider located at C:\Dism7600\CompatProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Got the collection of providers. Now enumerating them to build the command table.
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: WimManager
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: WimManager.
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: FolderManager
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: DISM Log Provider
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Attempting to add the commands from provider: Compatibility Manager
2009-07-17 22:02:02, Info                  DISM   DISM.EXE: Succesfully registered commands for the provider: Compatibility Manager.
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Getting Provider WimManager - CDISMProviderStore::GetProvider
2009-07-17 22:02:02, Info                  DISM   DISM Provider Store: PID=572 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2009-07-17 22:02:53, Error                 DISM   DISM WIM Provider: PID=572 Failed to mount the image. - CWimImageInfo::Mount(hr:0x80070005)
2009-07-17 22:02:53, Error                 DISM   DISM WIM Provider: PID=572 d:\w7rtm\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:999 - CWimManager::InternalOpMount(hr:0x80070005)
2009-07-17 22:02:53, Error                 DISM   DISM WIM Provider: PID=572 d:\w7rtm\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:2247 - CWimManager::InternalCmdMount(hr:0x80070005)
2009-07-17 22:02:53, Error                 DISM   DISM WIM Provider: PID=572 Error executing command - CWimManager::InternalExecuteCmd(hr:0x80070005)
2009-07-17 22:02:53, Error                 DISM   DISM WIM Provider: PID=572 d:\w7rtm\base\ntsetup\opktools\dism\providers\wimprovider\dll\wimmanager.cpp:516 - CWimManager::ExecuteCmdLine(hr:0x80070005)
2009-07-17 22:02:53, Info                  DISM   DISM.EXE: Image session has been closed. Reboot required=no.
2009-07-17 22:02:53, Info                  DISM   DISM.EXE:
2009-07-17 22:02:53, Info                  DISM   DISM.EXE: <----- Ending Dism.exe session ----->
2009-07-17 22:02:53, Info                  DISM   DISM.EXE:
2009-07-17 22:02:53, Info                  DISM   DISM Image Session: PID=572 Disconnecting the provider store - CDISMImageSession::Final_OnDisconnect
2009-07-17 22:02:53, Info                  DISM   DISM Provider Store: PID=572 Disconnecting Provider: WimManager - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 22:02:53, Info                  DISM   DISM Provider Store: PID=572 Disconnecting Provider: FolderManager - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 22:02:53, Info                  DISM   DISM Provider Store: PID=572 Found the OSServices.  Waiting to finalize it until all other providers are unloaded. - CDISMProviderStore::Final_OnDisconnect
2009-07-17 22:02:53, Info                  DISM   DISM Provider Store: PID=572 Disconnecting Provider: Compatibility Manager - CDISMProviderStore::Internal_DisconnectProvider
2009-07-17 22:02:53, Info                  DISM   DISM Provider Store: PID=572 Releasing the local reference to DISMLogger.  Stop logging. - CDISMProviderStore::Internal_DisconnectProvider
------------------------------------------------------
作者: fujianabc    时间: 2009-7-17 22:24
原帖由 lqcai 于 2009-7-17 22:20 发表


刚才以非 ram 方式启动winpe2.1验证, 挂载 wim 到虚拟磁盘和以 ram 启动状况一样.

在winpe3.0 中,仅安装 wimmount 驱动的情况下,可挂载 wim 到虚拟磁盘,到挂载到本地磁盘则不成功.

看来和wimfsf没关系了,另外winpe 3.0官方说明里面提到原版winpe 3.0本身就支持wim挂载,用dism命令就可以了,看楼上的结果,难道官方的方法都不行?

[ 本帖最后由 fujianabc 于 2009-7-17 22:26 编辑 ]

wim.JPG (101.83 KB, 下载次数: 84)

wim.JPG

作者: lqcai    时间: 2009-7-17 22:31
原帖由 小咕咚 于 2009-7-17 22:23 发表
这是一份在基于Windows 7100RC的PE上运行DISM挂载WIM镜像不成功时生成的报告:
---------------------------------------------------
2009-07-17 21:57:24, Info                  DISM   PID=916 Scratch d ...


基于创建 waik2.0 创建的 pe3.0 还是基于 winbuiler 创建的 pe3.0? 基于 winbuilder 创建的 pe 说实话文件都是不全的(不包含外壳)

前面我提到的 pe3.0 是基于wnbuilder 创建的
作者: lqcai    时间: 2009-7-17 22:34
原帖由 小咕咚 于 2009-7-17 22:23 发表
这是一份在基于Windows 7100RC的PE上运行DISM挂载WIM镜像不成功时生成的报告:
---------------------------------------------------
2009-07-17 21:57:24, Info                  DISM   PID=916 Scratch d ...


基于创建 waik2.0 创建的 pe3.0 还是基于 winbuiler 创建的 pe3.0? 基于 winbuilder 创建的 pe 说实话文件都是不全的(不包含外壳)

前面我提到的可挂载 wim 到虚拟磁盘但不能挂到本地磁盘的pe3.0 是基于wnbuilder 创建的

不知基于waik2.0创建的pe3.0是不是状况也一样?

不过按照说明,DISM似乎只是取代了 peimg 创建和修改 winpe3.0的工具
=============
晕,怎么发了两遍!

[ 本帖最后由 lqcai 于 2009-7-17 22:46 编辑 ]
作者: khauyeung    时间: 2009-7-18 00:22
原帖由 lqcai 于 2009-7-17 20:11 发表
3、效果:7100 版的 imagex 可以挂载 wim 到虚拟磁盘,挂载目录正常,且能卸载映像,但要求虚拟磁盘的可用空间必须大于映像展开后的大小。不能挂载 wim 到本地磁盘硬盘。
6100 的 imagex 的问题依然如故,  挂载 wim 到本地磁盘一切正常,但挂载 wim 到虚拟磁盘则会隐藏挂载目录,所有挂载的文件在根目录,且不能卸载。 ...

其实lqcai已经点出了7100版本的imagex现在的缺点,特别是在PE环境下挂WIM到虚拟磁盘的缺点:要求虚拟磁盘的可用空间必须大于映像展开后的大小。我们当初想到挂WIM的最重要原因就是因为想利用它对相同的文件优化(optimize)和几乎不占用永久空间的特点,现在imagex_7100新的要求显然是跟我们的原意背道而驰了。imagex_7100的其他缺点是挂接(mount)和卸载(unmount)都超慢,这在Win7PE或者VistaPE的建造过程最为明显。我觉得imagex_7100现在的最大好处在于对挂接数据有比较高的安全性,至于在PE里面的应用,还是以imagex_6001为最佳。
neo和lqca又点出了imagex_6001在PE2.x/3.x的见鬼问题:挂载 wim 到本地磁盘一切正常,但挂载 wim 到虚拟磁盘则会隐藏挂载目录,所有挂载的文件在根目录,且不能卸载。这点我在一年多以前早已发现,只在PE2.x/3.x发生,不会在PE1.x出现,是imagex_6001使用在PE2.x/3.x的先天缺陷。明知道有鬼,我们避开它就是了。当然,一些先前使用在PE1.x的设计就得改动一下,不应一本通书读到老。
至于老外是否有好的解救方法,就我所知道,他们很少像我们把程式放到WIM里面然后挂接使用,所以这方面的讨论不多。




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3