无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9164|回复: 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 编辑 ]
2#
发表于 2012-5-26 13:07:49 | 只看该作者
FORX B:\AXPE\*.WIM,P,0,Call B



_SUB B
        Name k=%p%
        path y:\%k%\%k%
        exec =!imagex.exe /mount "%p%" 1 "y:\%k%\%k%"
        ifex Y:\%k%\main.ini,LOAD Y:\%k%\main.INI!LOAD Y:\%k%\%k%.INI
        envi p=
_END
回复

使用道具 举报

3#
发表于 2012-5-26 13:08:23 | 只看该作者
其中Y:是imdsik虚拟盘
回复

使用道具 举报

4#
 楼主| 发表于 2012-5-26 13:10:30 | 只看该作者

回复 #2 chiannet 的帖子

您可能没明白我的意思。。。
现在是挂载不上。。。。手动都挂不上。。。。。
回复

使用道具 举报

5#
发表于 2012-5-26 13:12:37 | 只看该作者
path y:\%k%\%k%
若想用imagex.exe /mount 挂载aaa.WIM到y:\aaa,需要建立y:\aaa\aaa\两级目录,就是吃掉一级目录的问题
回复

使用道具 举报

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

回复 #5 chiannet 的帖子

不清楚网虫2008的PE是如何做到挂载WIM的。。。

我的理解:楼主希望的是直接双击挂载单个的wim到内存盘
回复

使用道具 举报

7#
发表于 2012-5-26 13:22:29 | 只看该作者

回复 #6 zhs509 的帖子

7pe下,我都是2楼的代码用imagex.exe 挂载。
回复

使用道具 举报

8#
发表于 2012-5-26 13:40:37 | 只看该作者

回复 #7 chiannet 的帖子

可以解决双击自动挂载wim的问题吗?
回复

使用道具 举报

9#
发表于 2012-5-26 13:45:30 | 只看该作者
我也发现了这个问题。难,本论坛的win7pe基本都没有解决。
回复

使用道具 举报

10#
发表于 2012-5-26 15:26:20 | 只看该作者
如果想双击自动挂载,必须建立一个VHD格式的虚拟盘,论坛不是解决了这个问题了吗?
回复

使用道具 举报

11#
发表于 2012-5-26 15:28:58 | 只看该作者

回复 #10 zhuyoucheng 的帖子

创建VHD的可以解决,但是速度很慢——主要是连接到磁盘管理占用太多时间了

楼主的PE可能精简的内容比较多导致无法创建VHD

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=206755&page=23#pid2413869
回复

使用道具 举报

12#
发表于 2012-5-26 16:10:13 | 只看该作者
原帖由 zhs509 于 2012-5-26 15:28 发表
创建VHD的可以解决,但是速度很慢——主要是连接到磁盘管理占用太多时间了

楼主的PE可能精简的内容比较多导致无法创建VHD

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=206755&page=23#pid2413869

微软一个60多KB的命令行程序vhdtool.exe就能创建vhd文件
回复

使用道具 举报

13#
发表于 2012-5-26 16:12:07 | 只看该作者

回复 #12 fujianabc 的帖子

麻烦老大将工具和脚本代码一并发下,谢谢了
回复

使用道具 举报

14#
 楼主| 发表于 2012-5-26 16:26:41 | 只看该作者

回复 #10 zhuyoucheng 的帖子

用vhd格式的,,,,要等待近40秒。。。。
回复

使用道具 举报

15#
 楼主| 发表于 2012-5-26 16:27:51 | 只看该作者

回复 #12 fujianabc 的帖子

挂载很费时间的。。。。。。。。。。。。何况不知道为什么native 7pe 挂载不上。。

算了。我打算抛弃wim。没看到wim单文件自动运行的好处。好似整体打包成wim吧
回复

使用道具 举报

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

饭大,本人有一个设想,不知道对不?就是我们把exe程序外置弄成wim自运行格式,就是为了防止在不干净的电脑中导入导出时外置感染病毒。现在要解决你提的问题有一点的难度。我们可以采用变通的方法,就是
PE外置EXE扩展名全部人工改名为另一个如zds,然后在PECMD语句中,注册ZDS关联为程序文件。不能不能达到上面的目的?我测试一下方案是可行的就是不知道能不能防病毒。
pecdm exe=!cmd asso.zds =exefile。 语句可能要修正一下。
晚上专门开帖子研究一下。

[ 本帖最后由 zds1210 于 2012-5-26 16:35 编辑 ]
回复

使用道具 举报

17#
发表于 2012-5-26 16:42:00 | 只看该作者
原帖由 hotdll 于 2012-5-26 16:27 发表
挂载很费时间的。。。。。。。。。。。。何况不知道为什么native 7pe 挂载不上。。

算了。我打算抛弃wim。没看到wim单文件自动运行的好处。好似整体打包成wim吧

整体打包也是一种好方法,但可能会影响启动速度和内存。
单个程序打包成wim自运行,除了病毒外,好像也没有什么好处,体积会大些,7Z和winrar打包,个头都比它小。
我建议你,程序不用整体打包,而还是外置于UD区,按需调用,否则不太适用于老电脑。我测试了这种外置方式,02年的老电脑也能极速启动,256M内存,基本维护根本没有问题。我猜如果整体打包,老电脑的启动速度和内存占用就不知了,就失去了nativpe的优势。但统一版,还是打包为好,比较容易实现统一。
单个程序改一下扩展名,然后PE下注册程序关联,也是好方法。
在你的win 7下手工输入脚本,成功实现了扩展名的转变。

[ 本帖最后由 zds1210 于 2012-5-26 17:05 编辑 ]
回复

使用道具 举报

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

回复 #17 zds1210 的帖子

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


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

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

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

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.
回复

使用道具 举报

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

回复 #21 xhwfq 的帖子

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

使用道具 举报

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

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

使用道具 举报

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

回复 #23 xhwfq 的帖子

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

使用道具 举报

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

回复 #23 xhwfq 的帖子

好像有点道理。。。

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

等待hotdll的新成果
回复

使用道具 举报

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

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

使用道具 举报

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

回复 #26 hotdll 的帖子

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

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

使用道具 举报

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

使用道具 举报

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

回复 #28 xhwfq 的帖子

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

使用道具 举报

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 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-5-11 20:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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