|
ENVI PF=Pagefile.sys
//设置虚拟内存,步骤3。
_SUB SetPageDrv3
TEAM TEXT 正在设定虚拟内存(虚拟内存存放在 %TARGET_DRIVE% 盘)……|PAGE %TARGET_DRIVE%\%PF% 256 512
//标志已经设置虚拟内存。由于直接判断%TARGET_DRIVE%\%PF%是否存在始终无法正确运行,这里只有搬用毛桃这条语句。终于明白毛桃为什么要搞这么麻烦来判断虚拟内存。
TEAM EXEC !=CMD.EXE /C ECHO IF EXIST %TARGET_DRIVE%\%PF% PECMD LINK %Temp%\RPT_OK,%WinDir%>%TEMP%\RPT_OK.CMD|EXEC !=%TEMP%\RPT_OK.CMD
IFEX %Temp%\RPT_OK.LNK,!TEXT 无法设置虚拟内存,目标磁盘只读或有错……
_END
//设置虚拟内存,步骤2。
_SUB SetPageDrv2
//设置前先做一些测试。测试如果失败就标志不设置虚拟内存。
TEAM EXEC !=CMD.EXE /C ECHO 测试是否可写。>"%TARGET_DRIVE%\%PF%"|ENVI ISSETPF=Yes|ENVI ERROR=0|FILE %TARGET_DRIVE%\%PF%
FIND $ERROR=0,!ENVI ISSETPF=No
//如果目标盘是X:盘就标志不设置虚拟内存。以后修改PE核心时要注意此项。
//====================================================================================================
FIND $TARGET_DRIVE=X:,ENVI ISSETPF=No
//====================================================================================================
FIND $ISSETPF=Yes,CALL SetPageDrv3!TEXT 无法设置虚拟内存,目标磁盘只读或有错……
_END
//设置虚拟内存,步骤1。
_SUB SetPageDrv1
TEAM TEXT 正在设定虚拟内存……|ENVI $TARGET_ROOT=
BROW * $请选择虚拟内存文件存放的分区。
FIND $TARGET_ROOT=,TEXT 放弃设定虚拟内存……!CALL SetPageDrv2
_END
//询问是否设定虚拟内存。
_SUB IFSetPageFile
TEAM TEXT 是否设置虚拟内存?|ENVI YESNO=YES
MESS 您的计算机物理内存较少,某些外置程序的运行可能需要用到\n虚拟内存。设置了虚拟内存,有助于提高系统的速度和稳定性;\n \n设置虚拟内存会重置目标磁盘根目录上的%PF%文件。\n如果您需要保护并恢复硬盘分区数据,可跳过虚拟内存的设置。\n \n您确定要设置虚拟内存吗?(建议设置,30 秒后默认选择否)@设置虚拟内存 #YN *30000 $N
FIND $YESNO=YES,Call SetPageDrv1!TEXT 没有建立虚拟内存……
WAIT 500
_END
//物理内存低于 256MB 时询问是否设定虚拟内存。
FIND MEM<256,CALL IFSetPageFile
//清除无用的环境变量和标志文件。
TEAM ENVI PF=|ENVI IFWait=|ENVI YESNO=|ENVI CurDir=|ENVI $TARGET_ROOT=|ENVI TARGET_DRIVE=|ENVI ERROR=|ENVI ISSETPF=|FILE %Temp%\RPT_*.*
//加载EXPLORER.EXE并对屏幕显示的内容进行清理;
//在PECMD.INI中也有一条相同的语句,表面上这条语句会先执行并导致PECMD.INI中的那条语句跳过不执行。但在实际测试中发现并没有跳过,并导致重复执行了。
//事实上,此句好象没什么用。因为在正常启动时,即使没有此句也会通过PECMD.INI中的那条语句加载EXPLORER.EXE。而在最小模式时,由于已经加载EXPLORER.EXE,此句理论上会跳过不执行的。那么还要此句有何用?
FIND Explorer.EXE,!TEXT 正在载入桌面……|SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
FIND $Mini=Yes,WAIT 500|EXEC %WinDir%\system32\RunDll32.exe %WinDir%\system32\USER32.DLL,UpdatePerUserSystemParameters
ENVI Mini=
//配置文件结束
-----------------------------------------------------------------
从别的pe中摘要的设置虚拟内存的配置文件。美丽版的时候要改进。
另外,新内核为什么有是找不到硬盘,非得用就内核替换不行吗 |
|