无忧启动论坛

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

我的XPE 改进了

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-17 19:55:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
内核脚本修正 6.0 完善版 2008.08.19
纳米盘 下载 http://www.namipan.com/d/winpe_mini6.ISO/388e49478a2d5b5fe7d359413cd900ec21fec1b100f89a02   41.6M
带全套外置程序的iso http://www.namipan.com/d/winpe_all6.ISO/2abfa516e2e33eaca78088936b68d395c773e32000285809    149M
1、改善 PE_SYS.WIM 挂载脚本
2、修正 PE_MEM.INI 内存脚本,增加设置虚拟内存前的提示和选择项,允许用户选择不进行虚拟内存设置,允许用户选择安装虚拟内存的起始分区
3、pe_sys.wim 中增加图形界面的7z支持
------------------------------------------------------
测试版本 5.0 下载: 纳米盘
只包含内核的光盘影像:  http://www.namipan.com/d/winpe_mini5.ISO/d2676631f690b81376a5d836eab52ae78509ab7000d89a02     41.6M
包含外置程序的完整光盘影像: http://www.namipan.com/d/winpe_all5.ISO/00989ab8d655da698553a1c003d1d463b569473400085809   149.5M
----------------------------------------------------------------------------
改进了在多光驱情况下找到光盘上的 pe_sys.wim 脚本,采用cmd脚本,利用pecmd init ic指令先搜索各个光盘中的 \wxpe\pe_sys.wim 并挂载,如果没有找到再对硬盘的\winpe\pe_sys.wim搜索并挂载。

基于0808小内存奥运版制作 41.1M

支持HTTPS ,可以用WIM方式挂载网卡驱动程序和HTTPS软件。
采用两级内核装入的方式,自带IE/MMC/7Z/MAKECAB/WIMNT/WINABC
当二级内核(PE_SYS.WIM)被挂载后,会自动将各分区的 PETOOLS 的内容关联到开始菜单。

自制可在116M内存启动的PE  winpe_mini5.ISO
当无法设置硬盘空间为虚拟内存时
0、当有60M可用内存时,可以完成大部分PE功能;
1、116M内存可以将PE内核载入内存进入图形界面,但什么也做不了;
2、128M内存可以将PE内核载入内存并挂接外部基本内核(PE_SYS.WIM),能够完成基本PE功能,但IE/MMC/WIMNT/WINABC等功能不一定可用。
如果有硬盘空间可做虚拟内存使用时,116M内存即可完成全部PE功能。

一、IS_文件与内存
自911版本开始的大部分xpe都是用了is_方式载入pe内核到内存的启动方式。is_文件是经过cab压缩后的iso内核文件.
(如果iso文件中支持ramdisk虚拟盘技术,就可以在启动的时候将这个 iso文件装入一个内存虚拟盘中,然后进一步引导进入图形界面。更神奇的是如果iso文件被cab压缩成is_一样可以被识别并装入内存。这样蒋pe内核打包后装入内存的好处就是可以节省空间同时防止病毒。)
但是,这个装载的过程与is_文件未打包前的大小于以及内存总量有关。内存太小或者有损坏而文件体积相对较大就无法被装入内存,这也是为什么很多电脑上会出现 \wxpe\winpe.is_不能被 load的提示。一般情况下对于128M内存的电脑ISO文件应被保守的控制在50M以内,这样cab压缩后的is_会被控制在25M左右。
ISO体积*2+16=需要的内存,体积+64=iso/img需要的体积。
如今的IS_都被扩展了SATA等驱动,导致内核过大,基本不支持128M内存装入。我们可以把ISO文件中的一些相对不重要的文件提取出来做成PE_SYS.WIM文件作伪二级内核,这样ISO就被分离成一个体积小一些的一级内核WINPE.ISO和一个二级内核PE_SYS.WIM.而WINPE.ISO还可以被CAB压缩。引导时,可以先把WINPE.IS_装入内存进入图形界面后,在把二级内核挂载。
二、关于内存的判断和虚拟内存的设置
PECMD.EXE 的3.2.0808 已经完善了PAGE功能
PAGE C:\PAGEFILE.SYS 60 256 的功能是如果可用内存小于60M就从C:盘开始寻找各个分区的可用空间,如果符合可用空间条件就在该分区设置最大256M的虚拟内存。
我们可以在运行此命令前清除各分区的PAGEFILE.SYS文件;然后执行此命令,再通过判断各分区是否建立了PAGEFILE.SYS文件来确定是否成功建立了虚拟内存。再通过FIND MEM>60 来判断可用内存是否大于60。如此我们可以轻易了解内存余量并设置虚拟内存。
三、WIM的模块化思想(此思想已经基本成型使用)。
由于一些驱动加载后会蓝屏死机,有些程序在某些情况会不稳定等;这样的驱动和程序就不应该安排在PE启动的时候自动被调用。如此,使用WIM将这些东东打包模块化是一个较好的方案,如果一旦出现状况,可以重新启动,不再挂在这个模块就是了。

