无忧启动论坛

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

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

    [复制链接]
发表于 2019-5-22 08:53:40 | 显示全部楼层
slore 发表于 2019-5-21 22:50
还有很多需要研究调查的功能,不过noel要进行半年的骑行旅游,最后RS5的ISO分享出来了。

利用ADK的winpe ...

已下载

点评

青蛙好,好久不见了?回娘家了吗?青蛙?  详情 回复 发表于 2019-5-22 12:35
回复

使用道具 举报

发表于 2019-5-22 12:35:24 来自手机 | 显示全部楼层
我是小青蛙 发表于 2019-5-22 08:53
已下载

青蛙好,好久不见了?回娘家了吗?青蛙?
回复

使用道具 举报

发表于 2019-5-22 14:27:19 | 显示全部楼层
狼人72105 发表于 2019-5-22 12:35
青蛙好,好久不见了?回娘家了吗?青蛙?

回复

使用道具 举报

发表于 2019-5-22 16:01:43 | 显示全部楼层
slore 发表于 2019-5-21 22:50
还有很多需要研究调查的功能,不过noel要进行半年的骑行旅游,最后RS5的ISO分享出来了。

利用ADK的winpe ...

编辑过却没有导出,wim里面有30多兆无用文件,导出后体积减少7兆

点评

不是说可删除文件,而是编辑过后,没有导出导致删除的文件还在,体积没有缩小  发表于 2019-5-22 18:26
200多MB。还有,syswow64也能精简。  发表于 2019-5-22 17:32
.net和winsxs可以减少20多0MB  发表于 2019-5-22 17:31
回复

使用道具 举报

发表于 2019-5-22 22:09:57 | 显示全部楼层
原生弹出需要:
服务 dsmsvc (Device Setup Manager)
文件 DeviceSetupManager*.dll
设备和打印机显示图标需要 DDOres.dll

点评

win10已经可以了 同样的方法移植到win8pe中,dsmsvc服务怎么都启动不起来,郁闷了,win8pe中dsmsvc依赖的http服务已经启动起来了还是不行。切此服务在win8pe中不能停止再启用,压根就停止不了。  详情 回复 发表于 2019-5-25 18:32
添加服务的相关注册表信息后,PE进入后服务是正常运行的。文件也添加了,还是无法实现USB弹出功能。  发表于 2019-5-23 14:18
我测试了两项你说的,dsmsvc正常启动了,但是还不行。  发表于 2019-5-22 22:50
666,威武  详情 回复 发表于 2019-5-22 22:12
dsmsvc启动需要setupprogress是0  发表于 2019-5-22 22:12
回复

使用道具 举报

发表于 2019-5-22 22:12:47 来自手机 | 显示全部楼层
yamingw 发表于 2019-5-22 22:09
原生弹出需要:
服务 dsmsvc (Device Setup Manager)
文件 DeviceSetupManager*.dll

666,威武

点评

我测试了,两项在我这都不行,,,,蛋疼  详情 回复 发表于 2019-5-22 22:48
回复

使用道具 举报

 楼主| 发表于 2019-5-22 22:30:46 | 显示全部楼层
本帖最后由 slore 于 2019-5-22 22:34 编辑


对于UTF8的我理解了。

如果是非标准install.wim,提取其中中文名的文件,确实需要UTF8化。

至于你说的UNICODE特殊字符,我觉得是你准备文件列表时需要注意。
call AddByFileList mylist.txt

mylist.txt你应该用dir /b /s 获取,手动编辑, 建议用高级点文本编辑器,
然后利用正则宏,自己处理文本,比如替换掉UNICODE, X:\替换掉.并保存为UTF8格式.

不应该是wimbuilder2来处理.
原因有2点,批处理中unicode存在字符,main.bat本身会出错.
UTF8格式存在unicode的话,wimlib也当成名字的一部分,不会正确提取.

你这个需求不是简单编码问题,而且对不规范字符的过滤处理.


空格的话,两边的可以去掉,中间如果存在空格,不知道wimlib是不是需要加引号.
如果是,程序可以处理.

AddFiles.vbs 判断if InStr(line, " ") > 1 then 保存时多加2个引号就行了.

不过我所知wimlib是支持空格路径的,比如
\Program Files\Internet Explorer\
可以正常提取.我不明白"空格"为什么需要处理.

还是说你说的"空格"是看不见的UNICODE?
回复

使用道具 举报

发表于 2019-5-22 22:31:58 | 显示全部楼层
没实机测试
虚拟机测试
win10和xp都蓝屏
Ubuntu加载过程中死机

