无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: khauyeung
打印 上一主题 下一主题

[推荐] 改进YY版PE: 用Vista的WIM技术,建立Programs.wim外置程式镜像

[复制链接]
61#
 楼主| 发表于 2007-5-21 00:52:57 | 只看该作者
原帖由 fengxi 于 2007-5-19 12:06 PM 发表
按楼主的办法改装毛桃版,用mountrw 挂上了一个wim文件,读取没问题,但往里写东西时就蓝屏了,有谁能解释一下?

我想在回答fengxi问题的同时,向大家指出一些建立Programs.wim外置程式的注意事项。

fengxi,我看过你作测试用的test.wim并做了实验,发觉问题还是出在你制作的wim上面:

你的wim很简单的,**不包含任何文件夹**,只包含二个文件,都放在根目录上面:
\BootXP.IMA
\Vista_MEMTEST.IMA
我用指令imagex /mountrw c:\test.wim c:\mount把它挂在虚拟机的C:盘的\mount文件夹下面,然后用指令copy c:\temp\coolsites.htm c:\mount往它写文件,马上就蓝屏了。假如我挂的不是你的test.wim,而是我的Programs.wim,蓝屏就不出现。那么,你的test.wim出了什么问题呢?

经研究问题是出在它*不包含任何文件夹*。我把你的test.wim改了一下,根目录下面增加了一只叫images的文件夹,然后把二个文件放在文件夹里面:
\images\BootXP.IMA
\images\Vista_MEMTEST.IMA
使用相同的指令挂接和写文件,这次写操作完全成功,蓝屏并不出现。随后的imagex /commit /unmount c:\mount指令也成功把所写的coolsites.htm这个转变更新到test.wim中。

我不懂如何解释这发生的现象,我想假如wim下面不带文件夹,wimfltr很可能会视它为一整个硬盘,写操作时会申请一个很大的临时空间,从而把系统搞垮。

结论是建立外置程式的wim镜像时,根目录下面最小得包含一只文件夹,写操作时要考虑系统的内存和临时写空间的承受能力。老毛原程式带很多自解压程序,解压过程必须使用临时写空间,不利wimfltr操作,同时也拖慢执行速度,建议解压后才整合到wim镜像中去。
回复

使用道具 举报

62#
发表于 2007-5-21 11:01:52 | 只看该作者
原帖由 khauyeung 于 2007-5-19 09:55 PM 发表

可以详述一下配制BCD的细节吗?我的理解是这个BCD要引导一个nt52类型的winpe,它的wim镜像(boot.wim)放在光盘上的\source目录下面。我希望你能提供用如何使用bcdedit配制这个BCD的一步步(step-by-step)细节。

其实不需要bcd的配置菜单也可以引导多重启动
完全可以用grub来引导。
以硬盘版本为例,方法

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=103728&extra=page%3D2

我在我自己的机器上已经做过测试,可以行的通。
在U盘上测试,我的机器也可以多重启动,只是部分机器不能用U盘启动。
回复

使用道具 举报

63#
发表于 2007-5-21 13:09:21 | 只看该作者

回复 #2 barton 的帖子

謝謝大大無私的分享
回复

使用道具 举报

64#
发表于 2007-5-21 16:26:57 | 只看该作者
现在我只想说,有谁能不下载楼主的ISO就能按照节选的教程做成功,真是顶尖的高手。
这楼主的内容,菜鸟肯定是搞不成功的。

[ 本帖最后由 原名丢了 于 2007-5-22 08:28 AM 编辑 ]
回复

使用道具 举报

65#
发表于 2007-5-22 12:29:27 | 只看该作者
  楼主将TXTSETUP.SIF文件中与WIMFLTR.SYS、WIMFSF.SYS驱动有关的内容单独帖上来,
