|
本帖最后由 slore 于 2016-8-30 21:44 编辑
What's me?
基于BAT批处理文件和VBS脚本的利用系统Dism命令对WIM文件进行更新框架。
可一键生成自定义PE, 或者精简,修改Windows 7以上系统安装镜像(install.wim)
此框架特点:
- 小,非常小,处理脚本压缩后不到15KB。
- 利用系统原生支持BAT,VBS脚本及系统自带命令,支持主流Windows平台及对应PE制作。
- 构建 平台:Windows 7, Windows 8, Windows 8.1, Windows 10 (x86, x64)
- 构建PE版本:WinPE 3.x, WinPE 4.0, WinPE 5.0, WinPE 5.1, Windows 10 PE (x86, x64)
- 构建Windows版本:Windows 7, Windows 8, Windows 8.1, Windows 10 (x86, x64)
- 脚本完全自由。不进行任何形式加密,任何人可以复制,修改,再发布,无任何限制。
- 原创i18n脚本组件, 支持多国语言。
- 只需放置文件,定义文件列表,不需要任何编程技巧即可方便构建属于自己的PE。
- 每个修正Patch为独立文件夹,可重复应用,功能添加修改独立清晰,也可发布,减少更新发布体积。
- 构建工程不管在何人机器,何平台总可以从boot.wim生成完全相同的PE,且修改可逆可追溯。
- 只用按空格继续即可,快速构建出可启动的个性化PE。(最快1分钟内)
- 可一键构建属于自己的PE/Windows系统。
使用方法:
STEP.1.准备环境(只需要1次)
a.解压附件到本地磁盘驱动器根目录,得到如下结构(仅列出使用时需要关注的文件或目录)
-PB_Workspace\
+mnt\
+build\
+ISO\
+Projects\
+PE_Builder\
+config.ini
b.将系统ISO的boot目录,bootmgr文件复制到mnt\build\ISO中,创建一个空sources目录。
(以上为默认启动光盘模板,可根据自己的情况修改)
STEP.2.配置config.ini文件中的参数,来定义所有工程的初始设定(设定可被各工程的config.ini的设定覆盖)。
*挂载目录(必须)
*用于复制原版系统文件的install.wim
*构建PE的基础WIM(boot.wim或者自己/别人做好的wim)
*挂载映像序号(默认为1)
*生成路径(必须)
*是否需要获取文件完全访问权(使用系统boot.wim时需要设置为0, 可能花费2~5分钟)
*是否需要获取注册表完全访问权
等
STEP.3. 在Projects目录下创建一个工程目录,里面存放各种Patch(*后续有例子说明)
STEP.4. 双击PE_Builder\PE_Builder.bat,选择构建工程,无异常一路空格即可构建出wim格式PE。
STEP.5. 双击PE_Builder\MakeBootISO.bat,等待数秒钟可以得到自制PE的启动ISO文件。
关于STEP.3可下载附件Mini10PE进行参考。
以下说明下*Patch*的构成。
Patch为一个目录,是某种精简,或者某种功能更新,结构如下:
Patch_Sample\
+INIT.bat <- 可缺省,用于应用Patch前,初始自定义脚本(处理生成增删改文件列表,或者别的COPY操作等)
+KEEP_ITEMS.txt <- 可缺省,定义某目录需要保留的文件,其余文件将被删除
+DEL_DIRS.txt <- 可缺省,定义要删除的目录,例如:Windows\SysWOW64
+DEL_FILES.txt <- 可缺省,定义要删除的文件,例如:Windows\System32\app.exe
+ADD_ITEMS.txt <- 可缺省,定义需要从install.wim文件复制的文件或文件夹列表
+X\ <- 可缺省,X文件夹,放置需要复制/更新到PE中的文件,例如: X\Windows\System32\PExlorer.exe
+*.reg <- 可缺省,需要导入到PE系统的注册表文件(注册表不需要修改项目路径为挂载后的PE_SOFT之类, 请保持PE下的注册表项名)
+LAST.bat <- 可缺省,用于收尾时需要的额外处理的自定义脚本(上述文件注册表修正以外,其他操作,如:动态创建快捷方式等)
注意1:KEEP_ITEMS.txt 文件第一行是需要保留的文件夹路径,结尾必须带"\",以下是需要保留的子目录或者子文件,目录结尾必须带"\"
注意2:各工程目录下的各Patch目录按字母顺序处理。如果向System32复制了某文件,如果某Patch采用KEEP_ITEMS.txt的形式,可能又被删除掉。
解决方法是,通过命名改变Patch适用的顺序,例如 A_TEST、B_TEST2,或者0_Patch1、1_Patch2。运用LAST.bat自定义适用顺序,将有顺序关系的Patch放到任意子目录(Package),
在LAST.bat中书写:
call PB_APPLY_PATCH %~dp0Package\PatchB
call PB_APPLY_PATCH %~dp0Package\PatchA
注意Patch名不要设置为X,因为此Package目录实际当一个Patch处理了,只是利用X目录以外的目录不进行任何操作的机制来达到自定义Patch适用顺序的目的的。
附件中的Mini10PE工程,可以从Windows 10的boot.wim构建出73MB的小容量WIN10PE。(几乎只有cmd.exe命令可用,regedit,taskmgr,notepad都无法运行,结果PExlorer.exe可以显示桌面)
由于精简WinSxS目录,System32\CatRoot目录的定义中有版本信息,个人测试时注意修改:"精简System32\KEEP_ITEMS.txt", "精简WinSxS\KEEP_ITEMS.txt"。
2016-07-06 更新:
0706完整版:
PB_Workspace0706.zip
(560.11 KB, 下载次数: 227)
|
评分
-
查看全部评分
|