其实wim文件798mb
里面有编辑过的文件没导出导致实际体积805mb
win10.PNG
xp.PNG
Ubuntu.PNG
捕获1.PNG
捕获2.PNG

点评

我用VitrualBox一直可以启动, 主要用于研究功能与系统文件的依赖关系, 启动我不熟悉。  发表于 2019-5-22 22:36
回复

使用道具 举报

发表于 2019-5-22 22:48:43 | 显示全部楼层

我测试了,两项在我这都不行,,,,蛋疼
回复

使用道具 举报

发表于 2019-5-22 22:58:46 | 显示全部楼层
启动过程中报错没看清窗口就关闭了
10和linux 报错在同一个位置
我这应该没加载完成吧
捕获3.PNG

点评

你这个是完成了.如果你需要切换管理员账户,用tsdiscon.  发表于 2019-5-22 23:10
回复

使用道具 举报

发表于 2019-5-23 10:43:27 来自手机 | 显示全部楼层
大佬齐聚一堂,各献才能,往更加完善,虽然我听不懂,但是窃取成果,我还是会的。。。
回复

使用道具 举报

发表于 2019-5-23 15:48:25 | 显示全部楼层
原生弹出需要:
服务 dsmsvc (Device Setup Manager)
文件 DeviceSetupManager*.dll
设备和打印机显示图标需要 DDOres.dll
----------------------------------------------
初始化PE之后更改注册表SystemSetupInProgress值为0,接着禁用dsmsvc服务,再开启dsmsvc服务,正常了。
回复

使用道具 举报

发表于 2019-5-23 17:22:58 | 显示全部楼层
我修改了一下800MB原版,注册表键盘改为英文,删了几个无用的文件,USB弹出就不正常了。
再把文件加上也不正常。所以说能不能用,还得靠运气。

点评

改成0重启服务有时候需要2分钟。。。服务才完成。原因不明。  发表于 2019-5-23 20:36
回复

使用道具 举报

发表于 2019-5-23 22:13:59 | 显示全部楼层
算了。usb弹出,就到资源管理器里的盘符右键弹出吧

点评

几百KB的第3方比自带好用多了. 主要研究用而已.  发表于 2019-5-23 22:46
回复

使用道具 举报

发表于 2019-5-23 22:52:17 | 显示全部楼层
果然是时间,可能是Profile(grpsvc?)的一些操作没有完成。

点评

提前呢? 我是这样操作的,每次都可以。 winpeshl.exe初始化完之后改注册表值为0,再重启服务。 之后注册表一直是0不恢复。  详情 回复 发表于 2019-5-23 23:00
回复

使用道具 举报

发表于 2019-5-23 23:00:31 来自手机 | 显示全部楼层
本帖最后由 红毛樱木 于 2019-5-23 23:54 编辑
yamingw 发表于 2019-5-23 22:52
果然是时间,可能是Profile(grpsvc?)的一些操作没有完成。


提前呢?
我是这样操作的,每次都可以。
winpeshl.exe初始化完之后改注册表值为0,再重启服务。
之后注册表一直是0不恢复。
之后发现蓝牙也能驱动上

回复

使用道具 举报

发表于 2019-5-24 16:33:40 | 显示全部楼层
楼主,我用1809的install包制作。完成后启动bitlocker和网卡驱动都没被加载,这一般是啥原因啊

点评

驱动只有系统自带的,第三方需要自己放。  发表于 2019-5-24 16:54
组件是否选择bitlocker,看看,bdeunlock.exe文件是否存在。  发表于 2019-5-24 16:54
回复

使用道具 举报

发表于 2019-5-24 17:57:05 | 显示全部楼层
gen_x 发表于 2019-5-24 16:33
楼主,我用1809的install包制作。完成后启动bitlocker和网卡驱动都没被加载,这一般是啥原因啊

系统自带的是支持我的网卡型号的
有勾选,存在该模块文件

点评

运行(日志)模式,执行一遍,点下面的 打开日志路径,把last_wimbuilder.log发上来看看(内容长,发附件)。  发表于 2019-5-24 18:47
回复

使用道具 举报

发表于 2019-5-25 11:45:09 | 显示全部楼层
本帖最后由 红毛樱木 于 2019-5-25 12:23 编辑

新建位图图像.png


蓝牙服务的什么都正常,任务栏不出蓝牙图标,也不能搜索,不知道还缺什么协议。