因为本人手头上没有老毛桃那两个PE,查了一下你帖上的TXTSETUP.SIF文件(两个),都没有
"WIMFLTR.SYS"、"WIMFSF.SYS"这些字符串。

  就是说你的TXTSETUP.SIF文件与老毛桃原来的TXTSETUP.SIF差别在哪里,单独帖出来,
也方便修改其它PE,如繁体PE,因为繁体PE不一定用老毛桃原来的TXTSETUP.SIF。
回复

使用道具 举报

66#
 楼主| 发表于 2007-5-22 13:02:16 | 只看该作者
原帖由 lxl1638 于 2007-5-22 12:29 PM 发表
  楼主将TXTSETUP.SIF文件中与WIMFLTR.SYS、WIMFSF.SYS驱动有关的内容单独帖上来,
因为本人手头上没有老毛桃那两个PE,查了一下你帖上的TXTSETUP.SIF文件(两个),都没有
"WIMFLTR.SYS"、"WIMFSF.SYS"这些字 ...

老毛为了保护他的"知识产权",把TXTSETUP.SIF里面的几个部分砍掉了,主要砍掉的部份在[SourceDisksFiles.x86],我只是把它还原。WIMFLTR.SYS、WIMFSF.SYS驱动不须在TXTSETUP.SIF里注册。我把他的和我的都贴出来给参考:

TXTSETUP_MaoTao.rar

21.02 KB, 下载次数: 47, 下载积分: 无忧币 -2

TXTSETUP.rar

28.63 KB, 下载次数: 53, 下载积分: 无忧币 -2

回复

使用道具 举报

67#
发表于 2007-5-22 13:03:07 | 只看该作者
支持一下啊,这么好的东西。
回复

使用道具 举报

68#
发表于 2007-5-22 13:06:09 | 只看该作者
原帖由 khauyeung 于 2007-5-22 01:02 PM 发表

老毛为了保护他的"知识产权",把TXTSETUP.SIF里面的几个部分砍掉了,主要砍掉的部份在[SourceDisksFiles.x86],我只是把它还原。WIMFLTR.SYS、WIMFSF.SYS驱动不须在TXTSETUP.SIF里注册。我把他的和我的都贴出 ...


就是说不用改TXTSETUP.SIF文件了?难怪本人在TXTSETUP.SIF文件中找不到"WIMFLTR.SYS"、"WIMFSF.SYS"这些字符串呢。
回复

使用道具 举报

69#
 楼主| 发表于 2007-5-22 13:16:44 | 只看该作者
原帖由 原名丢了 于 2007-5-21 04:26 PM 发表
现在我只想说,有谁能不下载楼主的ISO就能按照节选的教程做成功,真是顶尖的高手。
这楼主的内容,菜鸟肯定是搞不成功的。

我在顶楼就说过,看不明白的有二种可能性:

1. 楼主太菜,说得不知所云。
2. 读者太菜,不看也吧。

无论是什么可能性,我都会说一声:抱歉!
回复

使用道具 举报

70#
发表于 2007-5-22 13:29:30 | 只看该作者
好文章
最近工作忙
有空的时候好好学习下
先收藏
回复

使用道具 举报

71#
发表于 2007-5-22 14:06:22 | 只看该作者
学习中,谢谢分享。^_^
回复

使用道具 举报

72#
发表于 2007-5-22 15:12:44 | 只看该作者
不错啊,这种方式加载外置程序看来是未来发展方向。

我用虚拟机测试楼主制作的iso,感觉加载wim时间稍长,内存多占用了一些(估计是虚拟B盘占用的)。
回复

使用道具 举报

73#
发表于 2007-5-22 16:27:59 | 只看该作者
呵呵,还是没空钻研,还不如你上传一个新版出来,感谢分享
回复

使用道具 举报

74#
发表于 2007-5-23 08:41:36 | 只看该作者
原帖由 khauyeung 于 2007-5-22 01:02 PM 发表

