无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: slore
打印 上一主题 下一主题

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

    [复制链接]
2641#
发表于 2019-11-30 10:37:59 | 只看该作者
slore 发表于 2019-11-30 10:31
新版本Admin用户去除了完整SOFTWARE依赖,28MB,压缩5MB,很稳定,按文件删除的脚本也有的,不过删除了白 ...

白色图标问题可以解决 之前用CCleaner清理就出现过,其实白色图标都有对应的注册表项,加入白名单就可以了!您说的新版本指的是?

点评

注册表得下载下别人的对比下,感觉CLSID和Interface清理并不大?需要call RegCopy确认下,各个项目的大小,针对比较大的项目处理就好了。  详情 回复 发表于 2019-11-30 11:29
回复

使用道具 举报

2642#
发表于 2019-11-30 10:48:59 来自手机 | 只看该作者
应该是双12的版本。。。
回复

使用道具 举报

2643#
发表于 2019-11-30 10:50:12 来自手机 | 只看该作者
大佬就是大佬,向经典致敬。。。
回复

使用道具 举报

2644#
发表于 2019-11-30 10:55:05 | 只看该作者
github的最新版 ,定制页面点击就这样

点评

先点击工程再点击定制不会报错,直接点击定制会报错  详情 回复 发表于 2019-11-30 11:47
本地测试好的。。。我单独下载看看,可能漏提交文件了。ciinfig.js你没自己修改吧?  发表于 2019-11-30 11:26
回复

使用道具 举报

2645#
发表于 2019-11-30 11:00:25 | 只看该作者
slore 发表于 2019-11-30 10:31
新版本Admin用户去除了完整SOFTWARE依赖,28MB,压缩5MB,很稳定,按文件删除的脚本也有的,不过删除了白 ...

还有一个问题咨询一下slore大,wimbuilder提取的原生网络驱动不全而用立邦的WinPE生成器则是完整的,怎么可以做到从install提取完整的网络驱动?

点评

整理了一份原生驱动列表: ;Lan b57nd60a.inf backupwmbclass.inf ;NDIS dc21x4vm.inf e2xw10x64.inf ipoib6x.inf msdri.inf msux64w10.inf net1ic64.inf net1yx64.inf net44amd.inf net7400-x64-n650.i  详情 回复 发表于 2019-12-1 09:45
默认我没有加多少。双12版本,做成界面选项吧,想添加啥系统驱动,自己写。  发表于 2019-11-30 11:25
call AddDrivers "wtnet810x.inf,wifi85.inf"就行了。  发表于 2019-11-30 11:24
回复

使用道具 举报

2646#
 楼主| 发表于 2019-11-30 11:29:41 | 只看该作者
2011wanglei5207 发表于 2019-11-30 10:37
白色图标问题可以解决 之前用CCleaner清理就出现过,其实白色图标都有对应的注册表项,加入白名单就可以 ...

注册表得下载下别人的对比下,感觉CLSID和Interface清理并不大?需要call RegCopy确认下,各个项目的大小,针对比较大的项目处理就好了。
回复

使用道具 举报

2647#
发表于 2019-11-30 11:47:49 | 只看该作者
星体投射 发表于 2019-11-30 10:55
github的最新版 ,定制页面点击就这样

先点击工程再点击定制不会报错,直接点击定制会报错
回复

使用道具 举报

2648#
发表于 2019-11-30 16:39:03 | 只看该作者
本帖最后由 星体投射 于 2019-11-30 16:42 编辑

。。。。。。。。。。。。。。                  

tc.JPG (54.59 KB, 下载次数: 250)

tc.JPG

点评

这个文件需要?存储设备上下文用的,右键菜单?不清楚当时为什么注了,第一版就没有?USB弹出的最小需求?  发表于 2019-11-30 17:48
回复

使用道具 举报

2649#
发表于 2019-12-1 09:45:26 | 只看该作者
2011wanglei5207 发表于 2019-11-30 11:00
还有一个问题咨询一下slore大,wimbuilder提取的原生网络驱动不全而用立邦的WinPE生成器则是完整的,怎么 ...

