无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 10007|回复: 45
打印 上一主题 下一主题

关于win7pe的wim自动挂载运行问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-26 11:46:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
不得已的解决办法:
用g4d map --mem 一个打包成gz的1.44M IMG空镜像。压缩后体积3K。
  1. map --mem /mount.gz (hd)
  2. map --hook
复制代码
进win7pe的时候
利用pecmd整理盘符的时候,查找g4d仿真的磁盘。然后将磁盘的盘符映射为Z盘。
为什么不用B盘。win7磁盘管理器不识别G4D仿真的B盘,如果在win7下将g4d的仿真盘映射为B盘,则会有显示两个盘符。最后决定映射为Z盘
代码如下:
盘符整理代码:
  1. _SUB FREEUSB
  2. FORM &T=%D%
  3. //TEAM FORM &T,&B=%D%| MESS T=[%T%] B=[%B%]
  4. FIND %D%:\>0,!! FIND %D%:\<2,!! EXEC %WinDir%\System32\mount.cmd
  5. FIND $%&T%=DRIVE_FIXED,!! FIND $%&RP%=NA,! SUBJ *%&D% //U盘后的固定磁盘
  6. FIND $DRIVE_USBFLASH = %&T%, ENVI &T=DRIVE_USBDISK //USB软盘(DRIVE_USBFLASH) ,当作 USB硬盘(DRIVE_USBDISK)
  7. FIND $%&T%=DRIVE_USBDISK,!! SUBJ *%&D% //U盘
  8. FIND $%&T%=DRIVE_USBDISK,!! FIND $%&RP%=NA, ENVI &RP=%&D% //RP:第一个U盘
  9. MSTR &D=%&I%,1,%&DRVS%
  10. CALC &I=%&I% + 1
  11. _END
  12. _SUB ORDER_DRIVE
  13. TEAM ENVI &&DRVS=CDEFGHIJKLMNOPRSTUV****| ENVI &&I=2| ENVI &&D=C| ENVI &&RP=NA| ENVI &&T=| ENVI &&B= //初始化
  14. LOOP $%&D%=*,! CALL FREEUSB
  15. //重新加载HD,USB
  16. SHOW *F:0
  17. SHOW *U:-1,,,O
  18. //登录后,重新加载USB
  19. //RUNS PECMD.EXE EXEC PECMD.EXE TEAM WAIT 1000|SHOW U:0,U_DISK
  20. _END
复制代码
mount.cmd代码:
  1. @echo off
  2. mountvol %1 /L > %temp%\vol.log
  3. set /p volname=< %temp%\vol.log
  4. mountvol %1 /D
  5. mountvol Z:%volname%
复制代码
---------------------------------------------------------------------------------------------------------------------------------------------
1、在win7 sp1 x68 环境下测试:
使用imdisk 虚拟的硬盘,使用wimfltr.sys驱动。无论虚拟盘是什么格式,wimtool 均无法挂载wim到虚拟盘。
补充:如果自动挂载目录设置为虚拟磁盘根目录,则只能挂载一次,但是不能卸载。
如果自动挂载目录设置为子目录,则挂载目录下没有任何文件。
使用imdisk 虚拟的硬盘,使用wimmount.sys驱动。虚拟盘是NTFS格式,WIMTOOL 可以成功挂载wim到虚拟盘。
使用本地硬盘,无论使用wimfltr.sys驱动还是wimmount驱动,均能成功的挂载wim。

2、在win7pe环境下测试。
使用imdisk 虚拟的硬盘,无论使用wimfltr.sys 驱动还是wimmount驱动。无论imdisk虚拟的磁盘是ntfs还是fat,均无法成功挂载。
故障提示:挂载失败,目标下可能存在文件或者没有权限。。。。实际上使用的是最高权限system,目标下确实没有文件。

使用本地硬盘,无论使用wimfltr.sys还是使用wimmount.sys驱动,均能成功挂载wim....

问:
有谁知道是怎么回事?为什么挂载到硬盘正常?挂载到虚拟磁盘就不正常?

[ 本帖最后由 hotdll 于 2012-5-27 21:28 编辑 ]
46#
发表于 2012-7-4 15:41:40 | 只看该作者
我也很奇怪,网虫、66369的7PE,都能自动挂载WIM。
而且改成104KB的fbwf.sys及fbwf.cfg都正常。
查看了一下内核,wimfltr是6.0.6001.18000,而且wimmount.sys也在,真搞不懂。
打开wimtools用到的驱动是wimmount的。
回复

使用道具 举报

45#
 楼主| 发表于 2012-5-28 17:47:42 | 只看该作者