老毛为了保护他的"知识产权",把TXTSETUP.SIF里面的几个部分砍掉了,主要砍掉的部份在[SourceDisksFiles.x86],我只是把它还原。WIMFLTR.SYS、WIMFSF.SYS驱动不须在TXTSETUP.SIF里注册。我把他的和我的都贴出 ...

也就是,没并必要换了?我用的是深山红叶(熊猫)要不要改啊?
回复

使用道具 举报

75#
发表于 2007-5-25 22:27:43 | 只看该作者
还要请教楼主,老毛桃的iso我始终没有改成功(在虚拟机里mountrw不成功,mount可以),
现在在下楼主的iso.
1. 不用iso,用移动硬盘peldr+img,采用老九的最新pecmd没问题.可以读写,没有用到ramdrv.
2.如果用iso方式(也是img),在vmware虚拟机里,pecmd moun 加载不行,我以为是光盘启动需要ramdrv的原因,又把它加上,还是不行,但试了imagex mountrw不行,如果mount的话则可以.
是什么原因呢?
楼主改动的太多了,我只想把外置程序压缩成wim,但始终没弄好,再不行的话,从你的iso往回改:L
回复

使用道具 举报

76#
发表于 2007-5-25 23:03:16 | 只看该作者
原帖由 songq 于 2007-5-25 10:27 PM 发表
如果用iso方式(也是img),在vmware虚拟机里,pecmd moun 加载不行,我以为是光盘启动需要ramdrv的原因,又把它加上,还是不行,但试了imagex mountrw不行,如果mount的话则可以.
是什么原因呢?


难道光盘作介质时,外置程序不能用WIM打包了?关注一下。
回复

使用道具 举报

77#
发表于 2007-5-26 00:24:36 | 只看该作者
是不是这样:
imagex /mountrw 参数要求原来的WIM文件是可写的,放在光盘上的WIM文件是只读的,
所以 imagex /mountrw 挂不上WIM文件?
回复

使用道具 举报

maofengtz 该用户已被删除
78#
发表于 2007-5-26 08:39:36 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

79#
发表于 2007-5-26 08:58:41 | 只看该作者
又下载了楼主的xcpe.iso,发现不是ramdisk方式启动的,跟老毛桃的iso不一样.

如果不能读写的话,wim意义就不大了.
回复

使用道具 举报

80#
发表于 2007-5-26 09:17:32 | 只看该作者
原帖由 songq 于 2007-5-26 08:58 AM 发表
又下载了楼主的xcpe.iso,发现不是ramdisk方式启动的,跟老毛桃的iso不一样.

如果不能读写的话,wim意义就不大了.