整理了一份原生驱动列表:
;Lan
b57nd60a.inf
backupwmbclass.inf ;NDIS
dc21x4vm.inf
e2xw10x64.inf
ipoib6x.inf
msdri.inf
msux64w10.inf
net1ic64.inf
net1yx64.inf
net44amd.inf
net7400-x64-n650.inf
net7500-x64-n650f.inf
net7800-x64-n650f.inf
net9500-x64-n650f.inf
netax88179_178a.inf
netax88772.inf
netbxnda.inf
nete1e3e.inf
nete1g3e.inf
netefe3e.inf
netelx.inf
netg664.inf
netimm.inf ;NDIS
netjme.inf
netk57a.inf
netl160a.inf
netl1c63x64.inf ;NDIS
netl1e64.inf
netl260a.inf
netmlx5.inf
netmyk64.inf
netnvm64.inf
netnvma.inf
netrtl64.inf
nett4x64.inf
netv1x64.inf
netvf63a.inf
netvg63a.inf
netxex64.inf
rtux64w10.inf
usbncm.inf
usbnet.inf
wnetvsc.inf
ykinx64.inf
netmlx4eth63.inf
rt640x64.inf

;Wlan
athw8x.inf
bcmdhd64.inf
bcmwdidhdpcie.inf
mrvlpcie8897.inf
mwlu97w8x64.inf
net8185.inf
net8187bv64.inf
net8187se64.inf
net8192se64.inf
net8192su64.inf
net819xp.inf
netathr10x.inf
netathrx.inf
netbc63a.inf
netbc64.inf
netr28ux.inf
netr28x.inf
netr7364.inf
netrtwlane.inf
netrtwlane01.inf
netrtwlane_13.inf
netrtwlans.inf
netrtwlanu.inf
netwbw02.inf
netwew00.inf
netwew01.inf
netwlv64.inf
netwns64.inf
netwsw00.inf
netwtw02.inf
netwtw04.inf
netwtw06.inf
rtwlanu_oldIC.inf
验证加入正常,实测一下需不需要catalog依赖!

点评

感谢整理。 目前是这样,区分x64和x86的,以及共通的。 后续会改成界面3个文本框: x86的网卡驱动: athw8.inf,netathr.inf,netathr10.inf,netbc63.inf x64的网卡驱动: athw8x.inf,netathr10x.inf,netathrx.inf,  详情 回复 发表于 2019-12-1 11:49
回复

使用道具 举报

2650#
 楼主| 发表于 2019-12-1 11:49:54 | 只看该作者
2011wanglei5207 发表于 2019-12-1 09:45
整理了一份原生驱动列表:
;Lan
b57nd60a.inf

感谢整理。
目前是这样,区分x64和x86的,以及共通的。
后续会改成界面3个文本框:

x86的网卡驱动: athw8.inf,netathr.inf,netathr10.inf,netbc63.inf
x64的网卡驱动: athw8x.inf,netathr10x.inf,netathrx.inf,netbc63a.inf
  共通网卡驱动: netbc64.inf,netrtwlane.inf,netrtwlane_13.inf,netrtwlanu.inf

版本区分就不做了,自己添加自己喜欢的吧。也不区分LAN和WLAN了。
要么就提供一个脚本编辑界面。。。

‪D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\02-Network\main.bat

  1. set AddFiles_Mode=merge

  2. if "%WB_PE_ARCH%"=="x64" (
  3.   call AddDrivers "athw8x.inf,netathr10x.inf,netathrx.inf,netbc63a.inf"
  4.   call AddDrivers "netwbw02.inf,netwew00.inf,netwew01.inf,netwlv64.inf,netwns64.inf,netwsw00.inf,netwtw04.inf"
  5. ) else (
  6.   call AddDrivers "athw8.inf,netathr.inf,netathr10.inf,netbc63.inf"
  7.   call AddDrivers "netwbn02.inf,netwen00.inf,netwen01.inf,netwlv32.inf,netwns32.inf,netwsn00.inf,netwtn04.inf"
  8. )
  9. call AddDrivers "netbc64.inf,netrtwlane.inf,netrtwlane_13.inf,netrtwlanu.inf"

  10. if %VER[3]% LEQ 17700 goto :END_NETDRIVERS

  11. if "%WB_PE_ARCH%"=="x64" (
  12.   call AddDrivers "netwtw02,netwtn06.inf"
  13. ) else (
  14.   call AddDrivers netwtn02.inf
  15. )

  16. :END_NETDRIVERS
  17. call DoAddFiles
复制代码

点评

不用一个个找,写个批处理 查找 inf 是否有字段: NdisPhysicalMediumNative802_11 ,有就是无线网卡驱动  详情 回复 发表于 2019-12-1 12:26
回复

