无忧启动论坛

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

[原创] (2022-02-02 更新) Re:WIN10XPE - 从零开始构建的全功能PE

    [复制链接]
4771#
发表于 2020-10-26 18:00:25 | 只看该作者
回复

使用道具 举报

4772#
 楼主| 发表于 2020-10-26 18:37:45 | 只看该作者
yamingw 发表于 2020-10-25 16:45
1、2都可用,基本文件一样。

感谢提供补丁。

1.
X_WOW64我直接更新到prepare.bat中。

2.
新增一个组件 --- boot2winre

WinPE-SRT
WinPE-HTA
WinPE-WiFi-Package


关联补充的文件和注册表项目放到01-Components\00-boot2winre\main.bat中了。

3.
RegFind使用了-y参数忽略大小写,所以不用再替换c:\,这2行放到了 Projects\WIN10XPE\last.bat中了。(20h2的镜像可以构建成功)

4.
AudioSandboxEnabled 10.10版本已经放到
Projects\WIN10XPE\00-Configures\System\Compatibility.bat
【增强兼容性】选项中了。
(根据反馈,好像权限有点问题,所以用setACL设置为everyone::full权限)

5.
其他
a).
ProductOptions.txt 还没有对比和我内置的有啥设定不同,所以就没更新。

b).
ren "%X%\Windows\AppPatch\DirectXApps_FOD.sdb" DirectXApps.sdb

DirectX的补丁?没有内置所以,暂时没有合并到工程中。

c).
del /q xxxx
精简部分,自定义补丁内容,没有合并。


可以访问github的话,直接git pull可以更新。
晚些时候,可以用 【更新】按钮。

新版本,增加了【更新源】选项,github访问速度不行的话,选gitee可以快速更新了。




============================================
另外,你之前有反映安装Edge的MSI的修正。
我这边测试,全注册表+MSI,一直msi没有成功安装过。。。
对于MSI你有添加额外的修正么?


点评

1、我是把PE转换成正常系统用的,cad、vs、tia s7等,所以自己又添加了很多文件,其中有些对PE有用,有些是无用的。 我在此基础上测试的,并不准确。比如msi安装edge需要dmenrollengine.dll也是在此基础上,所以并  详情 回复 发表于 2020-10-26 19:47
回复

使用道具 举报

4773#
发表于 2020-10-26 19:47:27 | 只看该作者
slore 发表于 2020-10-26 18:37
感谢提供补丁。

1.

1、我是把PE转换成正常系统用的,cad、vs、tia s7等,所以自己又添加了很多文件,其中有些对PE有用,有些是无用的。
我在此基础上测试的,并不准确。比如msi安装edge需要dmenrollengine.dll也是在此基础上,所以并不准确。
比如Microsoft Teams需要aadtb.dll,aadWamExtension.dll,MFCaptureEngine.dll,TaskFlowDataEngine.dll
都是有前置条件,大部分时候不愿再一个一个测试。
2、所以DirectXApps对PE是无用的。
3、ProductOptions.txt是直接拷贝_CustomFiles_文件夹里的,还有winpeshl.ini,因为我发现移除_CustomFiles_文件夹,生成的PE不能正常启动。个人认为整个wimbuilder基础竟然依靠_CustomFiles_里的文件并不合适。

点评

_CustomFiles_最初放的是 壁纸, pecmd.ini 等 自定义的文件, 但是例如pecmd.ini, startnet.cmd等启动文件,是PE必须的文件,但是不同人又有不同的做法。 我的_CustomFiles_放了启动框架,然后是Autoruns启动目录  详情 回复 发表于 2020-10-26 20:38
回复

使用道具 举报

4774#
发表于 2020-10-26 20:26:39 | 只看该作者
刚才不加自己的补丁用10、10试了试MicrosoftEdge_85.0.564.41_64bit_Setup.msi,admin不选wmp,加上dmenrollengine.dll就可以了。
用的是uup的572,winre.wim。
回复

使用道具 举报