__
看了正常系统里的控制面板也没有蓝牙面板了,应该是转APP了

点评

楼主的最新制作工具对付1903时发现,本工具使用的是winre.wim的windows\system\config\system、DRIVERS,winre.wim与install.wim里面的同名注册表在服务与驱动上还是缺失蛮多的。好像立邦电子的是用install.wim里面  详情 回复 发表于 2019-5-25 12:11
回复

使用道具 举报

发表于 2019-5-25 12:11:02 | 显示全部楼层
红毛樱木 发表于 2019-5-25 11:45
蓝牙服务的什么都正常,任务栏不出蓝牙图标,也不能搜索,不知道还缺什么协议。

楼主的最新制作工具对付1903时发现,本工具使用的是winre.wim的windows\system\config\system、DRIVERS,winre.wim与install.wim里面的同名注册表在服务与驱动上还是缺失蛮多的。好像立邦电子的是用install.wim里面的system、DRIVERS注册表,感觉立邦电子工具制作的PE在无线、蓝牙等方面的支持就完善多了。

点评

本工程旨在给wimbuilder2的使用提供一个相对完善的例子。 wimbuilder2本身,扩展性非常强,简单的批处理自己随意改。 会powershell的也可以直接拿来。 此工程的网络支持是直接搬运老外的dll和注册表,我没进  详情 回复 发表于 2019-5-25 13:29
把SYSTEM放到工程目录将自动替换。 不过不能修改了。 我在配置页面加一个选项吧。 自己这2天想用的话, prepare.bat  详情 回复 发表于 2019-5-25 13:00
explorer组建里有个使用install.wim中的system注册表选项  详情 回复 发表于 2019-5-25 12:17
回复

使用道具 举报

发表于 2019-5-25 12:17:03 | 显示全部楼层
chiannet 发表于 2019-5-25 12:11
楼主的最新制作工具对付1903时发现,本工具使用的是winre.wim的windows\system\config\system、DRIVERS, ...

explorer组建里有个使用install.wim中的system注册表选项

点评

[attachimg]393976[/attachimg]  详情 回复 发表于 2019-5-25 12:43
回复

使用道具 举报

发表于 2019-5-25 12:43:32 | 显示全部楼层
红毛樱木 发表于 2019-5-25 12:17
explorer组建里有个使用install.wim中的system注册表选项

捕获.PNG

点评

不好意思 我以为你说的是winbuilder  详情 回复 发表于 2019-5-25 18:26
回复

使用道具 举报

 楼主| 发表于 2019-5-25 13:00:33 | 显示全部楼层
本帖最后由 slore 于 2019-5-25 13:05 编辑
chiannet 发表于 2019-5-25 12:11
楼主的最新制作工具对付1903时发现,本工具使用的是winre.wim的windows\system\config\system、DRIVERS, ...


把SYSTEM放到工程目录WIN10XPE下,将自动替换。
不过因为是最后完全替换,不能修改了。

我在配置页面加一个选项吧。


自己这2天想用的话,
WIN10XPE\prepare.bat第35行添加:

  1. call AddFiles \Windows\System32\config\SYSTEM
复制代码

点评

Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\ Windows\System32\DriverStore\FileRepository\ Windows\System32\drivers\ Windows\INF\ Windows\WinSxS\ 会因system、drivers不同自动  详情 回复 发表于 2019-5-25 15:54
回复

使用道具 举报

 楼主| 发表于 2019-5-25 13:29:02 | 显示全部楼层
chiannet 发表于 2019-5-25 12:11
楼主的最新制作工具对付1903时发现,本工具使用的是winre.wim的windows\system\config\system、DRIVERS, ...

本工程旨在给wimbuilder2的使用提供一个相对完善的例子。

wimbuilder2本身,扩展性非常强,简单的批处理自己随意改。
会powershell的也可以直接拿来。

此工程的网络支持是直接搬运老外的dll和注册表,我没进行任何完善或者精简,
因为使用的人比较多,都正常。我个人的USB无线WIFI直接能用,本地有线网卡也都能识别到,
就不特别处理了。

drivers_services.png

加驱动,加服务都是一句话的事,关键是什么组件,依赖什么服务才是必要的,那些文件,注册表,致力于最小需要。

如果为了总功能完善,堆个1.5~2GB的PE就是了。
回复

使用道具 举报

发表于 2019-5-25 15:54:02 | 显示全部楼层
slore 发表于 2019-5-25 13:00
把SYSTEM放到工程目录WIN10XPE下,将自动替换。
不过因为是最后完全替换,不能修改了。

Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\
Windows\System32\DriverStore\FileRepository\
Windows\System32\drivers\
Windows\INF\
Windows\WinSxS\