使用道具 举报

2651#
发表于 2019-12-1 12:26:54 | 只看该作者
slore 发表于 2019-12-1 11:49
感谢整理。
目前是这样,区分x64和x86的,以及共通的。
后续会改成界面3个文本框:

不用一个个找,写个批处理 查找 inf  是否有字段: NdisPhysicalMediumNative802_11 ,有就是无线网卡驱动
回复

使用道具 举报

2652#
发表于 2019-12-3 20:05:20 | 只看该作者
符号链接(symlink)文件双击打开出错,需要该项注册表,即可正常
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.symlink

点评

Windows上基本不用符号文件。  发表于 2019-12-3 20:55

评分

参与人数 1无忧币 +3 收起 理由
slore + 3 赞一个!

查看全部评分

回复

使用道具 举报

2653#
发表于 2019-12-3 20:35:28 | 只看该作者
MTP功能是否就靠MS原版系统就可实现?Win7系统、Win10系统都可以,下个版是否可以考虑不要 MTPHELPER.SYS这个文件?在火绒安全软件里这个文件一直被报有毒!

点评

v1809之后的内核应该是不可以的,你可以试试,这个驱动删除了 会自动使用MTPHelper.dll来实现,但是没有驱动稳定。  详情 回复 发表于 2019-12-3 20:53
回复

使用道具 举报

2654#
 楼主| 发表于 2019-12-3 20:53:49 | 只看该作者
本帖最后由 slore 于 2019-12-3 20:54 编辑
fish2006 发表于 2019-12-3 20:35
MTP功能是否就靠MS原版系统就可实现?Win7系统、Win10系统都可以,下个版是否可以考虑不要 MTPHELPER.SYS这 ...

老版本可能没事,新版本需要,至少v1809之后的内核应该是不可以不要的,你可以试试。另外这个驱动删除了会自动使用MTPHelper.dll来实现,但是没有驱动方式稳定。

点评

MTPHelper.dll 也是第3方的,最新版本我都没有测试过,让时间来验证吧。  详情 回复 发表于 2019-12-3 21:11
回复

使用道具 举报

2655#
发表于 2019-12-3 21:11:03 | 只看该作者
slore 发表于 2019-12-3 20:53
老版本可能没事,新版本需要,至少v1809之后的内核应该是不可以不要的,你可以试试。另外这个驱动删除了 ...

MTPHelper.dll 也是第3方的,最新版本我都没有测试过,让时间来验证吧。
回复

使用道具 举报

2656#
发表于 2019-12-4 10:39:43 | 只看该作者
用11.11版本,lite模板,1909操作系统

目的是想做到最精简,但发现做出来的体积仍然庞大(160MB+),仔细观察发现自带的声卡、网卡驱动都没删除,只是删除了相应服务而已,甚至在hyper-v里测试都能自动装好显卡驱动,看到catroot里面hyper-v相关文件也没删除;另外,设置时间功能不可用,用的是wxeshell

点评

lite是explorer和wow64都还选了吧?不是最小。 精简和驱动主要花费时间,没有太多技术调查需要,我这里这是一个参考,如何精简系统文件,如何精简驱动,如何精简catalog,都有代码。 HyperV的删除了才对。安全精  详情 回复 发表于 2019-12-4 11:09
回复

使用道具 举报

2657#
 楼主| 发表于 2019-12-4 11:09:40 | 只看该作者
本帖最后由 slore 于 2019-12-4 11:13 编辑
指南针 发表于 2019-12-4 10:39
用11.11版本,lite模板,1909操作系统

目的是想做到最精简,但发现做出来的体积仍然庞大(160MB+),仔 ...

lite是explorer和wow64都还选了吧?不是最小。
精简和驱动主要花费时间,没有太多技术调查需要,我这里这是一个参考,如何精简系统文件,如何精简驱动,如何精简catalog,都有代码。如果你有时间,可以给大家分享精简的方案。

HyperV的删除了才对。安全精简,精简仅维护的选项都选择了麽?
极限精简的话,设置时间没必要啊,PE要改时间干嘛。而且留date. exe,time. exe命令行就好了吧,想要GUI的话,WinXShell倒是几KB就可以做一个UI挂件。

点评