4775#
 楼主| 发表于 2020-10-26 20:38:36 | 只看该作者
yamingw 发表于 2020-10-26 19:47
1、我是把PE转换成正常系统用的,cad、vs、tia s7等,所以自己又添加了很多文件,其中有些对PE有用,有些 ...

_CustomFiles_最初放的是 壁纸, pecmd.ini 等 自定义的文件,
但是例如pecmd.ini, startnet.cmd等启动文件,是PE必须的文件,但是不同人又有不同的做法。
我的_CustomFiles_放了启动框架,然后是Autoruns启动目录,根据选项生成分散的一个个启动批处理。

直接删除的话,需要自己构建启动文件了。后期添加了AppData,一些无关紧要的文件慢慢转移过去了,
但是启动文件我不知道其他人的AppData是怎么样的,为了保证正常启动所以这款没有迁移。
比如ProductOptions.txt,如果AppData中放了,会优先使用AppData中的,没有就从_CustomFiles_复制。

如果自己不想用_CustomFiles_中的启动文件,不要直接删除,
需要用自己的补丁替换pecmd.ini,rd 删除 Autoruns 就行了。


  1. 1、我是把PE转换成正常系统用的,cad、vs、tia s7等,所以自己又添加了很多文件,其中有些对PE有用,有些是无用的。
  2. 我在此基础上测试的,并不准确。比如msi安装edge需要dmenrollengine.dll也是在此基础上,所以并不准确。
  3. 比如Microsoft Teams需要aadtb.dll,aadWamExtension.dll,MFCaptureEngine.dll,TaskFlowDataEngine.dll
  4. 都是有前置条件,大部分时候不愿再一个一个测试。
复制代码


方便的话,给个dir /b /s 的列表。有时间了,我慢慢完善MSI。

回复

使用道具 举报

4776#
发表于 2020-10-26 21:20:20 | 只看该作者
其中main主要是system32内的文件,submain主要是wow64的文件,last主要是服务注册表补全。
基于早期wimbuilder而补充的,重复较多

10-MyCustom.7z

10.01 KB, 下载次数: 19, 下载积分: 无忧币 -2

回复

使用道具 举报

4777#
发表于 2020-10-26 22:01:09 | 只看该作者
大型软件还需要vc运行库。
回复

使用道具 举报

4778#
发表于 2020-10-27 16:59:45 | 只看该作者
win 1607  在win 764  下定制全能 并没有改其他选择  构建出来的wim 滚动条后自动重启

点评

老版本没测试。2018年以前的只保证LTSB,LTSC基础镜像。 另外,全功能没有验证过老版本。可以先试试默认预设,看看外壳能添加上, 再慢慢添加功能确认。  详情 回复 发表于 2020-10-27 23:02
2016年的 Win10 , 用 WimBuilder2-Full.v2020-01-01 可以构建進桌面 slore 說了新版本WimBuilder2沒時間回測以前Win10版本  详情 回复 发表于 2020-10-27 22:06
回复

使用道具 举报

4779#
发表于 2020-10-27 22:06:26 | 只看该作者
本帖最后由 parsons 于 2020-10-27 22:12 编辑
23456 发表于 2020-10-27 16:59
win 1607  在win 764  下定制全能 并没有改其他选择  构建出来的wim 滚动条后自动重启

2016年的 Win10 , 用 WimBuilder2-Full.v2020-08-08 可以构建進桌面
slore 說了新版本WimBuilder2沒時間回測以前Win10版本
回复

使用道具 举报

4780#
 楼主| 发表于 2020-10-27 23:02:35 | 只看该作者
23456 发表于 2020-10-27 16:59
win 1607  在win 764  下定制全能 并没有改其他选择  构建出来的wim 滚动条后自动重启

老版本没测试。2018年以前的只保证LTSB,LTSC基础镜像。

另外,全功能没有验证过老版本。可以先试试默认预设,看看外壳能添加上,
再慢慢添加功能确认。
回复

