老毛桃
发表于 2007-2-16 13:28:49
原帖由 songq 于 2007-2-16 12:27 发表
删再多的文件,如果在fbwf启用前不利用的话,没用吧
一旦启用fbwf,以后的读写都是fbwf的缓存,跟img内的容量无关.iso的话那些删除都是多余的.
抱歉,不是很明白你的意思
l1982012800
发表于 2007-2-16 13:40:17
意思是用了FBWF之后,删除没意义,所以启动FBWF服务越提前越好,最好把FBWF放在第一行(FBWF P20 H32)
老毛桃
发表于 2007-2-16 13:52:32
原帖由 l1982012800 于 2007-2-16 13:40 发表
意思是用了FBWF之后,删除没意义,所以启动FBWF服务越提前越好,最好把FBWF放在第一行(FBWF P20 H32)
那也至少是给一些外置程序留有一定的缓存空间啊,虽然都是在 X 盘
songq
发表于 2007-2-16 14:06:38
我的意思是启用fbwf后,再删除img和iso内的文件并不能增加x的容量大小.
譬如启用fbwf后x盘容量64M,实际上是fbwf缓存64M,以后的读写都是针对这64M缓存的,即便现在删除img和iso内的文件,看起来删除了,实际上是文件过滤驱动造成的假象,容量会大于64M吗?显然不可能
lxl1638
发表于 2007-2-16 15:03:59
原帖由 songq 于 2007-2-16 12:21 PM 发表
晕倒,我试了半天,发现既不是goto,也不是call的原因,
就是因为别的硬盘分区上有个ini配置文件,造成shell反复加载进不了桌面,我的配置文件没有问题
的确是这样,本人在调试时就发现了,一下忘记告诉你了,现在这个LOAD命令也改,当然改后会兼容原来的配置文件,不会反复LOAD了。
台湾兄弟呢?晚上才上?
[ 本帖最后由 lxl1638 于 2007-2-16 08:33 PM 编辑 ]
adatsui
发表于 2007-2-16 20:31:22
原帖由 lxl1638 于 2007-2-16 03:03 PM 发表
的确是这样,本人在调试时就发现了,一下忘记告诉你了,现在这个LOAD命令也改,当然改后会兼容原来的配置文件,不会反复LOAD了。
台湾兄弟呢?晚上才上?
台灣兄弟不是我吧 ... 我在香港, 上網確是要晚上.
font 跳過 A, B: 的安排確是很好, 效率真快呀.
新版 繁體 help.txt 在附件.
再感謝大俠的工作.
祝大家新春愉快.:P
lxl1638
发表于 2007-2-16 20:41:33
先谢。
xed
发表于 2007-2-16 22:39:59
貌似比较复杂。
willsion
发表于 2007-2-17 00:25:07
又有进步了
adatsui
发表于 2007-2-17 01:35:08
顯示初步正常 (沒有全部字看過呢, 有數千字喔) ..
試用後再報告.
lsq201015
发表于 2007-2-17 08:36:33
又有进步了
adatsui
发表于 2007-2-20 06:07:47
@老九
新版 PECMD 裝 FONT 依你說的用法, 沒有再找 a: 盤了, 一切正常. 謝謝.
lxl1638
发表于 2007-2-20 13:18:18
原帖由 adatsui 于 2007-2-20 06:07 AM 发表
@老九
新版 PECMD 裝 FONT 依你說的用法, 沒有再找 a: 盤了, 一切正常. 謝謝.
什么时候SHOW你繁体PE出来,让大家见识见识?
adatsui
发表于 2007-2-20 22:09:17
大俠見笑了, 我的使用pebuilder, 是單純傻瓜操作,按鍵便成, 沒技術成份可言. 每個做出來都超在400mb以上.
大俠的10mb版pe 才是經典啦.
123
发表于 2007-2-21 17:37:54
原帖由 adatsui 于 2007-2-20 10:09 PM 发表
大俠見笑了, 我的使用pebuilder, 是單純傻瓜操作,按鍵便成, 沒技術成份可言. 每個做出來都超在400mb以上.
大俠的10mb版pe 才是經典啦.
其实用pebuilder也可以做出只有几十M的东西。不过我现在也不用这东西来做了。
zts59
发表于 2007-2-21 19:17:23
更新了一下,怎么进入不了桌面了,好像循执行EXPLORER.EXE然后终止,导致桌面不停的一闪而过。
用是的一楼的内部配置文件,我屏敝了外置文件也一样。
是不是MAIN和INIT命令搞错了?MAIN命令不是已经在PELOGON中了吗?
搞不懂了。晕
感觉好像是初始化不完善所致。还是多删除一些文件?
EXEC $%SYSTEMROOT%\EXPLORER.EXE
和
SHEL %SystemRoot%\EXPLORER.EXE
加载SHELL后,自动终止。(好像SHEL会自动不停的加载,而EXEC 只回加载一次)
我修改的内部配置文件如下:
; 配置文件开始(注意,文件开始和结束必须是空行或注释)
//行首的注释可以用"/"或";",但行后的注释必须是";"。
_SUB Start_Logon
TEAM LOGO %SystemRoot%\SYSTEM32\PELOGO.JPG|TEXT 初始化系统……#0xFFDDDD,4,560,300,590 $20
TEAM FILE %SystemRoot%\TXTSETUP.SIF|FILE NTOSKRNL.EXE|FILE SetupReg.HIV|FILE HAL*.DLL|FILE BOOTVID.DLL|FILE KDCOM.DLL
INIT
_END
_SUB USER_Setting
ENVI ProgramFiles=%SystemDrive%\Programs
_END
_SUB FixSystem
// 修正 USB 驱动程序文件路径……
REGI HKLM\System\CurrentControlSet\Services\USBHUB\ImagePath=System32\Drivers\USBHUB.SYS
REGI HKLM\System\CurrentControlSet\Services\USBCCGP\ImagePath=System32\Drivers\USBCCGP.SYS
REGI HKLM\System\CurrentControlSet\Services\USBEHCI\ImagePath=System32\Drivers\USBEHCI.SYS
REGI HKLM\System\CurrentControlSet\Services\USBOHCI\ImagePath=System32\Drivers\USBOHCI.SYS
REGI HKLM\System\CurrentControlSet\Services\USBSTOR\ImagePath=System32\Drivers\USBSTOR.SYS
REGI HKLM\System\CurrentControlSet\Services\USBUHCI\ImagePath=System32\Drivers\USBUHCI.SYS
//设定系统……
REGI HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\PostBootReminder=
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{7007ACC7-3202-11D1-AAD2-00805FC1270E}\!
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{D20EA4E1-3957-11d2-A40B-0C5020524153}\!
REGI HKCR\lnkfile\IsShortcut
//取消安装未经签名的驱动程序警告……
REGI HKCU\Software\Microsoft\Driver Signing\Policy=@0
REGI HKLM\Software\Microsoft\Driver Signing\Policy=@0
REGI HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\PrivateHash=@0x22 0x9E 0x53 0x3E 0x5D 0x08 0xAB 0xC8 0x77 0x1D 0xB9 0xD0 0xE6 0x06 0xA8 0x06
_END
_SUB Created_Ssytem_Menu
TEXT 创建系统程序快捷方式……
CALL SHELL32.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
CALL BROWSEUI.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
CALL SHDOCVW.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U
LINK %Desktop%\命令提示符,CMD.EXE
LINK %Programs%\附件\记事本,NOTEPAD.EXE
LINK %Programs%\附件\计算器,CALC.EXE
LINK %Programs%\附件\命令提示符,CMD.EXE
LINK %Programs%\附件\注册表编辑器,REGEDIT.EXE
LINK %Programs%\附件\资源管理器,EXPLORER.EXE,,EXPLORER.EXE,1
_END
_SUB Setting_Run
ENVI TMP0=FILE %SystemRoot%\SYSTEM32\WIN32K.SYS
ENVI TMP1=WAIT 5000|KILL SMSS|KILL WINLOGON|FILE SMSS.EXE|FILE WINLOGON.EXE
RUNS PECMD TEAM %TMP0%|%TMP1%,WAITKILL
TEAM ENVI TMP0=|ENVI TMP1=
_END
_SUB Setting_PAGE
TEXT 3秒内按住END键,使用虚拟内存...
WAIT 4000
IFEX KEY=35,PAGE C:\PAGEFILE.SYS 128!TEXT 不使用虚拟内存...
_END
_SUB Setting_FBWF_RAMD
IFEX MEM>25,REGI HKLM\System\CurrentControlSet\Services\FBWF\WinPECacheThreshold=#0x10
IFEX MEM>80,REGI HKLM\System\CurrentControlSet\Services\FBWF\WinPECacheThreshold=#0x20
IFEX MEM>200,REGI HKLM\System\CurrentControlSet\Services\FBWF\WinPECacheThreshold=#0x40
IFEX MEM>360,REGI HKLM\System\CurrentControlSet\Services\FBWF\WinPECacheThreshold=#0x80
IFEX MEM>25,TEXT 启动FBWF...|SERV FBWF
_END
_SUB Setting_SHELL
TEAM TEXT 载入桌面!
LOGO
WAIT 1000
EXEC $%SYSTEMROOT%\EXPLORER.EXE ;用SHEL也不能加载EXPLORER.EXE
WAIT 3000
HOTK #95,PECMD.EXE SHUT R ; 休眠键重启
HOTK #255,PECMD.EXE SHUT; 电源键关机
_END
;主体执行流程
;LOGS %SystemRoot%\PECMD.LOG; 日志记录
CALL Start_Logon ; 登录界面设置、系统初始化(在这过程内必须删一些文件,确保 INIT 命令能工作,不建议改这个过程的设置)
CALL Setting_PAGE ; 设置页面文件,注意:当剩余内存小于才设置页面文件
CALL Setting_FBWF_RAMD ; 设置FBWF、RAMD 等(只要 INIT 命令能工作,开启FBWF可以放在外部设置之后)
;LOAD \外置程序\PECMD.INI ; 加载外部设置(可以放在内部设置FBWF之前,可以优先使用外部设置)
CALL FixSystem ; 系统修正(其它对注册表的操作也可放在这里)
CALL Created_Ssytem_Menu ; 创建系统菜单(在这过程内可以添加其它系统菜单)
;CALL Created_Tools_Menu ; 创建工具菜单(工具菜单放在这里添加)
CALL Setting_Run ; 设置启动项(其它启动项可以在这过程设置)
CALL USER_Setting ; 用户设置(设置用户名、公司名、WALL放在这个过程)
CALL Setting_SHELL ; 设置SHELL(无需解释,仅设置SHELL而已)
;LOGS ; 关闭日志
; 配置文件结束
[ 本帖最后由 zts59 于 2007-2-21 07:48 PM 编辑 ]
lxl1638
发表于 2007-2-21 19:39:44
ISO or IMG ?
lxl1638
发表于 2007-2-21 19:45:33
原帖由 zts59 于 2007-2-21 07:17 PM 发表
更新了一下,怎么进入不了桌面了,好像循执行EXPLORER.EXE然后终止,导致桌面不停的一闪而过。
用是的一楼的内部配置文件,我屏敝了外置文件也一样。
是不是MAIN和INIT命令搞错了?MAIN命令不是已经在PELOGON ...
你先试试这样,
注册表中直接用:PELOGON.EXE PECMD LOAD %SystemRoot%\SYSTEM32\PECMD.INI
PECMD.INI就三行试试:
FBWF P20 H64
INIT
SHELL %SystemRoot%\EXPLORER.EXE
如果是IMG格式的,可以先用FILE删些文件,FBWF放到后期再开启。如果是ISO格式的FBWF要第一步开启。
zts59
发表于 2007-2-21 19:50:21
老九在啊,我修改了一下贴子,IMG的格式总大小44M,剩余空间在1.6M左右。
自己加的那个几行,是出现问题后才加上去的,所以应该不是那几行的问题.
在没有循环加载桌面的过程中,我打任务管理器,看了一下,FBWF已经开启了,有33M空间之多!
用的是,AUTORUN.CMD:
Start /Wait %SystemRoot%\SYSTEM32\PECMD.EXE LOAD %SystemRoot%\SYSTEM32\PECMD.INI
Start %SystemRoot%\SYSTEM32\PELOGON.EXE /MAIN
Exit
后用
FBWF P20 H64
INIT
SHELL %SystemRoot%\EXPLORER.EXE SHELL 也可以成功,这和SHEL一样吗?
只有这三行的PECMD.INI。加载成功了!
奇怪,没有_SUB命令前,都可以正常加载桌面的,换了最新版就这样了。
[ 本帖最后由 zts59 于 2007-2-21 08:47 PM 编辑 ]
lxl1638
发表于 2007-2-21 20:07:52
下面三行不用加了:
CALL SHELL32.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
CALL BROWSEUI.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
CALL SHDOCVW.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
下面这行
EXEC $%SYSTEMROOT%\EXPLORER.EXE
改为:
SHEL %SYSTEMROOT%\EXPLORER.EXE
改一下注册表,暂时不要用AutoRun.CMD
zts59
发表于 2007-2-21 21:21:24
原帖由 lxl1638 于 2007-2-21 08:07 PM 发表
下面三行不用加了:
CALL SHELL32.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
CALL BROWSEUI.DLL,DllInstall,#1,I ;自己加上去,不知道该不该加
CALL SHDOCVW.DLL,DllInst ...
按老九所说,用注册表调用PELOGON.EXE PECMD.EXE LOAD %SystemRoot%\SYSTEM32\PECMD.INI
还是一样哦。
lxl1638
发表于 2007-2-22 14:32:49
原帖由 zts59 于 2007-2-21 07:50 PM 发表
后用
FBWF P20 H64
INIT
SHELL %SystemRoot%\EXPLORER.EXE SHELL 也可以成功,这和SHEL一样吗?
只有这三行的PECMD.INI。加载成功了!
...
1、这样能成功,说明你的INI文件其它部分有错,或外置的INI文件有错,先不要LOAD外部的INI文件试试;
2、那个 SHELL 是本人的失误,不过没有什么大问题,因为前4个字符一样是SHEL,所以仍然认为是SHEL命令。
hzxf
发表于 2007-2-22 15:54:33
当外置程序\winpe.ini在vdm装载的img虚拟盘(比如w:)时,如果是只读模式,在运行link 时,总是提示遇到写保护错误,为什么?而iso虚拟光盘就不会遇到这个错误。
难道link命令会向硬盘写东西吗?
版本是老毛桃网络版用的xcmd改进版
[ 本帖最后由 hzxf 于 2007-2-22 03:55 PM 编辑 ]
hzxf
发表于 2007-2-22 17:28:20
这个版本也是有这个现象:
当外置程序\winpe.ini在vdm装载的img虚拟盘(比如w:)时,如果是只读模式,在运行link 时,总是提示遇到写保护错误。运行load时候,会遇到一大堆错误。
link命令为什么有写硬盘(非x盘)操作?
zts59
发表于 2007-2-22 21:57:23
终于找到原因,说出来,让人大跌眼镜,原来是内配文件太大了所致,晕死,
把那些注释精简了一下,终于可以加载到桌面了。
试一N遍才搞定。
lxl1638
发表于 2007-2-22 23:42:44
原帖由 zts59 于 2007-2-22 09:57 PM 发表
终于找到原因,说出来,让人大跌眼镜,原来是内配文件太大了所致,晕死,
把那些注释精简了一下,终于可以加载到桌面了。
试一N遍才搞定。
你开了日志记录?
zts59
发表于 2007-2-23 08:02:11
没有开日志记录,不知道内置的INI文件限制在多少内呢?
1 这个HOTK能不能定义像CTRL+E,这样的热键呢?
2 FBWF最低设置X盘空间是多少,8M可以吗?
[ 本帖最后由 zts59 于 2007-2-23 09:24 AM 编辑 ]
lxl1638
发表于 2007-2-23 15:07:01
原帖由 zts59 于 2007-2-23 08:02 AM 发表
没有开日志记录,不知道内置的INI文件限制在多少内呢?
1 这个HOTK能不能定义像CTRL+E,这样的热键呢?
2 FBWF最低设置X盘空间是多少,8M可以吗?
或者你的INI文件出现了递归了,原理上INI文件不会有限制的(起码的4G以内不会有限制),但可能受机子内存限制。
1、可以设置 CTRL + E 这样的热键:
HOTK Ctrl + #69,命令
后面的命令为你要执行的程序,可带参数。热键的设置要查一些有关编程文档(键盘码表)的知识,
‘A'~'Z'的键盘码是65~90,'0'~'9'为48~57。
2、FBWF的最小值是16MB(小于这个数也会设置成16MB,PECMD会给你修正)。具体要设置多大,要看你有多少程序解压到其中执行,内存大的设置到64MB吧。
[ 本帖最后由 lxl1638 于 2007-2-23 03:08 PM 编辑 ]
zts59
发表于 2007-2-23 15:57:06
谢谢了,我想也可能是INI出现了递归。
还有一个问题,在外置INI文件中,用了
ENVI $PE_PROG=%CurDrv%\外置程序
可是在用这个%PE_PROG%变量没有生效
而在系统环境变量中有了:
[ 本帖最后由 zts59 于 2007-2-23 04:36 PM 编辑 ]
lxl1638
发表于 2007-2-23 17:20:22
你是想在启动后利用环境变量确定外置程序的路径,执行其中的某些程序吧?可以参照这里:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=95816&extra=page%3D3
另,写入注册表的环境变量要SHELL加载后刷新才生效,刷新的方法是(在启动项中执行):
PECMD.EXE ENVI $
但始终有个问题,就是启动项中的程序执行的先后问题,只有在 PECMD.EXE ENVI $ 之后启动的程序才能利用这些新刷出来的环境变量,而它之前或同时执行的程序无法使用(看到)这些新刷出来的环境变量。
[ 本帖最后由 lxl1638 于 2007-2-23 05:25 PM 编辑 ]