感谢提供这么好的工具。 补充:用的32位ISO做的32位PE,外壳shell是winxshell,强力精简没敢勾选。 精简的问题且不谈了,这个个人花时间去折腾就行。、 说到设置时间,确实是希望winxshell直接去做到这个功  详情 回复 发表于 2019-12-4 11:29
回复

使用道具 举报

2658#
发表于 2019-12-4 11:29:46 | 只看该作者
slore 发表于 2019-12-4 11:09
lite是explorer和wow64都还选了吧?不是最小。
精简和驱动主要花费时间,没有太多技术调查需要,我这里 ...

感谢提供这么好的工具。

补充:用的32位ISO做的32位PE,外壳shell是winxshell,强力精简没敢勾选。

精简的问题且不谈了,这个个人花时间去折腾就行。、

说到设置时间,确实是希望winxshell直接去做到这个功能而不是只做UI,这样就无需date或time命令了。

顺便说一下,为啥任务管理器是win7的版本?而且还是英文?我记得楼主以前发布过自己做的任务管理器,仿的win10,为何不适配进本工具呢?

点评

组件,任务管理器,可以用系统相当的。目前这个是winre.wim系统自带的任务管理器,没有资源化,但是速度快,够用。真要好点的自己可以集成pro experience. exe  详情 回复 发表于 2019-12-4 12:01
回复

使用道具 举报

2659#
 楼主| 发表于 2019-12-4 12:01:24 | 只看该作者
本帖最后由 slore 于 2019-12-4 12:09 编辑
指南针 发表于 2019-12-4 11:29
感谢提供这么好的工具。

补充:用的32位ISO做的32位PE,外壳shell是winxshell,强力精简没敢勾选。

反正可以反复做,你可以试试强力精简,这个已经补充了些,Admin功能都是可以勾选的(双11版不知道行不行,双12版是可以的)。

精简(仅维护)就删除的多了。。。你主要你要用的程序是否都正常,这个就是反复删除测试,保留。。。
投入时间就行了。win10之后,没必要扣那几十MB,加载速度已经不是问题了。

组件,任务管理器,可以用系统相当的。目前这个是winre.wim系统自带的任务管理器,没有资源化,但是速度快,够用。真要好点的自己可以集成process explorer。


设置时间,其实考虑过,在日历下面点开可以设置,双击调用系统的cpl就行,所以没专门花时间去添加。我觉得这个功能用处不大,代替命令,程序很多,自己就懒的加了。有时间了再说吧(虽然花不了多少时间,WinXShell工程目前很少去动了)。

点评

楼主,如何去除进入桌面之前左上角的个性化窗口?论坛里说是删除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup 里的部分注册表,但我不知道具体要删除哪里  详情 回复 发表于 2019-12-4 16:48
回复

使用道具 举报