会因system、drivers不同自动配置?我弄一下试试。

点评

是固定的。仅根据是否支持WOW64多加x86的文件。 如果需要补充,添加类似下面的文件名到AddFiles的文件列表块即可: 支持环境变量,支持*通配符。 使用call AddDrivers宏命令会自动补充。 自  详情 回复 发表于 2019-5-25 16:26
回复

使用道具 举报

 楼主| 发表于 2019-5-25 16:26:46 | 显示全部楼层

Windows\WinSxS\


是固定的。仅根据是否支持WOW64多加x86的文件。

如果需要补充,添加类似下面的文件名到AddFiles的文件列表块即可:
  1. \Windows\WinSxS\%SxSArch%_microsoft.windows.c..-controls.resources_*_%Language%*\*.*
  2. \Windows\WinSxS\%SxSArch%_microsoft.windows.common-controls*\*.*
  3. \Windows\WinSxS\%SxSArch%_microsoft.windows.gdiplus.systemcopy_*\*.*
复制代码


支持环境变量,支持*通配符。

Windows\INF\
Windows\System32\drivers\
Windows\System32\DriverStore\FileRepository\


使用call AddDrivers宏命令会自动补充。

Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\

自己根据功能补充到AddFiles块中即可。

例如:
  1. +if "x%opt[support.photo]%"="xtrue"
  2. Microsoft-Windows-PhotoBasic-Feature-Package~*.cat
  3. +ver >= 17763
  4. Microsoft-Windows-PhotoBasic-PictureTools-Package~*.cat
  5. +ver*
  6. -if

  7. +if "x%opt[component.search]%"="xtrue"
  8. Microsoft-Windows-SearchEngine-Client-Package~*.cat
  9. +ver >= 17763
  10. WindowsSearchEngineSKU-Group-Package~*.cat
  11. +ver*
  12. -if

  13. +if "x%opt[component.mstsc]%"="xtrue"
  14. +ver < 17763
  15. Microsoft-Windows-RemoteDesktop-*.cat
  16. +ver >= 17763
  17. Microsoft-Windows-TerminalServices-CommandLineTools-Package~*.cat
  18. +ver*
  19. -if

  20. +if "x%opt[component.MTP]%"="xtrue"
  21. Microsoft-Windows-WPD-UltimatePortableDeviceFeature-Feature-Package~*.cat
  22. -if
复制代码


现在统一写在Catalog.bat中。我马上就把它们分离到对应的组件的main.bat中,
省得判断if选项了,只用考虑版本就行了。

点评

好的,坐等S大工具升级  详情 回复 发表于 2019-5-25 16:55
回复

使用道具 举报

发表于 2019-5-25 16:55:32 | 显示全部楼层
slore 发表于 2019-5-25 16:26
是固定的。仅根据是否支持WOW64多加x86的文件。

如果需要补充,添加类似下面的文件名到AddFiles ...

好的,坐等S大工具升级
回复

使用道具 举报

发表于 2019-5-25 18:26:30 | 显示全部楼层

不好意思  我以为你说的是winbuilder
回复

使用道具 举报

发表于 2019-5-25 18:32:30 | 显示全部楼层
本帖最后由 红毛樱木 于 2019-5-25 18:34 编辑
yamingw 发表于 2019-5-22 22:09
原生弹出需要:
服务 dsmsvc (Device Setup Manager)
文件 DeviceSetupManager*.dll


win10已经可以了

同样的方法移植到win8pe中,dsmsvc服务怎么都启动不起来,郁闷了,win8pe中dsmsvc依赖的http服务已经启动起来了还是不行。继续研究
回复

使用道具 举报

发表于 2019-5-25 19:09:52 | 显示全部楼层
楼主 还是我 我想在一个现有的wim里面添加bitlocker组件,原贴地址:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=410579
我是直接选了对应版本的install.wim然后直接在工具勾选了bitlocker然后把bitlocker的bat内容接到main下面去了。有看到正常的把组件加了进去,但是就是启动失败了
微信图片_20190525190935.png

点评

不行的话,给我说下版本信息,我回头下载了试试。  发表于 2019-5-25 20:14
所有钩都去掉,然后,【组件】页面仅保留bitlocker,再选择【Windows附件】,但是 画板什么的都不要选,试试。  发表于 2019-5-25 20:13
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 02:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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