是不是只能于光盘了?:'( :'(
回复

使用道具 举报

81#
发表于 2007-5-26 09:42:05 | 只看该作者
原帖由 lxl1638 于 2007-5-26 12:24 AM 发表
是不是这样:
imagex /mountrw 参数要求原来的WIM文件是可写的,放在光盘上的WIM文件是只读的,
所以 imagex /mountrw 挂不上WIM文件?

对,我用vista安装文件试验过,光盘上的wim文件无法用mountrw参数,会报错
回复

使用道具 举报

82#
 楼主| 发表于 2007-5-26 11:43:12 | 只看该作者

回复 #86 lxl1638 的帖子

原帖由songq发表
还要请教楼主,老毛桃的iso我始终没有改成功(在虚拟机里mountrw不成功,mount可以),
现在在下楼主的iso.
1. 不用iso,用移动硬盘peldr+img,采用老九的最新pecmd没问题.可以读写,没有用到ramdrv.
2.如果用iso方式(也是img),在vmware虚拟机里,pecmd moun 加载不行,我以为是光盘启动需要ramdrv的原因,又把它加上,还是不行,但试了imagex mountrw不行,如果mount的话则可以.
是什么原因呢?
楼主改动的太多了,我只想把外置程序压缩成wim,但始终没弄好,再不行的话,从你的iso往回改

回答你的问题:
1. 用移动硬盘peldr+img时,你的PE是建立在硬盘上的(X:盘是硬盘),你的Programs.wim也是在硬盘上,而且挂接的目标盘也是在硬盘上。硬盘是可以读写的,所以一切都不成问题。
2. 用iso方式时,你的PE是建立在光盘上的(X:盘是光盘),假如把挂接的目标盘设定在X:盘的话,无论你用mountrw或者mount,挂接都不会成功,因为imagex会拒绝把wim挂接到唯读光盘。假如你加了ramdrv,并把挂接的目标盘设定为ramdrv,那么用mount指令是肯定没有问题了,但是mountrw还是有机会不成功的,这是因为如下面老九指出的:imagex /mountrw 参数要求原来的WIM文件是可写的,放在光盘上的WIM文件是只读的,所以 imagex /mountrw 挂不上WIM文件,要改用 imagex /mount。
关于如何灵活地自动处理用mount和mountrw的方法,请参考我下面答覆老九附上的脚本。
原帖由 lxl1638 于 2007-5-26 12:24 AM 发表
是不是这样:
imagex /mountrw 参数要求原来的WIM文件是可写的,放在光盘上的WIM文件是只读的,
所以 imagex /mountrw 挂不上WIM文件?

回答老九,你已经正确地答覆了自己提出的问题了。其实,我们不一定把wim挂接成可读可写的。我自己是用一只CPEStartup.cmd来执行找寻和挂接的wim文件的,我的处理原则是:先尝试用mountrw挂接到ramdrv,不成功则改用mount挂接。下面列出有关部分:
  1. ......

  2. start /min /wait %SystemRoot%\system32\FORMAT.COM B: /FS:NTFS /V:RAMDisk /Q /C /X /FORCE>NUL
  3. if not exist "%ramdrv%\Programs" mkdir "%ramdrv%\Programs"

  4. :load1st
  5. set ProgramFiles=x:\Programs
  6. goto _linkprep

  7. :autoruntag
  8. echo autorun finished at %time% >%SystemRoot%\system32\autorun.tag

  9. :load2nd
  10. for %%i in (x q w e r t y u i o p s d f g h j k l z c v n m) do (
  11. if exist %%i:\programs.wim set _drive=%%i
  12. )
  13. if not exist %_drive%:\Programs.wim goto _linkprep
  14. if not exist "%ramdrv%\Programs" mkdir "%ramdrv%\Programs"
  15. start /min /wait imagex.exe /unmount %ramdrv%\Programs >nul
  16. echo Trying to mount %_drive%:\programs.wim read-write...
  17. start /min /wait imagex.exe /mountrw %_drive%:\programs.wim 1 %ramdrv%\Programs >nul
  18. if not exist %ramdrv%\Programs\PROG_WIM.TAG (
  19. if not exist %ramdrv%\PROG_WIM.TAG (
  20. echo Error. Trying to mount %_drive%:\programs.wim read-only...
  21. start /min /wait imagex.exe /mount %_drive%:\programs.wim 1 %ramdrv%\Programs >nul
  22. )
  23. )
  24. set ProgramFiles=%ramdrv%\Programs
  25. goto _linkprep

  26. ......

  27. :_linkprep

  28. ......

  29. goto autoruntag
复制代码
对于那些有需要对wim进行写操作的人来说,他们应该把Programs.wim放到硬盘中去(或者是IMG/SDI-PE的X:盘)而不是放在光盘。假如你没有对wim的写需要,放在什么地方都不会成为问题。
下面附上我使用的三个配置文件供参考。

[ 本帖最后由 khauyeung 于 2007-5-26 12:22 PM 编辑 ]

3Files.rar

12.26 KB, 下载次数: 51, 下载积分: 无忧币 -2

回复

使用道具 举报

83#
发表于 2007-5-26 12:06:20 | 只看该作者
为什么你的iso可以读写呢,可不可以把你的改成ramdisk启动,依旧可以读写呢?
我照着你的加了ramdrv,反复试过无数次,没有一次可以mountrw成功.(fat32格式,ntfs格式,img的,wim的交替试过了),正象你所说的,mount到x盘不行,mount到B盘可以成功.

如果mountrw不确定可行的话,老九的pecmd也要改写了,现在只是实现mountrw的吧,还要考虑不能读写的情况
回复

使用道具 举报

84#
发表于 2007-5-26 12:09:30 | 只看该作者
昨晚已更新,可以挂上光盘上的WIM文件,但参数要求自己写。

一直以来很少搞Imagex,现在总算明白了些少。

其实在PE中用 Imagex /Mount 参数只读挂载也够用了,这个参数不会修改原来的WIM文件,MOUNT到可写目录中,目标目录同样是可写的。

也更新了一下PECMD,PECMD的MOUN命令支持类似Imagex 的 /Mount 和 /MountRW 两种方式挂载WIM映像。

[ 本帖最后由 lxl1638 于 2007-5-26 12:11 PM 编辑 ]
回复

使用道具 举报

85#
发表于 2007-5-26 12:12:06 | 只看该作者
补充一点,我试了img-pe格式的x盘也无法mount,必需mount到b盘,
楼主可不可以改个img做x盘的iso呢?实现mountrw,我折腾不出来了
回复

使用道具 举报

86#
发表于 2007-5-26 12:30:55 | 只看该作者
在PE中实现 /MountRW 没有多大用途,/MountRW 的目的是为修改 WIM文件用的,
用 /MountRW 挂上 WIM文件后,对目标目录(Mount到的目录)的修改也有可能修改
原来的WIM映像文件,这个修改是在内存或临时目录,这个修改是否保存就看 /UnMount 
后面有没有参数 /COMMIT。
回复

使用道具 举报

87#
发表于 2007-5-26 12:51:17 | 只看该作者
按我的理解,外置程序改成wim格式,就可以不用自解压到temp目录来运行了,如果只读,有些程序运行要写目录怎么办?
回复

使用道具 举报

88#
发表于 2007-5-26 12:55:23 | 只看该作者
原帖由 songq 于 2007-5-26 12:51 PM 发表
按我的理解,外置程序改成wim格式,就可以不用自解压到temp目录来运行了,如果只读,有些程序运行要写目录怎么办?


不管WIM文件属性如何,也不管是否用/RW方式挂载,只要目标目录是可写的,
程序运行要写目录不成问题。
回复

使用道具 举报

89#
 楼主| 发表于 2007-5-26 12:58:30 | 只看该作者
原帖由 songq 于 2007-5-26 12:12 PM 发表
补充一点,我试了img-pe格式X:盘也无法mount,必需mount到b盘,
楼主可不可以改个img做x盘的iso呢?实现mountrw,我折腾不出来了

我自己在SDI的X:盘尝试过,假如Programs.wim也在X:盘或者是其他硬盘,使用mountrw挂接是没有问题的。SDI-PE除了多了一个header外,跟IMG-PE没有太多分别,按道理使用mountrw挂接也不应有问题。不过,我们制作SDI/IMG时一般不会预留太多空间给X:盘的,挂接虽然成功,真实的写操作是否有足够写空间是个疑问。
本人以为,PE用的Programs.wim是很小机会需要进行写操作的。假如你有其他的wim需要写操作,把它放入硬盘,进入PE后,把它mountrw到硬盘上的一个目录不就成了吗?
回复

使用道具 举报

90#
发表于 2007-5-26 13:10:37 | 只看该作者
其实是很简单的问题:
/Mount 参数不能也不会改写(或也以说破坏)原来的WIM文件;

/MountRW 参数可以改写原来的WIM文件,当目标目录改写后,
/UnMount 参数后面加上 /COMMIT 卸下WIM映像时,目标目录
被修改的文件和新生成的文件会被更新到原来的WIM映像中。

  所以说,在PE中用/MountRW参数挂载映像没有必要,
除非你要编辑WIM文件。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-24 01:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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