2660#
发表于 2019-12-4 16:48:44 来自手机 | 只看该作者
slore 发表于 2019-12-4 12:01
反正可以反复做,你可以试试强力精简,这个已经补充了些,Admin功能都是可以勾选的(双11版不知道行不行 ...

楼主,如何去除进入桌面之前左上角的个性化窗口?论坛里说是删除
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup 里的部分注册表,但我不知道具体要删除哪里

点评

启用个性化设置并去掉个性化设置窗口: 用Resource Hacker删除 System32\zh-CN\shell32.dll.mui //对话框#13120  详情 回复 发表于 2019-12-7 20:32
回复

使用道具 举报

2661#
发表于 2019-12-4 19:35:41 | 只看该作者
谢谢分享
回复

使用道具 举报

2662#
发表于 2019-12-5 10:09:06 | 只看该作者
AddDrivers这个宏命令是不是有问题?
工程中现有的:call AddDrivers winusb.inf

winusb的驱动注册表添加了,但是驱动文件没有添加?最终生成的wim里inf目录drivers目录下都没有winusb驱动文件
call AddDrivers "wpd*.inf,wudf*.inf" FILE
这条命令文件是有的

点评

可以echo on看过程。 就是按这个名字从driverstore等位置提取文件。 lib\macros下面是宏脚本,都是批处理。 我回头确认下。  详情 回复 发表于 2019-12-5 10:18
回复

使用道具 举报

2663#
发表于 2019-12-5 10:17:17 | 只看该作者
在win7系统制作了一个win10的.  进去后驱动不加载, penetwork设置不了网,分辨率设置不了, 勾选了集成驱动

点评

集成驱动也只是部分,不是全部。你正常系统下看下网卡驱动加载的名字, 再到PE下看看是不是DriverStore中没有。 设备管理器,没有 基本显示器驱动? 最好给个截图。  详情 回复 发表于 2019-12-5 21:58
回复

使用道具 举报

2664#
 楼主| 发表于 2019-12-5 10:18:25 | 只看该作者
星体投射 发表于 2019-12-5 10:09
AddDrivers这个宏命令是不是有问题?
工程中现有的:call AddDrivers winusb.inf

可以echo on看过程。

就是按这个名字从driverstore等位置提取文件。
lib\macros下面是宏脚本,都是批处理。

我回头确认下。

点评

AddDrivers.cmd这样改比较合理 [attachimg]406570[/attachimg]  详情 回复 发表于 2019-12-8 15:43
未设置,应该文件继续的。。。我试试,估计是BUG。  发表于 2019-12-5 14:30
已查明,是Drivers注册表选择”未设置“引起的  发表于 2019-12-5 14:11
回复

使用道具 举报

2665#
发表于 2019-12-5 18:58:30 | 只看该作者
麻烦查一下,扫描仪装上了但不能用,而同样的方法在win8/8.1中一次性成功。是不是与打印机一样的情况,要加一个注册表值?

点评

扫描这块好像从win7到win10文件与注册表几乎没多少变化。全加上是指加什么?  详情 回复 发表于 2019-12-5 19:05
没设备。。。如果是注册表的话,全加上试了麽?  发表于 2019-12-5 18:59
回复

使用道具 举报

2666#
发表于 2019-12-5 19:05:59 | 只看该作者
本帖最后由 hhh333 于 2019-12-5 19:18 编辑
hhh333 发表于 2019-12-5 18:58
麻烦查一下,扫描仪装上了但不能用,而同样的方法在win8/8.1中一次性成功。是不是与打印机一样的情况,要加 ...

扫描这块好像从win7到win10文件与注册表几乎没多少变化。全加上是指加什么?是把正常系统中的那个位置的值都恢复?

点评

没太明白  详情 回复 发表于 2019-12-5 20:03
通知消息补的哪里的信息。不是扫描自己依赖的注册表。  发表于 2019-12-5 19:28
回复

使用道具 举报

2667#
发表于 2019-12-5 20:03:50 | 只看该作者
hhh333 发表于 2019-12-5 19:05
扫描这块好像从win7到win10文件与注册表几乎没多少变化。全加上是指加什么?是把正常系统中的那个位置的 ...

没太明白

点评

额外添加的那个注册表的项目,全部导入,而不是一条。 另外依赖的dll中,查询是否有MiniNT,SeupInProgess字符。 要跟踪就是完整系统和PE去调试哪里运行的不一样。  详情 回复 发表于 2019-12-5 20:13
回复

使用道具 举报

2668#
 楼主| 发表于 2019-12-5 20:13:33 | 只看该作者

额外添加的那个注册表的项目,全部导入,而不是一条。
另外依赖的dll中,查询是否有MiniNT,SeupInProgess字符。
要跟踪就是完整系统和PE去调试哪里运行的不一样。

点评

已经弄好了,CLASS中差一个重要的键值。  详情 回复 发表于 2019-12-6 00:09
回复

使用道具 举报

2669#
发表于 2019-12-5 21:43:15 来自手机 | 只看该作者
我制作的pe蓝屏,就没成功过!求指点!

点评

默认选项,先构建。不要选择那些你不清楚会有什么影响的选项和精简项目。 功能组件,随便选。 另外,不要光说蓝屏,告知用的什么版本,具体啥蓝屏错误,选项等信息。 再进一步的话,采用【构建(日志)】按钮  详情 回复 发表于 2019-12-5 21:56
回复

使用道具 举报

2670#
 楼主| 发表于 2019-12-5 21:56:14 | 只看该作者
我爱太阳雨 发表于 2019-12-5 21:43
我制作的pe蓝屏,就没成功过!求指点!

默认选项,先构建。不要选择那些你不清楚会有什么影响的选项和精简项目。

功能组件,随便选。

另外,不要光说蓝屏,告知用的什么版本,具体啥蓝屏错误,选项等信息。

再进一步的话,采用【构建(日志)】按钮构建,构建完毕后,
然后【打开日志文件夹】,上次 last_wimbuilder.log 附件。

===========================
你是不是自己勾选了,复制SYSTEM注册表?
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 03:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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