无忧启动论坛

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

小内存机子启动PE时在LOGON停死的初步分析。

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-19 02:35:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小内存机子启动WinPE时常在LOGON期间停死,初步发现是因为内存不足。但处理得好,目前基于1111版的很多修改版都能很好启动。要使LOGON顺利完成,关键是尽早取得内存数分析是否要创建页文件。以往一直用AUTOSETPAGEFILE.EXE,但AUTOSETPAGEFILE.EXE有二个小BUG,本人所做的工具,最了解了,特别是在一些小内存的机子容易出现,而小内存的机子恰恰是启动过程中最需要创建页文件的。它是通过多层调用SETPAGEFILE.EXE来工作的,所以有时会出现无法创建页文件,导致后面启动的进程没有内存执行,因而Logon无法继续。

        若在RunOnceEx或RunOnce处加入AUTOSETPAGEFILE.EXE,此时系统的可用内存还是较足的,但因为多层调用,到SETPAGEFILE.EXE内存已很少了,这过程为:

XPEInit ==> [XPESET]  ==> AUTOSETPAGEFILE.EXE ==> SETPAGEFILE.EXE

而 AUTOSETPAGEFILE.EXE 调用 SETPAGEFILE.EXE的机制设计得不合理(当初本人没考虑那么复杂), AUTOSETPAGEFILE.EXE没等 SETPAGEFILE.EXE完成就返回给XPEInit 或XPESET,从而使XPEINIT启动注册表中的下一进程,这样内存更少了,已启动的SETPAGEFILE.EXE无法工作,XPEINIT启动的进程无法运行。小内存的机子不能启动往往就停在这里(Logon处停死)。

      若在启动组(此时explorer.exe已启动)加入AUTOSETPAGEFILE.EXE或桌面出现以后再试图执行SETPAGEFILE.EXE,小内存的机子可用内存已很少了,有时连SETPAGEFILE.EXE都不能启动,它启动不了,其它的事别谈,因为连页文件都无法创建。

     因此,要使小内存的机子顺利启动,最好是在XPEINIT初始化之前设置虚拟内存,最直接的方法是由XPEINIT读配置文件根据机子的内存大小来设置,即在Logon期间尽早设置好虚拟内存,一旦有了虚拟内存,后续的Logon就顺了。

     重编译XPEINIT的大师可否加上这个功能:在XPEINIT初始化之前分析系统的内存状态况,并设置合理的虚拟内存?

[ 本帖最后由 lxl1638 于 2006-12-19 04:27 AM 编辑 ]
2#
发表于 2006-12-19 07:20:57 | 只看该作者
第一次坐老大楼下,顶!
向老大学习,为wuyou作贡献!
谢谢老大长期无私的奉献!
回复

使用道具 举报

3#
发表于 2006-12-19 08:00:50 | 只看该作者
学习中
回复

使用道具 举报

4#
发表于 2006-12-19 08:09:20 | 只看该作者
谢谢,支持,嗯,非常不错,如果真是这样的话,FBWF有时蓝屏问题,会不会就是这个原因,
我在256MB的真机上出现这个问题。但不是经常
回复

使用道具 举报

5#
发表于 2006-12-19 08:34:53 | 只看该作者
支持!!!
回复

使用道具 举报

6#
发表于 2006-12-19 08:45:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

7#
发表于 2006-12-19 09:37:18 | 只看该作者
Qinjg8008大师又该出马了,我等只有坐享其成了。技术差只能关注中。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-4 05:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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