回复 #44 canmao 的帖子

晕。大侠,这样是没法参考的。
不过还是先谢谢你。。。
先把他搞成为维护用的PE再说网络的事情。
回复

使用道具 举报

44#
发表于 2012-5-28 16:25:16 | 只看该作者

回复 #43 hotdll 的帖子

按你的路子,从自用的7PE中自己y的。主要是因为:
我的7PE中 \Windows\System32\DriverStore\FileRepository 中的驱动是从 SP1 中扒拉出来的,很多xxxx.inf_x86_neutral_xxxxxxxxxxx 和你提供的注册表服务项下 DriverPackageId 键值不同。

刚传了一个 fba 到 zhaohj 提供的 FTP 上:/canmao/7PE/,供你参考。

网络驱动是一年前的了。
另外进PE后,要运行一次桌面上的“PE网络设置”,网络才能正常!

[ 本帖最后由 canmao 于 2012-5-28 17:10 编辑 ]
回复

使用道具 举报

43#
 楼主| 发表于 2012-5-28 15:57:44 | 只看该作者

回复 #42 canmao 的帖子

您用的是哪个版本的一级内核?
我整了太多的一级内核了。。自己都绕晕了。
回复

使用道具 举报

42#
发表于 2012-5-28 12:22:07 | 只看该作者

回复 #41 hotdll 的帖子

没有任何提示。我的网络组件是内置在二级,网卡驱动是G4D 下用chkpci 检查,然后将驱动拷贝到 map 的 fd 中传入win7pe。在pecmd.ini 中:
//SERV FBWF
FIND MEM<384,FBWF P40 L96 H192!FBWF P50 L160 H512

//开启一级内核中手动执行的服务
TEAM SERV Mup|SERV TCPIP
TEAM SERV SACDRV|SERV storflt|SERV VDRVROOT
TEAM SERV AWEAlloc|SERV ImDisk

FIND MEM<256,DISP W800 H600 B32!DISP W1024 H768 B32
FIND MEM<384,Call IFSetPageFile

INIT IU
TEXT 初始化网络...
EXEC !=%SystemRoot%\System32\winpeshl.exe

TEXT 安装网卡...
DEVI $A:\*.CAB,,%TEMP%
FILE %TEMP%\*.*
...


pecmd.exe  --> 4.0 2011 0501
回复

使用道具 举报

41#
 楼主| 发表于 2012-5-28 11:54:23 | 只看该作者

回复 #40 canmao 的帖子

1、 sfloppy.sys 加入一级内核能够认到 G4D map的 fd 。
这个不是问题,问题是wim挂载不到fd上。

2、并都成功加载了网卡(fbwf.sys 68k,ndis在一级加载,否则加载网络组件时蓝屏)
NDIS可以在二级加载,用pecmd开启该服务即可。

3、我想请教下#40 canmao大大。
    您加载驱动的时候,没有说网卡配置不正确的?
回复

使用道具 举报

40#
发表于 2012-5-28 11:39:53 | 只看该作者
将 sfloppy.sys 加入一级内核能够认到 G4D map的 fd 。
用自己 Y 的Navite 7Pe 测试了三台实机 都没问题。并都成功加载了网卡(fbwf.sys 68k,ndis在一级加载,否则加载网络组件时蓝屏)
100k的 fbwf.sys 不行,加载网卡驱动时重启。

设备管理器蓝屏依旧。

[ 本帖最后由 canmao 于 2012-5-28 11:41 编辑 ]
回复

使用道具 举报

39#
发表于 2012-5-28 09:31:10 | 只看该作者
辛苦了!支持。
回复

使用道具 举报

38#
 楼主| 发表于 2012-5-27 21:16:19 | 只看该作者

回复 #34 xhwfq 的帖子

不得已的解决办法:

用g4d map --mem 一个打包成gz的1.44M IMG空镜像。压缩后体积3K。



  1. map --mem /mount.gz (hd)

  2. map --hook

复制代码




进win7pe的时候

利用pecmd整理盘符的时候,查找g4d仿真的磁盘。然后将磁盘的盘符映射为Z盘。

为什么不用B盘。win7磁盘管理器不识别G4D仿真的B盘,如果在win7下将g4d的仿真盘映射为B盘,则会有显示两个盘符。最后决定映射为Z盘

代码如下:

