无忧启动论坛

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

[原创] (2016-07-06 更新) 轻量WIM更新框架-WIMBuilder(可一键创建PE,精简系统)

    [复制链接]
发表于 2016-6-21 23:28:34 | 显示全部楼层 |阅读模式
本帖最后由 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)

评分

参与人数 12无忧币 +59 收起 理由
xuexiang + 5 很给力!
papago + 5 神马都是浮云
netbrain + 5 赞一个!
zmac2007 + 5
andos + 5 很给力!
was172 + 5 赞一个!
engineerlzk + 4 很给力!建议楼主每次更新时还是附上完整的.
helloman + 5 很给力!
dfswb + 5 楼主,太厉害了!
zfgeng + 5 很给力!
wintoflash + 5
pseudo + 5 很给力!

查看全部评分

发表于 2016-6-22 10:43:25 | 显示全部楼层
請問如何支持切換到管理員
回复

使用道具 举报

发表于 2016-6-22 00:32:54 | 显示全部楼层
本帖最后由 pseudo 于 2016-6-22 01:03 编辑

Good job!                                                                                                                                                                      ·



回复

使用道具 举报

发表于 2016-6-22 06:44:08 | 显示全部楼层
收藏了 好东西
回复

使用道具 举报

发表于 2016-6-22 07:48:15 | 显示全部楼层
支持了支持楼主
回复

使用道具 举报

发表于 2016-6-22 08:46:32 | 显示全部楼层
很好、很强大,这个一定得支持!!!
回复

使用道具 举报

发表于 2016-6-22 09:07:55 | 显示全部楼层
不错不错 过来看看
回复

使用道具 举报

发表于 2016-6-22 10:19:36 | 显示全部楼层
等待不久将来的win10
其实,只要支持WIN10就够了

原版系统WIM,最好可以支持直接挂载,这样就不用解压到硬盘了.

点评

配置config.ini文件, set PB_SRC_WIM=D:\win10_10240_x86\install.wim 本来就会自动挂载原版系统WIM, 不过工程处理完了,又自动卸载了,挂载也费时间的,原版WIM不频繁切换的话, 后续会添加一个参数,维持挂  详情 回复 发表于 2016-6-22 10:28
回复

使用道具 举报

 楼主| 发表于 2016-6-22 10:28:40 | 显示全部楼层
2012bzsb 发表于 2016-6-22 10:19
等待不久将来的win10
其实,只要支持WIN10就够了

配置config.ini文件,
set PB_SRC_WIM=D:\win10_10240_x86\install.wim
本来就会自动挂载原版系统WIM,

不过工程处理完了,又自动卸载了,挂载也费时间的,原版WIM不频繁切换的话,
后续会添加一个参数,维持挂载,不频繁卸载,挂载了。

点评

好强大的软件啊!这个一定是我等菜鸟的福音啊!可是资源都挂了,希望楼主从新分享,谢谢  详情 回复 发表于 2016-8-25 20:18
回复

使用道具 举报

发表于 2016-6-22 10:31:56 | 显示全部楼层
Good job!      
请问一下,这个可以做8.1PE吗?

点评

Mini10PE工程有了,楼主能否帮忙制作上传81PE工程,因为我按方法制作的81工程,PE进不了桌面,麻烦了,谢谢! 制作的81PE截图如下:  详情 回复 发表于 2016-6-27 01:31
特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE [attachimg]246893[/attachimg]  详情 回复 发表于 2016-6-22 16:17
特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE [attachimg]246893[/attachimg]  详情 回复 发表于 2016-6-22 16:17
回复

使用道具 举报

发表于 2016-6-22 10:50:46 | 显示全部楼层
INSTALL.WIM 通常跟BOOT.WIM INDEX不一樣
set PB_BASE_INDEX=2
建議增加
set PB_SRC_INDEX=1

点评

因为我不利用install.wim这里没确认,最初是1,但是boot.wim的1要改注册表我就用2了,这里忘了变了, 自己可以先加,稍后更新会顺便改掉,变量命名PB_SRC_INDEX没有问题。  发表于 2016-6-22 12:50
回复