使用道具 举报

4781#
发表于 2020-10-28 13:49:25 | 只看该作者
感谢大佬的作品,使用中,非常棒~~我碰到了一个问题,目前的版本集成了vc++8和9,有些软件需要高版本的vc++,比如如果需要15或者说vc++2017等新版本,需要怎么操作呢

点评

更新频率还好,一般3年左右更新一次,最新的版本包含所有老版本的运行时,比如2017包含15,12甚至7、8,这个跟vs版本是对应的,现在很多软件是用vs2017这样的高版本开发编译的,所以需要高版本的运行时配合。  详情 回复 发表于 2020-10-30 08:57
所以没有集成到工具中。VC运行库版本不定时会更新。  发表于 2020-10-28 16:55
VC 8, 9是系统install.wim自带的。其他运行库需要用微软的安装包自己提取需要的文件和注册表项目。  发表于 2020-10-28 16:54
回复

使用道具 举报

4782#
发表于 2020-10-30 08:57:50 | 只看该作者
kizas 发表于 2020-10-28 13:49
感谢大佬的作品,使用中,非常棒~~我碰到了一个问题,目前的版本集成了vc++8和9,有些软件需要高版本的vc++ ...

更新频率还好,一般3年左右更新一次,最新的版本包含所有老版本的运行时,比如2017包含15,12甚至7、8,这个跟vs版本是对应的,现在很多软件是用vs2017这样的高版本开发编译的,所以需要高版本的运行时配合。
回复

使用道具 举报

4783#
发表于 2020-10-30 22:26:43 | 只看该作者
有人遇過工作管理員taskmgr內的處理程序頁及登入頁 內容都空白的嗎?
我用LTSC 2019製作
無意中發現的
記得以前用其它WIN10做時是有顯示的
是LTSC的問題?
WimBuilder2問題?
還是我漏了什麼檔嗎?

2.png (290.14 KB, 下载次数: 114)

2.png

1.png (306.78 KB, 下载次数: 116)

1.png

点评

默认就是这样显示的,不会空白。  详情 回复 发表于 2020-10-31 12:44
處理程序頁 PE下Windows 的任务管理器 就是不显示吧。 所以默认不勾选Windows 任务管理器,winre的XP版taskmgr就够。 用户的话,启用Administrator帐户,会显示。  详情 回复 发表于 2020-10-30 22:36
回复

使用道具 举报

4784#
 楼主| 发表于 2020-10-30 22:36:19 | 只看该作者
saiz 发表于 2020-10-30 22:26
有人遇過工作管理員taskmgr內的處理程序頁及登入頁 內容都空白的嗎?
我用LTSC 2019製作
無意中發現的

處理程序頁 PE下Windows 的任务管理器 就是不显示吧。
所以默认不勾选Windows 任务管理器,winre的XP版taskmgr就够。

用户的话,启用Administrator帐户,会显示。
回复

使用道具 举报

4785#
发表于 2020-10-30 23:30:34 | 只看该作者
支持更新
回复

使用道具 举报

4786#
发表于 2020-10-31 12:44:44 | 只看该作者
saiz 发表于 2020-10-30 22:26
有人遇過工作管理員taskmgr內的處理程序頁及登入頁 內容都空白的嗎?
我用LTSC 2019製作
無意中發現的

默认就是这样显示的,不会空白。

捕获.PNG (335.83 KB, 下载次数: 119)

捕获.PNG

点评

看來是我之前有漏勾了 重新檢查 重做一遍 都顯示了  详情 回复 发表于 2020-10-31 15:30
回复

使用道具 举报

4787#
发表于 2020-10-31 15:30:08 | 只看该作者
我是小青蛙 发表于 2020-10-31 12:44
默认就是这样显示的,不会空白。

看來是我之前有漏勾了
重新檢查 重做一遍
都顯示了
回复

使用道具 举报