盘符整理代码:



  1. _SUB  FREEUSB
  2. FORM &T=%D%
  3. //TEAM FORM  &T,&B=%D%| MESS  T=[%T%] B=[%B%]
  4. FIND $%&T%=DRIVE_FIXED,!! FIND $%&RP%=NA,! SUBJ *%&D%  //U盘后的固定磁盘
  5. FIND $DRIVE_USBFLASH = %&T%, ENVI  &T=DRIVE_USBDISK    //USB软盘(DRIVE_USBFLASH) ,当作 USB硬盘(DRIVE_USBDISK)
  6. FIND $%&T%=DRIVE_USBDISK,!! SUBJ *%&D%  //U盘
  7. FIND $%&T%=DRIVE_USBDISK,!! FIND $%&RP%=NA, ENVI &RP=%&D%  //RP:第一个U盘
  8. MSTR &D=%&I%,1,%&DRVS%
  9. CALC &I=%&I% + 1
  10. _END

  11. _SUB ORDER_DRIVE  
  12.   TEAM ENVI &&DRVS=CDEFGHIJKLMNOPRSTUV****| ENVI  &&I=2| ENVI  &&D=C| ENVI &&RP=NA| ENVI &&T=| ENVI &&B=   //初始化
  13.   LOOP $%&D%=*,! CALL FREEUSB
  14.   //重新加载HD,USB
  15.   SHOW *F:0
  16.   SHOW *U:-1,,,O
  17.   //登录后,重新加载USB
  18.   //RUNS PECMD.EXE EXEC PECMD.EXE TEAM WAIT 1000|SHOW U:0,U_DISK
  19. _END  


复制代码




mount.cmd代码:



  1. @echo off
  2. mountvol %1 /L > %temp%\vol.log
  3. set /p volname=< %temp%\vol.log
  4. mountvol %1 /D
  5. mountvol Z:%volname%


复制代码


---------------------------------------------------------------------------------------------------------------------------------------------
回复

使用道具 举报

37#
发表于 2012-5-27 13:56:02 | 只看该作者
又有新成果,可喜可贺啊
回复

使用道具 举报

36#
发表于 2012-5-27 13:51:05 | 只看该作者

回复 #35 hotdll 的帖子

哈哈 下次我也可以这样搞了。。。

直接是map --mem为HD,然后启动win7pe吗?

[ 本帖最后由 zhs1997 于 2012-5-27 13:53 编辑 ]
回复

使用道具 举报

35#
 楼主| 发表于 2012-5-27 13:49:44 | 只看该作者
呵呵。仿真HD,然后进7PE后利用盘符整理,捎带把G4D仿真的硬盘挂到B盘上去。
回复

使用道具 举报

34#
发表于 2012-5-27 10:14:09 | 只看该作者
原帖由 hotdll 于 2012-5-27 09:42 发表
晕。。。
我仿真为A和B盘不行,仿真为硬盘就行。。。晕死了。

看样子要有新的成品出来了,提前庆贺一下.
回复

使用道具 举报

33#
发表于 2012-5-27 10:10:01 | 只看该作者

回复 #32 hotdll 的帖子

看来是好消息啊。。。
回复

使用道具 举报

32#
 楼主| 发表于 2012-5-27 09:42:33 | 只看该作者

回复 #21 xhwfq 的帖子

晕。。。
我仿真为A和B盘不行,仿真为硬盘就行。。。晕死了。
回复

使用道具 举报

31#
 楼主| 发表于 2012-5-27 09:41:59 | 只看该作者

回复 #30 nu852 的帖子

问题不同
我尝试过不同版本的fbwf.sys
1、我开头说过,我在win7pe使用的是wimfltr.sys,对应的wimgapi.dll也是相对应的版本。

2、使用wimmount.sys驱动在我win7下成功,在win7pe下不成功。不过我不想使用wimmount.sys驱动。理由很简单,太占内存。

3、win7pe可以使用winvblock加载g4d创建的虚拟磁盘。
回复

使用道具 举报

30#
发表于 2012-5-27 02:28:55 | 只看该作者
之前在另一主题, 与楼主谈及 xpe 及 7pe, 可创建 x: 最大容量的问题,
我说错了, 更正一下.

相关原因相信是 fbwf.sys 的版本不同有关,
而楼主顶楼遇到的情况, 估计也是与 fbwf.sys 的版本有关.

xpe 一般使用的 fbwf.sys, 与官方 M$ PE3 所使用的 fbwf.sys 版本(v6.1.7600.16385) 是不同的.
xpe 一般使用的 wimfltr.sys, 而官方 M$ PE3 使用 Wimmount.sys.
尚有 wimgapi.dll 的版本不同, 也可能参与了众多问题之中.

