无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)最好用的系统一键装机工具广告联系 QQ:184822951 微信:wuyouceo
查看: 51790|回复: 324

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

    [复制链接]
发表于 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 启动后提示如图
Win7.jpg

Win2008 (标准版):
Win2008.jpg

附件(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
Remote.jpg

IE.jpg


13.Opera
插图:Opera.jpg
Opera.jpg


14.Audio

也是修改了一些代码。


15.Administrator
插图:Admin-1.jpg
Admin-1.jpg

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


16.System Tweaks
插图:Tweak.jpg
Tweak.jpg

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


17.AddTools
插图:Addtools.jpg
AddTools.jpg

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


18.RamOS
插图:RamOS-1.jpg
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 | 显示全部楼层
支持,有时间学习。
回复

使用道具 举报

 楼主| 发表于 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
Source.jpg

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

插图:Main.jpg
Main.jpg

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

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

插图:Api.jpg(节段)
Api.jpg

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

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

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

插图:Themes.jog
Thems.jpg

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

插图:Drivers.jpg
Drivers.jpg

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

插图:IME.jpg
IME.jpg

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

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

插图:App.jpg
App.jpg

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

插图:Admin.jpg
Admin.jpg


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

插图:RamOS.jpg
RamOS.jpg

点评

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

使用道具 举报

 楼主| 发表于 2014-1-31 14:41:01 | 显示全部楼层
本帖最后由 静庵 于 2014-1-31 20:03 编辑

三、选项使用导引


1. Main Configuration
插图:Main.jpg
Main.jpg

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


2. Image Configuration
插图:Image.jpg
Image.jpg

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


3. Prepare Registry
插图:Registry.jpg
Registry.jpg

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


4. Explorer Shell
插图:Shell.jpg
Shell.jpg

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


5. Themes
插图:Themes-1.jpg
Thems-1.jpg

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


6. MMC
插图:MMC-1.jpg
MMC-1.jpg

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


7. Drivers

无需多说,按需选择。


8. Wow64
插图:Wow64.jpg
Wow64.jpg

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

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


10. App
插图:App-2.jpg
App-2.jpg

回复

使用道具 举报

 楼主| 发表于 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,但也是非常遗憾的,在这上面本人没有注入过多
的精力,一句话:想完美不行。

回复

使用道具 举报

 楼主| 发表于 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):
回复

使用道具 举报

发表于 2014-1-31 14:56:32 | 显示全部楼层
本帖最后由 20121223445667 于 2014-2-4 16:32 编辑

好东西,支持。
回复

使用道具 举报

发表于 2014-1-31 17:00:30 | 显示全部楼层
说好的下载地址呢!!

点评

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

使用道具 举报

发表于 2014-1-31 17:01:08 | 显示全部楼层
本帖最后由 ksafei 于 2014-1-31 17:09 编辑

很给力,新年快乐!

希望 WinXPPE能有添加主题选项

点评

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-5-26 08:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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