使用道具 举报

发表于 2016-6-22 12:57:14 | 显示全部楼层
有没有成品win10pe?
回复

使用道具 举报

发表于 2016-6-22 13:02:55 | 显示全部楼层
牛逼!
高手!!
绝了!!!
回复

使用道具 举报

 楼主| 发表于 2016-6-22 16:17:21 | 显示全部楼层
xzf680 发表于 2016-6-22 10:31
Good job!      
请问一下,这个可以做8.1PE吗?

特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE


回复

使用道具 举报

 楼主| 发表于 2016-6-22 16:17:32 | 显示全部楼层
xzf680 发表于 2016-6-22 10:31
Good job!      
请问一下,这个可以做8.1PE吗?

特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE

5c7387fe63a8e746.png

点评

很不错的样子,教程做图文并茂更好 !辛苦了支持一下 只是将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE 有的不理解,能否说详细一点!  详情 回复 发表于 2016-6-23 10:45
回复

使用道具 举报

发表于 2016-6-22 21:13:01 | 显示全部楼层
Good Job! Thx a Lot!
回复

使用道具 举报

发表于 2016-6-23 09:45:10 | 显示全部楼层
感谢楼主分享!

里面的CmdColor挺好玩的,我试用了一下,不知道怎么设置字体颜色的同时不设置背景色,也不知道有哪些颜色代码,楼主能否科普一下怎么使用?

点评

bin\cmdcolor_table.bat  发表于 2016-6-23 10:15
回复

使用道具 举报

发表于 2016-6-23 09:45:14 | 显示全部楼层
感谢楼主分享!

里面的CmdColor挺好玩的,我试用了一下,不知道怎么设置字体颜色的同时不设置背景色,也不知道有哪些颜色代码,楼主能否科普一下怎么使用?

点评

cmdcolor.c里面也有代码github链接,项目页有8/16的wiki链接。  发表于 2016-6-23 10:19
回复

使用道具 举报

发表于 2016-6-23 10:45:23 | 显示全部楼层
slore 发表于 2016-6-22 16:17
特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个pa ...

很不错的样子,教程做图文并茂更好 !辛苦了支持一下
只是将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE
有的不理解,能否说详细一点!
回复

使用道具 举报

发表于 2016-6-23 13:14:25 | 显示全部楼层
很牛&#128046;!楼主辛苦!
回复

使用道具 举报

 楼主| 发表于 2016-6-24 08:48:24 | 显示全部楼层
注册表可自动导入,TODO要做的事情全部完成。
回复

使用道具 举报

发表于 2016-6-24 11:00:22 | 显示全部楼层
还能精简系统,这个好.希望可以极度精简winsxs ,还能保证INSTALL正常安装.(几十M大小吧)

PE,希望有个或者两个基本版本,WIN10就行,
一个: 功能完整(无线,声卡网卡显卡,替代系统使用)
一个, 带SHELL的基本版本,能分区,格式化,挂载VHD,ISO就行.

点评

你要求太低了,几十Mb,首页的例子精简出来的3MB,压缩后1.5MB的winsxs就可以正常安装系统 [attachimg]246970[/attachimg]  详情 回复 发表于 2016-6-24 14:27
你要求太低了,几十Mb,首页的例子精简出来的3MB,压缩后1.5MB的winsxs就可以正常安装系统 [attachimg]246970[/attachimg]  详情 回复 发表于 2016-6-24 14:27
回复

使用道具 举报

发表于 2016-6-24 11:23:25 | 显示全部楼层
非常好的东西!!收藏了感谢论坛有你更精彩.....感谢分享
回复

使用道具 举报

 楼主| 发表于 2016-6-24 14:27:32 | 显示全部楼层
2012bzsb 发表于 2016-6-24 11:00
还能精简系统,这个好.希望可以极度精简winsxs ,还能保证INSTALL正常安装.(几十M大小吧)

PE,希望有个或者 ...

你要求太低了,几十Mb,首页的例子精简出来的3MB,压缩后1.5MB的winsxs就可以正常安装系统

回复

