听说新的wim驱动可以实现只读介质上的wim文件可写挂载,连夜赶制,成功实现了,但并不是想像的那么好,还要做工作。
一 实现方法
按老九的想法、chenall解决了核心的bartpe -wg workgroup语句,实现起来不复杂。
1、先用IMDISK做出Y盘并格式成NTFS(我设成了64M,起码也要256M以上内存才能测试)
2、改造setupreg.hiv和PECMD.ini,让其支持新版的WIM。
3、测试:不管WIM文件在不在可写媒体,均可以实现可写挂载。
添加的注册表如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Services\WimMount]
"Type"=dword:00000002
"Start"=dword:00000002 ----------代表自动
"ErrorControl"=dword:00000001
"Tag"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,77,00,69,00,6d,00,6d,00,6f,00,75,\
00,6e,00,74,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="WimMount"
"Group"="FSFilter Activity Monitor"
"DependOnService"=hex(7):46,00,6c,00,74,00,4d,00,67,00,72,00,00,00,00,00
"DependOnGroup"=hex(7):00,00
"Description"="Wim Mounting Driver"
"DebugFlags"=dword:00000000
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Services\WimMount\Instances]
"DefaultInstance"="Wimmount Instance"
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Services\WimMount\Instances\Wimmount Instance]
"Altitude"="180700"
"Flags"=dword:00000000
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Services\WimMount\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Services\WimMount\Enum]
"0"="Root\\LEGACY_WIMMOUNT\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
;==========================
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Enum\Root\LEGACY_WIMMOUNT]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Enum\Root\LEGACY_WIMMOUNT\0000]
"Service"="WimMount"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="WimMount"
[HKEY_LOCAL_MACHINE\PE\ControlSet001\Enum\Root\LEGACY_WIMMOUNT\0000\Control]
"ActiveService"="WimMount"
将原先老的一些驱动注册要删除了。
二 但有些问题可能要老九解决:
1、用PECMD的MOUNT命令,IMDISK做出的Y盘64M,挂一个WIM包到Y盘的一个目录后,Y盘可用空间急剧下降,几乎不能再挂其他镜像,但用外面放置的wimnt或wimtool将镜像挂到Y盘则空间只是小许减少,不知何故。将wimtool放到内核中,启动时挂载镜像好象跟PECMD一样的。
2、卸载似乎不干净,特别是注册了镜像上的文件时。卸载后重新挂,只要原先没卸干净的就挂不起。
3、装卸速度似乎比老版本要慢。
内核winpe.is_纳米下载:http://www.namipan.com/d/WinPE.I ... 4fa674f0697985ebd01
[ 本帖最后由 hhh333 于 2009-3-13 21:11 编辑 ] |