我个人是用 make_pe3 (http://reboot.pro/11852/page__hl__makepe3) 来做 7pe (繁体) 的.
make_pe3 所做出来的 7pe, 是使用 fbwf.sys v6.1.7600.16385 及 Wimmount.sys v6.1.7600.16385 的.
挂载软体 wim 至 imdisk 所创建的 b: 上, 是成功的, 也可以卸载那软体 wim, 而且可释放相关记忆体.

xpe 可用 firadisk 或 winvblock 等, 在进入桌面后, 仍可看到在 grub4dos 所挂载起的 (Oxff)
但 7pe 是不能的.

楼主在顶楼遇到的问题, 而及 firadisk 的问题,
在 win7 刚出的时候, 无忧上很多网友已提出过,
但好像没有解决办法, 所以没有网友再跟进了.

[ 本帖最后由 nu852 于 2012-5-27 02:45 编辑 ]
回复

使用道具 举报

29#
 楼主| 发表于 2012-5-26 22:16:12 | 只看该作者

回复 #28 xhwfq 的帖子

论坛没见有win7pe成功集成firadisk的。何况firadisk貌似不支持ud
回复

使用道具 举报

28#
发表于 2012-5-26 21:23:00 | 只看该作者
pe1.x要加载firadisk驱动才能实现B盘,不知在win7pe中行不行.
回复

使用道具 举报

27#
发表于 2012-5-26 21:19:13 | 只看该作者

回复 #26 hotdll 的帖子

看来只有等虫大出手才能比较完美解决了

你可以研究下网虫2008的PE看看
回复

使用道具 举报

26#
 楼主| 发表于 2012-5-26 21:16:59 | 只看该作者
原帖由 xhwfq 于 2012-5-26 20:47 发表
多一个空img,但不用再集成imdisk了,当然这些都是次要的,关键是能不能解决wim挂载问题.

我晕死了。。
我仿真了fd1,但是WIN7PE不现实B盘。。。我晕死
回复

使用道具 举报

25#
发表于 2012-5-26 20:51:19 | 只看该作者

回复 #23 xhwfq 的帖子

好像有点道理。。。

在img里面弄个文件标记一下更适合。。。

等待hotdll的新成果
回复

使用道具 举报

24#
 楼主| 发表于 2012-5-26 20:48:26 | 只看该作者

回复 #23 xhwfq 的帖子

呵呵。先谢谢你。
您说的有道理。。。。
我先考虑考虑。呵呵。
回复

使用道具 举报

23#
发表于 2012-5-26 20:47:02 | 只看该作者
多一个空img,但不用再集成imdisk了,当然这些都是次要的,关键是能不能解决wim挂载问题.

[ 本帖最后由 xhwfq 于 2012-5-26 20:48 编辑 ]
回复

使用道具 举报

22#
 楼主| 发表于 2012-5-26 19:56:30 | 只看该作者

回复 #21 xhwfq 的帖子

我知道这个方法。但是这个方法太麻烦了。。。。。
并且多了一个img
回复

使用道具 举报

21#
发表于 2012-5-26 19:25:47 | 只看该作者
原帖由 hotdll 于 2012-5-26 11:46 发表
1、在win7 sp1 x68 环境下测试:
    使用imdisk 虚拟的硬盘,使用wimfltr.sys驱动。无论虚拟盘是什么格式,wimtool 均无法挂载wim到虚拟盘。
    补充:如果自动挂载目录设置为虚拟磁盘根目录,则只能挂载一 ...

我做pe1.x时,是用map --mem ... (fd1)弄个B盘,由firadisk在pe中识别出来,再供wim挂载使用,不知能不能适用于7pe.
回复

使用道具 举报

20#
发表于 2012-5-26 18:46:16 | 只看该作者
原帖由 zhs509 于 2012-5-26 16:12 发表
麻烦老大将工具和脚本代码一并发下,谢谢了

就这个东西,可以命令行创建vhd文件
http://archive.msdn.microsoft.com/vhdtool
回复

使用道具 举报

19#
发表于 2012-5-26 18:17:57 | 只看该作者
我也想知道哦 支持了!~
回复

使用道具 举报

18#
发表于 2012-5-26 18:16:25 | 只看该作者

回复 #17 zds1210 的帖子

干脆搞成EXE格式,临时文件夹可随时设置到别处,运行一个程序后及时清理,少量的主要工具可以内置到二级内核(不用7Z压缩,而是散开放),其他程序根据需要放到可显分区,按需选择。防毒问题暂不考虑。


好像有人成功在WIN7PE中和XPPE一样创建Ramdriv虚拟盘成功了的,忘了不知是谁的7PE.

[ 本帖最后由 2011kcyou 于 2012-5-26 18:22 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-31 01:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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