无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 90806|回复: 331
打印 上一主题 下一主题

WinPEBuilder --- Windows NT 全系列 PE 制作工具

    [复制链接]
跳转到指定楼层
1#
发表于 2014-1-31 14:40:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 静庵 于 2015-1-17 09:31 编辑

WinPEBuilder --- Windows NT 全系列 PE 制作工具
=====================================


本帖声明

1. Builder 工具非本人原创,版权归属原作者。
2. 代码基础参考 sp_star 老师作品,向 sp_star 致敬并感谢。
3. 本帖意愿回报无忧论坛,故而,版本显示 wuyou,如有不妥,请即指出。
4. 目前,仍不成熟,意为请求大家参与,共同完成。
5. 恳请 sp_star 等老师参入、指正。


进展说明

1. 本代码每一步均可独立启动,并每一步都支持并兼顾 RAMPE 和 RamOS(NT5x不支持)。
2. 暂定为“全系列”称谓,但并未包括全部 Windows 版本,比如无法涵盖 Win2000,WinXP、Win2003 的 SP0 和 SP1(可能与 mgr 版本有关)。
3. 由于一些问题存在,所以,目前代码是从 Explorer 小节开始,一步一步进行。


问题 1:

请测试并解决 Win7、Win2008(R2) 的以下问题:RamOS 方式 Explorer 启动后提示如图


Win2008 (标准版):


附件(WinPEBuilder.rar)

http://pan.baidu.com/share/link? ... 6&uk=2519089702

评分

参与人数 20无忧币 +96 收起 理由
hehui + 5 赞一个!
Worrystart + 5 好东东
1235xxx + 4
sp_star + 5 赞一个!
LVBABA + 5 很给力!+赞一个!
jimodexue + 5 敬候佳音
hhxxcx + 5 赞一个!
lough_007 + 5 很辛苦,很实用
weiling103 + 5 很给力!
2010goldenet + 5 很给力!
826773297 + 5 赞一个!
老鼠打洞 + 5
古今一梦 + 5 很给力!
zhxy9804 + 5 很给力!
孤帆远影 + 5 赞一个!
angelzgh + 2 很给力!
Juns + 5 很给力!
ksafei + 5 赞一个!
20121223445667 + 5 很给力!
freesoft00 + 5 很给力!

查看全部评分

推荐
 楼主| 发表于 2014-1-31 17:16:36 | 只看该作者
lczhjun 发表于 2014-1-31 17:00
说好的下载地址呢!!

别急,会有的。
回复

使用道具 举报

推荐
 楼主| 发表于 2014-1-31 14:41:40 | 只看该作者
本帖最后由 静庵 于 2014-1-31 22:08 编辑

三、选项使用导引(续)


11. Network
本节中重要修正补充了一些代码,重新布局了 inf 和 sys 文件,添加设置了一些服务。界面选择上没有多少变化。


12. NetApps
插图:Remote.jpg
插图:IE.jpg





13.Opera
插图:Opera.jpg



14.Audio

也是修改了一些代码。


15.Administrator
插图:Admin-1.jpg


第一个选项,是在PE启动时直接 Administrator 登录。也可以仅创建快捷方式,启动后切换。


16.System Tweaks
插图:Tweak.jpg


第一个选择框,仅适用于 Win7PE,可实现启动时中文、动画花瓣界面(ISObase中的 BCD 已做处理---去除效验签名,
支持中文显示)。


17.AddTools
插图:Addtools.jpg


添加了几个常用的小工具,可选。


18.RamOS
插图:RamOS-1.jpg


RamOS 需要管理员登录支持,不过放心,再次已有独立的代码支持(与之前的 Tweaks 中的 Administrator 代码有区
别,前者适用于所有 NT6.xPE,这个仅适用于 RamOS),完全可以管理员登陆。


19.ISO

已经修改了代码,选什么系统,创建什么名称的 ISO 文件,如 Win7PE.ISO、Win8PE.ISO,或 Win81PE.ISO