使用道具 举报

 楼主| 发表于 2016-6-24 14:27:42 | 显示全部楼层
2012bzsb 发表于 2016-6-24 11:00
还能精简系统,这个好.希望可以极度精简winsxs ,还能保证INSTALL正常安装.(几十M大小吧)

PE,希望有个或者 ...

你要求太低了,几十Mb,首页的例子精简出来的3MB,压缩后1.5MB的winsxs就可以正常安装系统
-33d072f4878d7605.png
回复

使用道具 举报

发表于 2016-6-24 17:05:39 | 显示全部楼层
我的意思不是这个正常安装. 不是说可以精简系统吗?
把INSTALL 的WINSXS精简到几十M, 重新打包, 这样精简后的INSTALL还可以正常安装.

以前下过一个WIN10精简版,精简到几十M,还能正常安装.所以有此想法.

如果能精简: 防病毒,APP,字体,NET, 就可以减小很多体积和无用功能了
回复

使用道具 举报

发表于 2016-6-25 19:27:28 来自手机 | 显示全部楼层
楼主来个成品如何,我等伸手党有福了
回复

使用道具 举报

发表于 2016-6-27 01:31:22 | 显示全部楼层
xzf680 发表于 2016-6-22 10:31
Good job!      
请问一下,这个可以做8.1PE吗?

Mini10PE工程有了,楼主能否帮忙制作上传81PE工程,因为我按方法制作的81工程,PE进不了桌面,麻烦了,谢谢!
制作的81PE截图如下:

制作好的81PE进不了桌面

制作好的81PE进不了桌面

点评

我是按楼主说的做的 特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE 将Mini10PE的工程复制一份81PE,删除精  详情 回复 发表于 2016-6-27 11:15
[ZoneTranfer]? 启动的配置文件不对吧。你的 build工程文件能传上来么?  发表于 2016-6-27 10:12
回复

使用道具 举报

发表于 2016-6-27 11:15:53 | 显示全部楼层
xzf680 发表于 2016-6-27 01:31
Mini10PE工程有了,楼主能否帮忙制作上传81PE工程,因为我按方法制作的81工程,PE进不了桌面,麻烦了,谢 ...

我是按楼主说的做的
特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录,双击即可得到如下图所示测试win8.1PE
将Mini10PE的工程复制一份81PE,删除精简system32和精简winsxs这2个patch目录
结果不能启动,还请楼主传一份81PE工程,谢谢!

点评

手头环境,不能上传附件。如果你是按照这个做的话,因为system32没有精简掉,所以 wallpaperhost还存在需要强杀,Mini10PE的精简掉了,wallpaperhost.exe所以可以见桌面。 确认生成boot.wim里面带了PExlorer.exe  详情 回复 发表于 2016-6-27 12:39
回复

使用道具 举报

 楼主| 发表于 2016-6-27 12:39:12 | 显示全部楼层
xzf680 发表于 2016-6-27 11:15
我是按楼主说的做的
特点中所述WinPE 5.0就是win8.1的,将Mini10PE的工程复制一份81PE,删除精简system3 ...

手头环境,不能上传附件。如果你是按照这个做的话,因为system32没有精简掉,所以
wallpaperhost还存在需要强杀,Mini10PE的精简掉了,wallpaperhost.exe所以可以见桌面。

确认生成boot.wim里面带了PExlorer.exe的话,
启动的控制台输入:
taskmgr.exe,结束wallpaperhost.exe进程,设置用户环境变量

set USERPROFILE=X:\Users\Default

在启动PExlorer.exe
start PExlorer.exe -winpe


在根目录或者Z_PExlorer目录加一个
DEL_FILES.txt
Windows\System32\wallpaperhost.exe

重新构建就可以了。

点评

好的谢谢,我再试试,如有方便的话请再传一下81PE工程,另个这句: 启动的控制台输入: taskmgr.exe,结束wallpaperhost.exe进程,设置用户环境变量 set USERPROFILE=X:%users\Default 在启动PExlorer.exe s  详情 回复 发表于 2016-6-27 17:03
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-8-27 21:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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