[ 本帖最后由 dos时代菜鸟 于 2008-8-19 19:22 编辑 ]
2#
 楼主| 发表于 2008-8-17 20:13:03 | 只看该作者
如下WIM放在光盘或硬盘分区的PETOOLS文件夹
纳米盘:

主要外置程序program.wim   http://www.namipan.com/d/1)PROGRAM.WIM/b2522f39d9076c35a7c098ebe60635b17702939c2f84c701

声卡 WIM         http://www.namipan.com/d/3)%e5%a3%b0%e5%8d%a1.WIM/3bdb97bc7dd2c005d654bcff008acdfb4c9063f4cfb65500
万能显卡.WIM   http://www.namipan.com/d/5)%e4%b8%87%e8%83%bd%e6%98%be%e5%8d%a1.WIM/702ee18d2b0a07ecc98a1b5307345b8823f33cdbf83b1200
网卡.WIM         http://www.namipan.com/d/4)%e7%bd%91%e5%8d%a1.WIM/7a8097f1e6bb21ec3e8dd98cafcd2e273bbb7405d750f100
显示卡.WIM      http://www.namipan.com/d/2)%e6%98%be%e5%8d%a1.WIM/604ea934818b67c9d914b8a6b2dc7d040f89f688ab2bc100
HTTPs.wim      http://www.namipan.com/d/HTTPFS.WIM/dce34e27d4087843f52af4a36f7294ba07d23dccf22d0900
网络工具.wim   http://www.namipan.com/d/NET_TOOLS.WIM/58f0b2c96981c58d3f83e87ca8aee193910d22b656bc1e00
office2003.wim  http://www.namipan.com/d/OFFICE2003.WIM/0edd4f8583c66ede58ee0be07d3386bf47cce67b516a6401

[ 本帖最后由 dos时代菜鸟 于 2008-8-17 21:36 编辑 ]
回复

使用道具 举报

3#
发表于 2008-8-17 21:47:46 | 只看该作者
我喜欢你这个思路。
提个小建议:

1. 既然小内存的启动判断已经没有问题,那么大内存呢?
    现在的一些机器都是1G、2G或更多,如果是这样的内存,是否能自动把所有的内容都加载到内存中呢?

2.能否把你的外置程序做个说明,看看都是什么程序,也好大家都能参与一下,看能否整出个功能齐全的PE包来。或者是几种方案
回复

使用道具 举报

4#
发表于 2008-8-17 21:51:46 | 只看该作者
引用:

“我们可以在运行此命令前清除各分区的PAGEFILE.SYS文件;然后执行此命令,再通过判断各分区是否建立了PAGEFILE.SYS文件来确定是否成功建立了虚拟内存。”


上面这句话不太明白,如果你清除且没有成功建立虚拟内存,是否影响硬盘上的操作系统啊??
回复

使用道具 举报

5#
 楼主| 发表于 2008-8-18 13:27:22 | 只看该作者
我晕阿。三楼说的问题根本不成立,硬盘系统的pagefile.sys文件是可以由系统自动生成的临时文件,重新启动以后就没有存在的意义了。载用ghost作系统备份的时候往往要把这个文件删掉,来减少gho文件的体积。

“我们可以在运行此命令前清除各分区的PAGEFILE.SYS文件;然后执行此命令,再通过判断各分区是否建立了PAGEFILE.SYS文件来确定是否成功建立了虚拟内存。”这个办法已经自911版本以来的各个pe使用,你可以看看各个pe光盘中的winpe.ini文件里面涉及到内存设置方面的段落。
回复