回复

使用道具 举报

推荐
 楼主| 发表于 2015-1-15 20:17:44 | 只看该作者
wjgyz740526 发表于 2015-1-15 19:51
怎么删掉下载了?

准备更新
回复

使用道具 举报

推荐
 楼主| 发表于 2014-10-12 09:37:44 | 只看该作者
smxxsjj 发表于 2014-10-9 12:33
楼主你好,我是一个超级菜鸟,近日用WinBuilder学做了一个WIN8PE能启动,进入桌面怎么看不到开始菜单?(任 ...

不好意思。
这几个月来,一直全力制作 WinNT5.x 的 Builder ,实在没有精力修改 WinNT6.x 的 Builder。不过以后一定会更新。
以前说过,WinNT5.x 的 Builder 是要全部一个代码、一个代码的从头制作,非常费时,尤其是注册表,不像 NT6x 安装盘中有现成的修改即可,NT5x 安装盘中没有现成的,需要运行过程中生成。而且要兼顾除中文外的各个国家的语言,还要兼顾 XP、2003、2000的 SP0、SP1、SP2、SP3等。
目前,CMD、Explorer、Themes 阶段已经完成,正在处理 MMC 、第三方驱动,之后要处理 x64、网络、声音、显卡支持等,太难了,我都想放弃了。
不过想想,虽然 XP 时代过去了,制作一个可以制作 PE 的 "工具" ,作为经典收藏,什么时候需要,可以信手拈来,你可以做一个英文版的、x64 的 XP 或 2003 PE,如果有兴趣,也可以做一个阿拉伯语、德语、希伯来语,甚至是俄语、韩语等的 PE,可以不为所用,只是“玩玩”。
回复

使用道具 举报

推荐
发表于 2014-10-2 15:10:37 | 只看该作者
利用国庆假期学习winpe制作,这个工具很实用,希望楼主继续完善,大家都来努力
回复

使用道具 举报

推荐
发表于 2015-3-9 19:01:04 | 只看该作者
2011ChrisR 发表于 2015-3-9 16:57
Here is Win+T in win32 application, not console, now.
With WinIO64.dll signed driver, not real veri ...


What is the advantage of win32 application over console?
回复

使用道具 举报

推荐
 楼主| 发表于 2014-3-2 11:44:46 | 只看该作者
2010goldenet 发表于 2014-3-2 08:41
用的是新版,我看了一下脚本,第36行多了一行判断,删除后运行就过了

找到了,是这行:If,%pCheckBox_1%,Equal,True, Run,%ScriptFile%,Animation_Starts_Win7
应该去掉。
谢谢!
回复

使用道具 举报

推荐
发表于 2014-1-31 18:24:22 | 只看该作者
好热闹啊,来晚了。
楼主谦虚了,做了这么多改进,还支持win7,应该算是全新的作品了。
回复

使用道具 举报

推荐
发表于 2014-1-31 17:50:14 | 只看该作者
创新、修改、更新都需要勇气和决心,同时需要耐心和坚持,精品出于不断的雕琢和研磨,有时细节决定成败,静待楼主佳作续篇,更待相应的代表作出世,祝成功!
回复

使用道具 举报

推荐
发表于 2014-1-31 17:35:54 | 只看该作者
支持,有时间学习。
回复

使用道具 举报

12#
 楼主| 发表于 2014-1-31 14:40:47 | 只看该作者
本帖最后由 静庵 于 2014-1-31 17:15 编辑

二、脚本设计过程


全局设计:

1. 首先要适应全系列PE支持,需要将 %ProjectName% 定义为通用的“WinPE”,其后的所有代码均围绕这个定义展开。

2. “Source”选项卡:此节做了较大改动。
    %SourceDir%,Builder 原作者设计的这个目录针对的是 Windows 的原版安装盘,主要是提取光盘根文件,相当于本脚本
中的%ISOBase%目录,所以。可去除 %SourceDir% 这个选项以及支持脚本(由于程序界面中的“Source”选项卡是程序内部设
定,无法更改,所以仍有%SourceDir%这个界面存在)。
    %TargetDir% 和 %ISOFile%,可自定义为通用的名称。

插图:Source.jpg


3. Main Config Editer:此节较大改动。
    基本配置界面。主要设置 RAM 方式、盘符、内存大小、默认分辨率等。并且,获取 Builder 程序运行的环境等。

插图:Main.jpg


4. Image Config:改动较大。
   获取 Source 信息,设置脚本所用的常量。本脚本精简了很多。尤其去除了 Extracted 选项以及支持代码 --- 这是针对存
   在 Mount .wim 映像使用的,我们没有必要冒着电脑断电等意外而使 .wim 挂在失败的可能性,而且需要相应的 WimTool
   等的支持,直接将 .wim 解压到相应的目录,安全而持久。

5. Api.Script 和 script.project:
   定义和存放特殊运行功能(如 ReqSys32、ReqInf等),以及常量的寻址位置。其中做了大量的修改,可以适应到全局。

插图:Api.jpg(节段)


-------------------------------------------------------------------

6. 注册表处理:
   注册表是PE的灵魂,关系全局。脚本中使用 install.wim 原版的“SOFTWARE”,而“DEFAULT”和“SYSTEM”可选,如果要
   制作全功能版本,可使用 install.wim 原版的。
   并且,在 Explorer.cript 中另有设定,可重新选择。

7. Themes:
   Themes 添加后即可独立成为有主题的 PE,如果不需要网络、声音支持,添加上其它可选的组件就成为 Mini 版的、完整的
   PE 系统,所以,在脚本中设置了需要的“个性化”代码,以及形成完整版的相应支持。

插图:Themes.jog


8. Drivers:
   驱动的处理相对复杂一些,要遴选出所需要的文件(inf 及 sys)。设置时,专门加入一个“Driver.cript”脚本,并且放
   置于“Basic”中,以保证不同功能 PE 的完整性。

插图:Drivers.jpg


9. IME:(变动最大,更加繁杂)
   IME 分为 Microsoft 原版自带拼音输入法、添加 Lite 拼音法,以及 Win8 和 8.1 可选增加使用“Win7 IME”,既要独立
   成型,又要互相融合、嵌入,处理代码比较复杂。

插图:IME.jpg


10.网络和声音支持:
   要实现网、音支持,不仅仅是需要支持文件的添加那么简单,更关键的是驱动和注册表处理。Win8,以及 Win8.1 的驱动似乎
   可自行加载(当然要有注册表支持),只要驱动文件齐全即可,最困难的 Win7 的。我们知道,添加它的 OEM 驱动需要借助
   Dism 等工具,而添加自带的驱动就不清楚了。本人在制作中发现可通过处理那个 xxxx.1 文件可以实现不知是什么道理。

11.应用:
   这没什么难度,但比较繁琐,也需要那句话:既要“民主”,又要“集中”。

插图:App.jpg


12.Administrator 登录:
   Win7 的透明效果和 Win8 的 IE 下载需要管理员账户登录,在原版基础上,进行了较大修改,重新修订了代码,登录文件也
   全新修改了,改变了登录和注销的加载过程。我们知道,PE Administrator 登陆后调用的 .DEFAULT 是 Users 下的
   “NTUSER.DAT”,重新设置而成,那么我在 Administrator 登陆时将 注册表文件“DEFAULT”替换为“NTUSER.DAT”,使
   登陆后的设置与已经设置的一样。

插图:Admin.jpg



13.Win8.1 RamOS:
   我将代码集中到一个过程中,独立完成,避免与其它脚本的重叠,既重新处理“SYSTEM”,有保证了整个制作中的其它功能模
   块设定的不变。

插图:RamOS.jpg
回复

使用道具 举报

13#
 楼主| 发表于 2014-1-31 14:41:01 | 只看该作者
本帖最后由 静庵 于 2014-1-31 20:03 编辑

三、选项使用导引


1. Main Configuration
插图:Main.jpg


上图中不需要选择,默认即可。


2. Image Configuration
插图:Image.jpg


选择解压后的 boot.wim 和 install.wim 所在文件夹,选 boot 或 winrm 均可。


3. Prepare Registry
插图:Registry.jpg


默认使用 boot.wim 中的注册表文件,选项可使用 install.wim 中的。
“Clear Target Dir”、“Create Dir”、“Core Files”这三项默认即可。


4. Explorer Shell
插图:Shell.jpg


选项较多,这一脚本中变化较大,添加了注册表处理功能,可重新布局注册表。添加了快捷方式处理,不过,不太成熟。


5. Themes
插图:Themes-1.jpg


第二个方框中的选项,可以不选,但会缺失一些功能,比如不能更换桌面背景等。


6. MMC
插图:MMC-1.jpg


亮点是“Showing Extension Service”和“Add Shortcut”,前者可显示扩展服务(如图示)。
后者是创建开始菜单程序组的管理工具,这一点上也相对复杂一些,快捷方式创建均采用英文模式,要利用 Desktop.ini
中的设定来指定显示的语言,这样做的目的是可适应于任何语言的 Windows 系统。


7. Drivers

无需多说,按需选择。


8. Wow64
插图:Wow64.jpg


9. Windows Apps
插图:App-1.jpg


其中的 Snipping Tool ---截图工具,是自制的 Lite 仿制品,尽管用。


10. App
插图:App-2.jpg


回复

使用道具 举报

14#
 楼主| 发表于 2014-1-31 14:42:12 | 只看该作者
本帖最后由 静庵 于 2014-1-31 22:11 编辑

重点说明:

1. 快捷方式:

在整个 PEBuilder 发展历史中,尚没有有效的、简便的在脚本中创建快捷方式的方法。
NT5 系列中,创建快捷方式是利用如 shortcutWinExp.exe 文件创建,类似于第三方工具 shortcut.exe,而且仅适用
于NT5.X(创建注册表利用 HojoPE.exe,暂不详述)。而对于 NT6.X 则未发现好方法。

首先,我们设计 PE 制作脚本的初衷是要让脚本适用于包括英文版、繁体中文版等不同语言的,那么,脚本代码就要适
应不同语言的需求,这个就是那个“%DistLang%”,不同的语言,其“DistLang”不同,如中文版是 zh-CN,英文版是
en-US 等,所以按当初设想的直接复制创建好的快捷方式的方法行不通。为一可用的就是创建原英文的快捷方式,这就
要用到那个 Desktop.ini 文件,其中就可以设置快捷方式的不同语言 ---DistLang。

用什么创建出快捷方式?找了很多不同的方法,如 Shortcut.exe,批处理、vbs等均达不到理想的效果。
谁知得来近在眼前 --- PECMD.EXE。现成的创建快捷方式的工具,格式就是:
pecmd LINK 快捷方式名,指向的文件,运行参数,图标文件,..。
我在PE_Extra中有现成的 pecmd.exe,只不过要判断一下当前系统环境,是用x86的,或是x64的。这个不难,在脚本
config.cript中已经判断知道了。

快捷方式创建问题解决了,下一步就是编辑 desktop.ini,这个不难,系统中有现成的,照抄就是,实在没有,自己修改
一下对应的 mmui 文件即可。

但是一个重要的问题是,实现 desktop.ini 设置的前提条件是:它所在的文件夹必须是系统文件夹,这个也不难,改一下
属性即可。

不信可以看一下,制作出的快捷方式,如附件、管理工具都是英文的,但显示是中文。

以上解决了代码实现快捷方式的问题。

程序组快捷方式图标显示没有问题,但对于开始菜单中(那个大的空白)的和任务栏图标显示遇到了麻烦。我们知道,这两
处的图标控制是在注册表 HKCU\..\StartPage2 和 Taskband中,单个或组合的快捷方式,其中是不同的(已经得知节点位
置),但如何一个一个加进去,比如已经有了资源管理器,再加一个IE,就不知道了。
我暂时采用笨办法,就是导入事先取得的现成的注册表项,但 NT6.X的每个系统也不尽相同,比如Win7显示的“计算器”,
而 Win8 则是“Windows 计算器”,虽然我可以更改图标码使之显示名相同,但实际应用时也不行。
所以,这一块暂时没有解决好。


2. Win8.1

我们的目的是制作完整的 PE,其任务栏没有破解,虽然可以实现 RamOS,但也是非常遗憾的,在这上面本人没有注入过多
的精力,一句话:想完美不行。

回复

使用道具 举报

15#
 楼主| 发表于 2014-1-31 14:42:54 | 只看该作者
本帖最后由 静庵 于 2015-1-13 21:18 编辑

下载和更新

说了上面那么多,实际结果没有那么好。是骡子是马,现在牵出来。

2014-02-03 :
    替换 config.script、Images.script 和 Script.project(早先整理过的,01-31忘记更换了),删除了 project.ini,删除了 Script.project 中的可变量信息,
使程序呈完全的原始状态。修正不认鼠标、USB驱动问题。
    快捷方式仍有缺陷,过节太忙,实在没时间做大的处理。

下载链接(2014-02-03):


==============================================================
2014-02-25

说明:
  1. 重点修改已发现的问题---如个版本兼容的代码错误、驱动、IME问题等。
  2. 重新设计 Administrator 登陆方式为 Ram 方式,其中,Win8PE 在使用 Win7 SHELL 情况下实现管理员账户登陆非常快,实现IE下载、任务管理器全功能显示等。   
  3. 修正 Win8.1 RamOS 登陆细节错误。
  4. 仍有许多可见的问题需要修正,期盼大家测试、发现问题并提出解决方法。

下载链接(2014-02-25):
回复

使用道具 举报

16#
发表于 2014-1-31 14:56:32 | 只看该作者
本帖最后由 20121223445667 于 2014-2-4 16:32 编辑

好东西,支持。
回复

使用道具 举报

17#
发表于 2014-1-31 17:00:30 | 只看该作者
说好的下载地址呢!!

点评

别急,会有的。  详情 回复 发表于 2014-1-31 17:16
回复

使用道具 举报

18#
发表于 2014-1-31 17:01:08 | 只看该作者
本帖最后由 ksafei 于 2014-1-31 17:09 编辑

很给力,新年快乐!

希望 WinXPPE能有添加主题选项

点评

主题,这个肯定有。  详情 回复 发表于 2014-1-31 17:17
回复

使用道具 举报

19#
 楼主| 发表于 2014-1-31 17:17:28 | 只看该作者
ksafei 发表于 2014-1-31 17:01
很给力,新年快乐!

希望 WinXPPE能有添加主题选项

主题,这个肯定有。
回复

使用道具 举报

20#
发表于 2014-1-31 18:32:49 | 只看该作者
期待
回复

使用道具 举报

21#
发表于 2014-1-31 23:01:31 | 只看该作者
谢谢您的付出辛苦了!
回复

使用道具 举报

22#
发表于 2014-2-1 02:54:58 | 只看该作者
祝老师新年快乐!事业有成!身体健康!
回复

使用道具 举报

23#
 楼主| 发表于 2014-2-1 07:13:47 | 只看该作者
自己发现的第一个 BUG ---快捷方式

由于在单位办公室电脑中设置有 X: 盘,创建快捷方式的代码,以及需要解压的快捷方式的路径指向均为 "X: 盘",这样在没有 X: 盘的环境下就无法创建出快捷方式。

处理方法 --- 脚本中 [Create_Shortcut] 节中将所有 X:\Windows 改为 %SystemRoot%,将 X:\Program Files,修改为 %ProgramFiles%。

压缩包中的快捷方式需要重新修改路径后,重新压缩。

评分

参与人数 1无忧币 +5 收起 理由
糊涂 + 5 很给力!

查看全部评分

回复

使用道具 举报

24#
发表于 2014-2-1 08:26:54 来自手机 | 只看该作者
谢谢楼主.马年好
回复

使用道具 举报

25#
发表于 2014-2-1 08:35:29 来自手机 | 只看该作者
谢谢楼主分享,下载试用
回复

使用道具 举报

26#
发表于 2014-2-1 09:03:57 | 只看该作者
本帖最后由 hhh333 于 2014-2-1 09:41 编辑

这个不错,算新年的一份大礼!
本来自己有时也有这个起意,将自己做PE的一些东西加进去,但看了LZ的,觉得更系统,那就让大家都来提一些建议或技巧,使之更加完善。
回复

使用道具 举报

27#
发表于 2014-2-1 12:52:40 | 只看该作者
果断收藏下。。。学习。。。
回复

使用道具 举报

28#
发表于 2014-2-1 19:32:13 | 只看该作者
好工具,感恩樓主分享,辛苦了
回复

使用道具 举报

29#
发表于 2014-2-2 09:02:40 | 只看该作者
此贴留位置,,谢谢。。。
回复

使用道具 举报

30#
 楼主| 发表于 2014-2-2 15:58:42 | 只看该作者
对不起,暂停下载,发现 pecmd.ini 配置有问题,朋友实机测试找不到鼠标,USB不能驱动。
回复

使用道具 举报

31#
发表于 2014-2-2 16:52:51 | 只看该作者
如果我只要生成一个System登录的最精简的维护版应该如何勾选?能不能给一个默认就是这样的方案?
回复

使用道具 举报

32#
发表于 2014-2-2 23:48:25 | 只看该作者
首先谢谢楼主辛勤的工作!
1、制作了WIN7PEX86,实体机测试功能正常,仅菜单(桌面)快捷方式缺失,会不会和SYSTEM账号登陆有关。

2、XP环境下:制作WIN8PEX64使用sp_star 版本成功。使用楼主版本提示PECMD.EXE不是有效的32位程序,只好强行终止。(难道非要在X64环境下工作)
3、由于功能比以前强大,在使用上要困难点,迫切需要楼主解说再详细点,因为WIN7&WIN8&WIN8.1的某些功能是互相排斥的。

点评

用到的 PECMD.EXE 只是创建快捷方式,脚本中已有设定,当运行环境是 x86 时,调用 x86 的 PECMD.EXE,这种情况出现,说明调用PECMD.EXE的版本有问题。 你的截图中出现空的快捷方式,正说明创建快捷方式失败。 我再  详情 回复 发表于 2014-2-3 09:01
回复

使用道具 举报

33#
发表于 2014-2-3 06:03:50 | 只看该作者
辛苦了,期待完美版本。
回复

使用道具 举报

34#
 楼主| 发表于 2014-2-3 09:01:55 | 只看该作者
细细哥~ 发表于 2014-2-2 23:48
首先谢谢楼主辛勤的工作!
1、制作了WIN7PEX86,实体机测试功能正常,仅菜单(桌面)快捷方式缺失,会不会 ...

用到的 PECMD.EXE 只是创建快捷方式,脚本中已有设定,当运行环境是 x86 时,调用 x86 的 PECMD.EXE,这种情况出现,说明调用PECMD.EXE的版本有问题。
你的截图中出现空的快捷方式,正说明创建快捷方式失败。
我再看一下。
回复

使用道具 举报

35#
 楼主| 发表于 2014-2-3 09:36:15 | 只看该作者
先修正一下 PECMD.EXE 调用问题,将附件中的文件替换相应文件即可。

Images.rar

691.43 KB, 下载次数: 117, 下载积分: 无忧币 -2

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-26 09:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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