无忧启动论坛

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

点评

www.ssbianshi.com/Read/51838/ 最强废品王  发表于 2015-3-10 00:03

评分

参与人数 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
怎么删掉下载了?

准备更新

点评

感谢,好人一个,谢谢!  发表于 2015-1-15 20:37
回复

使用道具 举报

推荐
 楼主| 发表于 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-13 21:32
经过多次尝试,终于找到了增加开始菜单的方法。感谢楼主的软件,期待你的更新……………………  详情 回复 发表于 2014-10-13 21:31
其实为什么还要费力去弄WinNT5.x的? WinNT5.x已经OUT了,感觉已经没什么需要得意再去弄,现在流传的基本已经够用, 而且用WinNT5.x的已经愈来愈少,差不多要被淘汰  详情 回复 发表于 2014-10-12 11:49
回复

使用道具 举报

推荐
发表于 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?

点评

win32 console application,点击运行的话,会有个黑窗口闪过。 win32 application就不会有黑窗口。  详情 回复 发表于 2015-3-9 20:41
我的回答似乎已经消失 (英语 !) 不是看窗口,而无需隐藏其执行。 这里没有真正的理由有一个控制台版本  详情 回复 发表于 2015-3-9 19:55
回复

使用道具 举报

推荐
 楼主| 发表于 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

点评

是从iso文件中提取呢,还是要本机要安装win7,8  详情 回复 发表于 2014-2-3 16:37
回复

使用道具 举报

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%。

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

点评

感谢分享!  发表于 2014-2-1 09:05

评分

参与人数 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-11-16 20:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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