使用道具 举报

6#
 楼主| 发表于 2008-8-18 19:20:31 | 只看该作者
正在 纳米 上传整个pe光盘影像,完整光盘影像,包括外置程序。149M
5.0 测试版  http://www.namipan.com/d/winpe_all5.ISO/00989ab8d655da698553a1c003d1d463b569473400085809

[ 本帖最后由 dos时代菜鸟 于 2008-8-19 18:50 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2008-8-18 19:22:46 | 只看该作者
设置内存的pecmd脚本 pe_mem.ini内容如下

hwd6 的说法现更改成如下内容:
-----------------------------
//清理掉上次启动 PE 或 Windows 时留下的虚拟内存页面文件
TEXT 正在检测可用内存并建立虚拟内存...
ENVI PF=Pagefile.sys
TEAM FILE C:\%PF%|FILE D:\%PF%|FILE E:\%PF%|FILE F:\%PF%|FILE G:\%PF%|FILE H:\%PF%|FILE I:\%PF%|FILE J:\%PF%|FILE K:\%PF%|FILE L:\%PF%|FILE M:\%PF%|FILE N:\%PF%|FILE O:\%PF%|FILE P:\%PF%|FILE Q:\%PF%|FILE R:\%PF%|FILE S:\%PF%|FILE T:\%PF%|FILE U:\%PF%|FILE V:\%PF%|FILE W:\%PF%
ENVI PF=
INIT I
//设置虚拟内存,如果内存余量大于60M就不设置虚拟内存
ENVI $YESNO=
ifex MEM<60 , mess 发现可用内存不足60M,是否设置虚拟内存?\n \n等待5秒钟,默认为 YES @设置虚拟内存 #YN *5000 $Y
FIND $%YESNO%=YES,CALL PAGEFILE_SET!TEXT 没有设置必要的虚拟内存
_SUB PAGEFILE_SET
CALL DRIVE_SET
PAGE %DRIVE%\PAGEFILE.SYS 60 256
EXEC !=CMD.EXE /C ECHO FOR %%I IN (C D E F G H I J K L M N O P Q R S T U V W) DO IF EXIST %%I:\PAGEFILE.SYS PECMD.EXE LINK %Temp%\RPT_OK,%SystemRoot%>%TEMP%\RPT_OK.CMD
EXEC !=%TEMP%\RPT_OK.CMD
IFEX %Temp%\RPT_OK.LNK,CALL MEMOK!ifex MEM>60,CALL MEMOK
IFEX %temp%\mem_ok.txt,!call mem_mess
_END
_SUB DRIVE_SET
BROW Tag,*C:\,请选择一个硬盘分区用来设置虚拟内存\n 默认选择C:\
FIND $%TAG%=,ENVI DRIVE=C:!FDRV DRIVE=%TAG%
_END

//判断是否设置了虚拟内存或者可用内存是否够用,如果设置了虚拟内存或者可用内存足够就生成 MEM_OK.TXT 文件做以标记
_SUB MEMOK
FILE %Temp%\RPT_OK.LNK
FILE %TEMP%\RPT_OK.CMD
exec !=cmd.exe /c echo memory ok >%temp%\mem_ok.txt
_END
//内存不足警告,如果没有设置好内存就显示内存警告
_SUB mem_mess
MESS 内存空余不足60M,而且系统无法设置虚拟内存!\n系统不能挂载必要的PE_SYS.WIM!\n没有了某些必要的dll文件支持,一些软件将无法稳定运行\n PE将失去IE、MMC、WINABC、WIMNT、7Z、MAKECAB等功能\n\n@内存警告 #ok
_END
TEXT

[ 本帖最后由 dos时代菜鸟 于 2008-8-19 18:06 编辑 ]
回复

使用道具 举报

8#
 楼主| 发表于 2008-8-18 19:27:00 | 只看该作者
挂载光盘上wxpe\pe_sys.wim 的脚本
------------------------------------------------------------------------
1、pe_sys.ini
//挂载PE_SYS.WIM
INIT IC
TEXT 正在挂载 PE_SYS.WIM ...
_SUB PT_SET
IFEX %TEMP%\MEM_OK.TXT,EXEC =y:\外置程序\SETUP.CMD!EXEC =y:\外置程序\OUT_KRNL\INSOKB.CMD
_END

_SUB LDPT
EXEC =%windir%\system32\cmd.exe /c %WINDIR%\SYSTEM32\MOUN_PE_SYS.CMD
ifex %TEMP%\sys_ok.txt,CALL PT_SET!MESS 没有找到需要挂载的SYSTEM外挂程序!@挂载SYSTEM外挂程序 #ok
_END
path y:\外置程序
Call LDPT
TEXT
//脚本结束
-----------------------------------------
2、配合pe_sys.ini用的挂载光盘\wxpe\pe_sys.wim 的cmd脚本moun_pe_sys.cmd
@ECHO OFF
REM 运行此命令前需要 运行“PECMD.EXE INIT IC” 将光盘个数传递给变量CDROM0
SET N=0
SET /A M=%CDROM0%+1
:LOOP
SET /A N=N+1
IF %N%==%M% GOTO END
IF %N%*==1* SET CDROMX=%CDROM1%
IF %N%*==2* SET CDROMX=%CDROM2%
IF %N%*==3* SET CDROMX=%CDROM3%
IF %N%*==4* SET CDROMX=%CDROM4%
IF %N%*==5* SET CDROMX=%CDROM5%
IF %N%*==6* SET CDROMX=%CDROM6%
IF %N%*==7* SET CDROMX=%CDROM7%
IF %N%*==8* SET CDROMX=%CDROM8%
IF %N%*==9* SET CDROMX=%CDROM9%
IF %N%*==10* SET CDROMX=%CDROM10%
IF %N%*==11* SET CDROMX=%CDROM11%
IF %N%*==12* SET CDROMX=%CDROM12%
IF %N%*==13* SET CDROMX=%CDROM13%
IF %N%*==14* SET CDROMX=%CDROM14%
IF %N%*==15* SET CDROMX=%CDROM15%
IF %N%*==16* SET CDROMX=%CDROM16%
IF %N%*==17* SET CDROMX=%CDROM17%
IF %N%*==18* SET CDROMX=%CDROM18%
IF %N%*==19* SET CDROMX=%CDROM19%
IF %N%*==20* SET CDROMX=%CDROM20
IF %N%*==21* SET CDROMX=%CDROM21%
IF %N%*==22* SET CDROMX=%CDROM22%
IF %N%*==23* SET CDROMX=%CDROM23%
IF %N%*==24* SET CDROMX=%CDROM24%
IF EXIST %CDROMX%\WXPE\PE_SYS.WIM (
start /wait PECMD.EXE MOUN %CDROMX%\WXPE\PE_SYS.WIM,Y:\外置程序
ECHO 次级内核PE_SYS.WIM在%CDROMX%\WXPE\ 中>%TEMP%\SYS_OK.TXT
GOTO END
)
GOTO LOOP
:END
if not exist %TEMP%\SYS_OK.TXT (
start /wait PECMD.EXE MOUN \winpe\PE_SYS.WIM,Y:\外置程序
if exist Y:\外置程序\setup.cmd ECHO 次级内核PE_SYS.WIM在硬盘某个分区的winpe文件夹中>%TEMP%\SYS_OK.TXT
)
EXIT /B

[ 本帖最后由 dos时代菜鸟 于 2008-8-18 19:30 编辑 ]
回复

使用道具 举报

9#
发表于 2008-8-18 21:40:52 | 只看该作者
楼主的结构化模块化做的不错。
我认为pe最重要的是磁盘驱动,如果这个不完善,就不是一个好pe。
回复

使用道具 举报

10#
 楼主| 发表于 2008-8-19 08:32:38 | 只看该作者
显示卡、 声卡、 网卡的驱动程序容易更新,因为都是作在WIM中的,
而内核里面的SATA等相关驱动更新就比较麻烦了。
现在采用 0808奥运版 的内核进行修改,应该可以支持目前大部分机型。
回复

使用道具 举报

11#
发表于 2008-8-19 08:48:29 | 只看该作者
强行设置虚拟内存不妥,对于需要拯救数据的时候,不能向硬盘写入任何数据
回复

使用道具 举报

12#
 楼主| 发表于 2008-8-19 09:27:30 | 只看该作者
恩,11楼说的确实是问题,可以 把 x:\wxpe\system32\pe_mem.ini 中的 命令PAGE C:\PAGEFILE.SYS 60 256  变成 page d:\pagefile.sys 60 256
     C盘就没有虚拟内存占用了

如果内存在160M以上的,一般情况下应该都不会设置虚拟内存的,因为可用内存已经>60m了。
这种情况只有在启动的时候可用内存小,才出现的。

还可以在 PAGE 指令前用 MESS 设置提问关卡给用户选择机会

[ 本帖最后由 dos时代菜鸟 于 2008-8-19 18:05 编辑 ]
回复

使用道具 举报

13#
发表于 2008-8-19 10:01:49 | 只看该作者
还没上传好吧?
不能下载啊。
回复

使用道具 举报

14#
 楼主| 发表于 2008-8-19 11:01:55 | 只看该作者
昨天上传地,应该可以下载了,用纳米盘
回复

使用道具 举报

15#
 楼主| 发表于 2008-8-19 18:37:34 | 只看该作者
内核脚本修正 6.0 完善版
纳米盘 下载 http://www.namipan.com/d/winpe_m ... 0ec21fec1b100f89a02   41.6M
带全套外置程序的iso http://www.namipan.com/d/winpe_all6.ISO/2abfa516e2e33eaca78088936b68d395c773e32000285809    149M
1、改善 PE_SYS.WIM 挂载脚本
2、修正 PE_MEM.INI 内存脚本,增加设置虚拟内存前的提示和选择项,允许用户选择不进行虚拟内存设置,允许用户选择安装虚拟内存的起始分区
3、pe_sys.wim 中增加图形界面的7z支持

[ 本帖最后由 dos时代菜鸟 于 2008-8-19 19:23 编辑 ]
回复

使用道具 举报

16#
 楼主| 发表于 2008-8-20 10:19:59 | 只看该作者
外置程序:program.wim
------------------------------------------
Total CMD 资源管理器.LNK
文件工具\WIMNT.LNK
文件工具\文件解压 WinRAR V3.62.LNK
文件工具\文件编辑 UltraEdit-32.LNK
文件工具\文件恢复 FinalData.LNK
文件工具\WIMTOOL.LNK
设置\设置虚拟内存.LNK
设置\激活 USB 及其他即插即用设备.LNK
Windows 系统维护\Windows用户密码修复.LNK
Windows 系统维护\NTPWEDIT用户密码修改.LNK
Windows 系统维护\Windows系统还原.LNK
Windows 系统维护\系统注册表.LNK
Windows 系统维护\系统服务.LNK
磁盘光盘工具\磁盘分区管理 WinPM.LNK
磁盘光盘工具\诺顿磁盘医生 NDD2006.LNK
磁盘光盘工具\PTDD 磁盘分区表医生.LNK
磁盘光盘工具\光盘映像工具 UltraISO 8.6.2.2011.LNK
磁盘光盘工具\磁盘映像工具 WinImage V8.0.LNK
磁盘光盘工具\Virtual Drive Manager.LNK
磁盘光盘工具\虚拟驱动器专家.LNK
磁盘光盘工具\硬盘低级格式化.LNK
克隆工具\Acronis TrueImage ES 9.1.LNK
克隆工具\GG_Ghost32中文外壳接口.LNK
克隆工具\诺顿 Ghost32.LNK
克隆工具\Gho映像浏览器 GhostExp.LNK
克隆工具\Gho映像网络服务.LNK
图片、PDF工具\看图工具 ACDSee.LNK
图片、PDF工具\PDF查看 FoxitReader.LNK
系统检测\硬件及系统环境检测 Everest.LNK
系统检测\CPU 检测(CPU-Z).LNK
系统检测\显示器测试工具(DisplayX).LNK
系统检测\物理内存检测器(MemTest).LNK
系统检测\经典测试工具 SuperPI MOD.LNK
系统检测\ATTO 磁盘性能测试.LNK
回复

使用道具 举报

17#
发表于 2008-8-22 15:50:51 | 只看该作者
支持LZ,下来试试。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-3-4 07:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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