4788#
发表于 2020-10-31 16:50:30 来自手机 | 只看该作者
s大你好,Wimbuilder2里有没有什么办法以空的wim为基础,指定两个文件列表,分别提取WinRE、install里的文件来制作PE?

点评

准备界面有个 使用 test\boot.wim ,是一个有基本目录结构和空注册表的 空 boot.wim。 选择这个,如果有不需要的目录,自己最后删除即可。 默认会自动挂载注册表项,如果要从WinRE重新提取注册表HIVE项目,  详情 回复 发表于 2020-10-31 17:52
回复

使用道具 举报

4789#
 楼主| 发表于 2020-10-31 17:52:33 | 只看该作者
834772509 发表于 2020-10-31 16:50
s大你好,Wimbuilder2里有没有什么办法以空的wim为基础,指定两个文件列表,分别提取WinRE、install里的文 ...

准备界面有个 使用 test\boot.wim ,是一个有基本目录结构和空注册表的 空 boot.wim。

选择这个,如果有不需要的目录,自己最后删除即可。


默认会自动挂载注册表项,如果要从WinRE重新提取注册表HIVE项目,需要先卸载:

  1. call PERegPorter.bat Tmp UNLOAD 1>nul
复制代码


提取文件可以用AddFiles宏命令,或者直接用 AddFilesByList 宏命令。

默认是从install.wim提取。

"Z:\WimBuilder2\lib\macros\DoAddFiles.cmd"
  1. call wimextract "%WB_SRC%" %WB_SRC_INDEX% @"%_WB_TMP_DIR%\_AddFiles.txt" --dest-dir="%_DEST_DIR%" --no-acls --nullglob
复制代码



如果需要从WinRE提取文件。

  1. rem 备份变量
  2. set "_ORG_WB_SRC=%WB_SRC%"
  3. set _ORG_WB_SRC_INDEX=%WB_SRC_INDEX%

  4. set WB_SRC=D:\my\winre.wim
  5. set WB_SRC_INDEX=1

  6. call AddFilesbyList winrefiles.txt

  7. rem 还原变量
  8. set "WB_SRC=%_ORG_WB_SRC%"
  9. set "WB_SRC_INDEX=%_ORG_WB_SRC_INDEX%"
复制代码


点评

感谢,已成功实现  详情 回复 发表于 2020-10-31 22:04
回复

使用道具 举报

4790#
发表于 2020-10-31 22:04:39 来自手机 | 只看该作者
slore 发表于 2020-10-31 17:52
准备界面有个 使用 test\boot.wim ,是一个有基本目录结构和空注册表的 空 boot.wim。

选择这个,如果 ...

感谢,已成功实现
回复

使用道具 举报

4791#
发表于 2020-11-1 12:04:09 | 只看该作者
安装了sspsvc服务,可以用office2016了,顺便激活一下,只为好玩,无大用。

捕获.PNG (245.33 KB, 下载次数: 224)

kms在线激活

kms在线激活

点评

How can I install the sspsvc service  详情 回复 发表于 2020-11-3 15:26
應該是 sppsvc 服务  详情 回复 发表于 2020-11-2 19:36
这都是正常系统了,非常给力!  详情 回复 发表于 2020-11-1 12:47
回复

使用道具 举报

4792#
发表于 2020-11-1 12:47:10 | 只看该作者
yamingw 发表于 2020-11-1 12:04
安装了sspsvc服务,可以用office2016了,顺便激活一下,只为好玩,无大用。

这都是正常系统了,非常给力!
回复

使用道具 举报

4793#
发表于 2020-11-2 19:36:03 | 只看该作者
yamingw 发表于 2020-11-1 12:04
安装了sspsvc服务,可以用office2016了,顺便激活一下,只为好玩,无大用。

應該是 sppsvc 服务
回复

使用道具 举报

4794#
发表于 2020-11-2 21:10:10 | 只看该作者
本帖最后由 chshrm 于 2020-11-2 21:13 编辑

不知道注册表精简了哪里,无论使用19041还是19042的哪个版本系统做PE,大版本都是19041.xxx,但是使用了install全注册表就没问题,该高版本就高版本,比如:

点评

注册表的CurrentVersion啥的,winre.wim是基础版本。没有复制install.wim。  详情 回复 发表于 2020-11-2 21:27
回复

使用道具 举报

4795#
 楼主| 发表于 2020-11-2 21:27:01 | 只看该作者
chshrm 发表于 2020-11-2 21:10
不知道注册表精简了哪里,无论使用19041还是19042的哪个版本系统做PE,大版本都是19041.xxx,但是使用了ins ...

注册表的CurrentVersion啥的,winre.wim是基础版本。没有复制install.wim。

点评

winver打开的系统信息,我知道修改哪里,但ver打开的系统信息,我不知道修改哪里。 [HKEY_LOCAL_MACHINE\_SOFTWARE\Microsoft\Windows NT\CurrentVersion] "CurrentBuild"="19042" "CurrentBuildNumber"="19042"  详情 回复 发表于 2020-11-2 21:43
回复

使用道具 举报

4796#
发表于 2020-11-2 21:43:30 | 只看该作者
slore 发表于 2020-11-2 21:27
注册表的CurrentVersion啥的,winre.wim是基础版本。没有复制install.wim。

winver打开的系统信息,我知道修改哪里,但ver打开的系统信息,我不知道修改哪里。
[HKEY_LOCAL_MACHINE\_SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"CurrentBuild"="19042"
"CurrentBuildNumber"="19042"
"ReleaseId"="2009"
这是winver打开的系统信息。

点评

ver的系统版本号是通过 GetVersion API获取的,最后的更新号610是从注册表: HKEY_LOCAL_MACHINE\_SOFTWARE\Microsoft\Windows NT\CurrentVersion的UBR  详情 回复 发表于 2020-11-3 00:23
回复

使用道具 举报

4797#
发表于 2020-11-2 22:03:16 | 只看该作者
本帖最后由 chshrm 于 2020-11-2 22:12 编辑

做了个注册表wim压缩后的体积比较,我用9MB多的注册表跟66MB的进行体积比较,结果发现,相差大约就是7mb左右。也就是说如用WB2精简的注册表(大约33MB),跟66M注册表相比,wim压缩后只有2MB多的差别,因此毅然决定使用全注册表(full)。将regworkshop搜索设置成一次搜索3万结果,只要一次就把注册表清得干干净净,避免了使用过程中由于精简注册表出现的古怪现象。我现在使用的PE19042.610,也就是335mb。但包含了全install.wim注册表,网络,常用维护工具,还有OPERA浏览器,等十几种工具。



点评

注册表文件压缩率挺大的。所以不精益求精在意那几MB地方,没有必要精简注册表。 系统注册表主要影响系统的组件,维护工具,OPERA浏览器等十几种工具, 不太依赖系统的注册表项目。  详情 回复 发表于 2020-11-2 22:50
回复

使用道具 举报

4798#
发表于 2020-11-2 22:17:32 | 只看该作者
发现10.0.1042.610PE比正常系统反应还灵敏,打开程序简直是秒开。
回复

使用道具 举报

4799#
发表于 2020-11-2 22:19:36 | 只看该作者
本帖最后由 chshrm 于 2020-11-2 22:23 编辑

请教slore大,注册表里的文件components有什么作用,9MB多。我删除了使用到现在也没啥影响。系统很稳定。


回复

使用道具 举报

4800#
 楼主| 发表于 2020-11-2 22:50:48 | 只看该作者
chshrm 发表于 2020-11-2 22:03
做了个注册表wim压缩后的体积比较,我用9MB多的注册表跟66MB的进行体积比较,结果发现,相差大约就是7mb左 ...

注册表文件压缩率挺大的。所以不精益求精在意那几MB地方,没有必要精简注册表。

系统注册表主要影响系统的组件,维护工具,OPERA浏览器等十几种工具,
不太依赖系统的注册表项目。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-28 02:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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