无忧启动论坛

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

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

    [复制链接]
发表于 2019-3-15 11:20:09 | 显示全部楼层
一些小修改:
18855、18356测试通过,之前版本有一些问题
1、管理员模式
PecmdAdmin.ini
注释掉
//REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18\ProfileImagePath=X:\Users\Administrator
18855会报错,并且此句好像用处不大
SwitchToAdmin.bat
wuceffects.dll
2、输入法,原始输入法微软已改成MetroApp,PE不可用
Ime_Common.bat
在 +ver > 18300 之后加入
Language*.dll
Windows.UI.Core.TextInput.dll
3、一些精简
last.bat
;edgehtml.dll是浏览器脚本组件,对IE好像无用
    del /q "%X_SYS%\edgehtml.dll
;为什么会有一个14MB的imageres.dll?
if %VER[3]% GTR 18300 (
    del /q "%X_WOW64%\imageres.dll
)
IE使用的是SysWow64下的32位Flash.ocx,64位的用处不大
文件Projects\WIN10XPE\02-Apps\Browsers\IE
main.bat
在@windows\system32\之后删除
Macromed\Flash\activex.vch
Macromed\Flash\Flash.ocx

4、无线网络:
将服务WlanSvc注册表键值DependOnService中的WcmSvc删掉

点评

补充wuceffects.dll确实,19H1,20H1可以切换Admin了。 这句的目的是设置用户主目录。 19H1有这句OK,但是会在X:%users\下生成2个目录。 Administrator下面是Cache, Administrator.WINXPE带计算机  详情 回复 发表于 2019-3-15 23:43
谢谢 yamingw 完善。 关于新版本的双登录,foxfirefox的PE利用Console LogonUI.exe,控制台版本,秒切Admin,打算添加一个快速切换的选项,目前还没整理文件和注册表清单,周末抽时间看看更新一版。 新版本结  详情 回复 发表于 2019-3-15 12:28

评分

参与人数 1无忧币 +5 收起 理由
slore + 5 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2019-3-15 12:28:30 | 显示全部楼层
本帖最后由 slore 于 2019-3-15 12:30 编辑
yamingw 发表于 2019-3-15 11:20
一些小修改:
18855、18356测试通过,之前版本有一些问题
1、管理员模式


谢谢 yamingw 完善。

感谢告知输入法候选框变成了MetroApp,看来要补一个小巧的3方输入法。


关于新版本的双登录,foxfirefox的PE利用Console LogonUI.exe,控制台版本,秒切Admin,打算添加一个快速切换的选项,目前还没整理文件和注册表清单,周末抽时间看看更新一版。
新版本结构会进行下调整,没有设定(将来也不需要)的组件简化到 组件 页面。

imageres.dll的话,19H1,20H1需要,不然图标不正常,不过我不知道
WOW64有哪个程序会使用这个图标,如果没有的话,删除也行。
回复

使用道具 举报

发表于 2019-3-15 13:21:43 来自手机 | 显示全部楼层
建议用小小输入法,支持拼音,五笔,笔画(类似于搜狗的u)
回复

使用道具 举报

 楼主| 发表于 2019-3-15 23:43:01 | 显示全部楼层
本帖最后由 slore 于 2019-3-16 00:02 编辑
yamingw 发表于 2019-3-15 11:20
一些小修改:
18855、18356测试通过,之前版本有一些问题
1、管理员模式


补充wuceffects.dll确实,19H1,20H1可以切换Admin了。

+ver > 17700
Windows.UI.Xaml.Controls.dll,Windows.ApplicationModel.dll
+ver > 18300
wuceffects.dll
+ver*


PecmdAdmin.ini
注释掉
//REGI HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18\ProfileImagePath=X:\Users\Administrator
18855会报错,并且此句好像用处不大


这句的目的是设置用户主目录

19H1有这句OK,但是会在X:\Users\下生成2个目录。
Administrator下面是Cache,
Administrator.WINXPE带计算机名,才是主目录。。。

cmd=>set可以看到。


20H1有这句,我这里也构建成功,没有错误。
18855会报错具体是指什么?

虽然有这句,但是X:\Users目录下没有Administrator的用户目录做成,同时NTUSER.DAT注册表文件也没有,
导致 字体 很难看,开始菜单丢失 收藏夹 资源, 桌面打开“命令提示符窗口” 提示找不到路径(你说的是这个错误?)。

cmd=>set环境变量信息USERNAME依然是SYSTEM,用户主目录也是X:\Users\Default。

你构建的PE,字体,环境变量没有问题么?
(方便的话Projects目录打个包发给我对比下。)


2、输入法,原始输入法微软已改成MetroApp,PE不可用

IME界面添加选项,把输入法指示器和内建输入法分开吧。

内建的只是不能出候选框,组词方式字还是可以输入的。。。

目前20H1需要使用完整SOFTWARE,输入法指示器才有效,19H1不需要完整SOFTWARE。
不开Admin的话,没输入法了。我看周末能不能找到缺失的注册表项目。

另外我测试,不加Language基本的输入,切换好像都没问题。
可否告知没有Language*是否有已知问题,还是为了保持稳定性添加的。

;Language*.dll
Windows.UI.Core.TextInput.dll

;为什么会有一个14MB的imageres.dll?

启用Admin支持的话,不用完整注册表会图标显示不正常。
(SYSTEM用3kb的没有问题)

SwitchToAdmin.bat
  1. +mui
  2. ;need install.wim's imageres.dll
  3. imageres.dll
复制代码

IE使用的是SysWow64下的32位Flash.ocx,64位的用处不大

开了32位程序支持的话,可以删除。要是纯64位的话,我的测试下,有没有影响。

点评

18855会报错具体是指切换管理员20H1会提示桌面找不到,然后自己生成默认桌面,只有回收站和我的电脑图标。 64位IE最终使用的32位IE,只有纯64位第三方且以IE为基础的浏览器才使用64位的Flash。 19h1的imageres只有  详情 回复 发表于 2019-3-16 10:29
回复

使用道具 举报

发表于 2019-3-16 10:29:00 | 显示全部楼层
slore 发表于 2019-3-15 23:43
补充wuceffects.dll确实,19H1,20H1可以切换Admin了。

18855会报错具体是指切换管理员20H1会提示桌面找不到,然后自己生成默认桌面,只有回收站和我的电脑图标。
64位IE最终使用的32位IE,只有纯64位第三方且以IE为基础的浏览器才使用64位的Flash。
19h1的imageres只有3k,我的系统Syswow64里有个14M的imageres,不知为什么会被Wimbuilder拷到pe中。
缺少Language*.dll和Windows.UI.Core.TextInput.dll在我制作的PE里不能使用搜狗输入法
用的是最新的Wimbuilder,uup下载的iso

点评

那就是一样的,主目录没有做出,注册表NTUSER.DAT没有,Desktop没有。。。 没有那句的话,就指向Default了,和SYSTEM帐户共用一个桌面。 wow64支持,WIN10XPE会从SYSTEM32复制imageres.dll所以就有个14MB的了。  详情 回复 发表于 2019-3-16 11:51
回复

使用道具 举报

 楼主| 发表于 2019-3-16 11:51:47 | 显示全部楼层
本帖最后由 slore 于 2019-3-16 12:30 编辑
yamingw 发表于 2019-3-16 10:29
18855会报错具体是指切换管理员20H1会提示桌面找不到,然后自己生成默认桌面,只有回收站和我的电脑图标 ...


那就是和我构建的一样,主目录没有做出,注册表NTUSER.DAT没有,Desktop没有。。。
没有那句的话,就指向Default了,和SYSTEM帐户共用一个桌面。

wow64支持,WIN10XPE会从SYSTEM32复制imageres.dll所以就有个14MB的了。
19H1引入了mun文件,应该就不用复制了。我回头删除掉。


另外,20H1  API函数都多了5个NOP,导致通用drvinstPatch失败了。
回复

使用道具 举报

发表于 2019-3-18 12:27:13 | 显示全部楼层
今天试了下生成了个1903还是可以的,我一开始用winre生成出来的不成功后来换成boot.wim的映像2生成出来的就可以。
QQ截图20190318122433.png
回复

使用道具 举报

发表于 2019-3-18 13:31:39 来自手机 | 显示全部楼层
发过来看看。。青蛙
回复

使用道具 举报

 楼主| 发表于 2019-3-19 00:54:39 | 显示全部楼层
本帖最后由 slore 于 2019-3-20 23:58 编辑

v2019.03.19 更新(含PECMD,StartIsBack,WinXShell,PENetwork):

* [新增]VC++运行库(x64+WOW64支持可运行Office2007)
* [新增]补丁树右键添加"打开文件夹"菜单
* 19H1,20H1 Administrator帐户登录完善(yamingw)
* IE 提供仅x64位选项(优化WIM体积),主页设定
* IME输入法语言栏与内建输入法分离
* 测试极点五笔,小小输入法,搜狗输入法等3方输入法可直接安装。
(安装exe都是x86版本,暂时需要WOW64支持,所以独立功能包未制作)
* 添加WinXShell RC4.0 - 任务栏设置界面,分辨率设置,任务栏日历(单击),时间和日期设置(双击)
* 细节更新(根据yamingw的反馈)
* 整体功能结构优化
* 添加版本信息
* 输出构建花费时间
* 添加预设定义文件(WIN10XPE\_Assets_\preset),可设置不同功能选项组合的默认设置
  复制default.js为custom.js自行修改
  未来版本,界面提供预设清单选项

WimBuilder2.part1.rar (2.93 MB, 下载次数: 270)
回复

使用道具 举报

 楼主| 发表于 2019-3-19 07:44:27 | 显示全部楼层
本帖最后由 slore 于 2019-3-19 08:28 编辑


压缩是懒得论坛要求后缀就没管,回头试试你的方法。

缺少新的依赖系统文件,与选择配置无关。

18836 浏览 还可以用,最新版18855就不行了(已经找到原因)。
没下载那么多版本,19h1'20h1
你下载你能下到的最新版就是了,中途版本没啥用。
我测试的是18855。

制作系统无关,相同ISO只要能制作,做出来的都一样。
回复

使用道具 举报

发表于 2019-3-19 09:57:50 | 显示全部楼层
试用报告:
试用18855.1000的X64制作未出现不能启动进入PE的情况。
QQ截图20190319094741.jpg
图中的CMD窗口是否应该统一使用样式2的较好。
还有StartIsBack冲突,加载显卡基本驱动后任务栏出现问题。已经试用StartIsBack2.8.2
第三方输入加载正常

点评

运行,浏览按钮不能用。任务栏右键设置,日历可用 [attachimg]389570[/attachimg]  详情 回复 发表于 2019-3-19 11:59
桌面快捷方式是按WIN10XPE的英文版pecmd.ini创建的,所以是英文,回头看看。用了startisback可以删除了感觉。  发表于 2019-3-19 11:51
运行,浏览按钮不能用吧。任务栏右键设置,日历是否可用?  发表于 2019-3-19 11:49
回复

使用道具 举报

发表于 2019-3-19 11:59:42 | 显示全部楼层
泰立信 发表于 2019-3-19 09:57
试用报告:
试用18855.1000的X64制作未出现不能启动进入PE的情况。

运行,浏览按钮不能用。任务栏右键设置,日历可用
QQ图片20190319115818.png
回复

使用道具 举报

发表于 2019-3-20 22:19:22 来自手机 | 显示全部楼层
请问怎么做一个支持bitlocker的pe呢?

点评

所有的PE功能就是补充文件和改注册表。你看bitlocker\main.bat  发表于 2019-3-20 22:29
选择组件,bitlocker。我没试过这个功能。  发表于 2019-3-20 22:28
回复

使用道具 举报

 楼主| 发表于 2019-3-21 00:04:27 | 显示全部楼层
解决了 浏览 不可用的问题。添加了VC++运行库。
回复

使用道具 举报

发表于 2019-3-21 02:37:42 | 显示全部楼层
半夜睡醒特来顶帖!
回复

使用道具 举报

发表于 2019-3-21 10:43:35 | 显示全部楼层
老大,发现一个有趣的问题:
你的工具做出来的PE不需要appRepository也能成功启动,并且system32下面的几个文件Windows.StateRepositoryBroker.dll, Windows.StateRepositoryClient.dll, Windows.StateRepository.dll等所依赖的注册表项全部删除了,右键菜单的新建项依然正常,就是还能新建空白的文本文件,空文件夹等。而我在我的PE里将system-controset001-services-StateRepository注册表项删除了,新建菜单项则为空!无法新建文本文件,空文件夹等。
请问老大是如何做到的?

点评

我以boot.wim/winre.wim为基础添加组件需要的文件。没怎么删除文件, 如果没有哪个需要appRepository,不添加自然也是可以启动的。 也就是说,winre.wim没有appRepository本身可以启动,所以我生成的PE可以启动  详情 回复 发表于 2019-3-21 11:22
回复

使用道具 举报

 楼主| 发表于 2019-3-21 11:22:42 | 显示全部楼层
chshrm 发表于 2019-3-21 10:43
老大,发现一个有趣的问题:
你的工具做出来的PE不需要appRepository也能成功启动,并且system32下面的几 ...

我以boot.wim/winre.wim为基础添加组件需要的文件。没怎么删除文件,
如果没有哪个需要appRepository,不添加自然也是可以启动的。

也就是说,winre.wim没有appRepository本身可以启动,所以我生成的PE可以启动吧。
appRepository是啥我都不知道,我没有刻意补充或者测试这个。

以前某个WIN10版本右键新建菜单会卡死,需要StateRepository,
后来微软修复了,不卡死,就不需要这些了吧。

19H1之后默认新建菜单项目就有了。19H1以前补充右键新建菜单的注册表就可以了。
D:\dev\WimBuilder2\Projects\WIN10XPE\last.bat
  1. rem New Menu
  2. if %VER[3]% LSS 18300 (
  3.     reg add HKLM\Tmp_Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew /v Classes /t REG_MULTI_SZ /d .library-ms\0.txt\0Folder /f
  4.     reg add HKLM\Tmp_Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Discardable\PostSetup\ShellNew /v ~reserved~ /t REG_BINARY /d 0800000000000600 /f
  5. )
复制代码

点评

感谢老大,你的办法已经成功解决了我的问题。新建菜单没问题了!成功删除了appRepository和windows.stateRepository.*,节约了20MB空间。  详情 回复 发表于 2019-3-21 12:26
回复

使用道具 举报

发表于 2019-3-21 12:26:32 | 显示全部楼层
slore 发表于 2019-3-21 11:22
我以boot.wim/winre.wim为基础添加组件需要的文件。没怎么删除文件,
如果没有哪个需要appRepository, ...

感谢老大,你的办法已经成功解决了我的问题。新建菜单没问题了!成功删除了appRepository和windows.stateRepository.*,节约了20MB空间。

点评

去掉了这些services,PE启动也快了不少! appRepository是跟windowsUpdate相关的服务,去掉了windows.stateRepository才可以成功去掉appRepository11MB.这些东西都要删除注册表相关项,才可以删除的。  详情 回复 发表于 2019-3-21 12:35
回复

使用道具 举报

发表于 2019-3-21 12:35:03 | 显示全部楼层
本帖最后由 chshrm 于 2019-3-21 12:39 编辑
chshrm 发表于 2019-3-21 12:26
感谢老大,你的办法已经成功解决了我的问题。新建菜单没问题了!成功删除了appRepository和windows.state ...


去掉了这些services,PE启动也快了不少!
appRepository是跟windowsUpdate相关的服务,去掉了windows.stateRepository才可以成功去掉appRepository11MB.这些东西都要删除注册表相关项,才可以删除的。

开玩笑,PE要什么windows更新!
回复

使用道具 举报

发表于 2019-3-21 20:10:22 | 显示全部楼层
今天用您的工具做了一个LTSC2019_17763.316的PE,暂时没发现什么大问题,感觉很轻松,49秒就做出一个PE来了,轻松愉快!
但是改用boot.wim(2)来制作,结果就黑屏开始在启动初期。

点评

应该是很多main.bat里面注释掉了本来已经包含在winre.wim的文件, 用了boot.wim(2)我测试的很少,可能后面加东西,就没考虑。 winre.wim的网络支持比boot.wim好,其实建议直接用winre.wim就好了吧。  详情 回复 发表于 2019-3-21 20:31
回复

使用道具 举报

 楼主| 发表于 2019-3-21 20:31:48 | 显示全部楼层
chshrm 发表于 2019-3-21 20:10
今天用您的工具做了一个LTSC2019_17763.316的PE,暂时没发现什么大问题,感觉很轻松,49秒就做出一个PE来了 ...

应该是很多main.bat里面注释掉了本来已经包含在winre.wim的文件,
用了boot.wim(2)我测试的很少,可能后面加东西,就没考虑。
winre.wim的网络支持比boot.wim好,其实建议直接用winre.wim就好了吧。

点评

嗯,是的,只是好奇试了一下,后面的工作重点感觉可以考虑放在精简上面了。  详情 回复 发表于 2019-3-21 20:34
回复

使用道具 举报

发表于 2019-3-21 20:34:21 | 显示全部楼层
slore 发表于 2019-3-21 20:31
应该是很多main.bat里面注释掉了本来已经包含在winre.wim的文件,
用了boot.wim(2)我测试的很少,可能后 ...

嗯,是的,只是好奇试了一下,后面的工作重点感觉可以考虑放在精简上面了。

点评

精简其实可以对比下,其他PE的文件列表,注册表差分就行了。。。只是我还有些新功能没添加, 不想因为精简,功能不正常,再尝试补文件浪费了时间。 另外没有集成其他软件,所以删除了文件导致兼容性下降就得不偿  详情 回复 发表于 2019-3-21 20:47
回复

使用道具 举报

 楼主| 发表于 2019-3-21 20:47:00 | 显示全部楼层
chshrm 发表于 2019-3-21 20:34
嗯,是的,只是好奇试了一下,后面的工作重点感觉可以考虑放在精简上面了。

精简其实可以对比下,其他PE的文件列表,注册表差分就行了。。。只是我还有些新功能没添加,
不想因为精简,功能不正常,再尝试补文件浪费了时间。

另外没有集成其他软件,所以删除了文件导致兼容性下降就得不偿失了。

其实看目录的话,启动也是比较大。。。
回复

使用道具 举报

发表于 2019-3-22 09:00:38 | 显示全部楼层
浏览不能用是因为缺 shellstyle.dll

点评

最新版当天下午已经添加了。以前版本不需要这个文件。我没有对比系统的区别。发出来JFX给说了,我就补上了。  发表于 2019-3-22 09:07
回复

使用道具 举报

发表于 2019-3-22 09:03:53 | 显示全部楼层
我 做的PE都是boot.wim\1\和install.wim 专业版x64的。所有文件都是优先取自于install.wim ,不存在的才取自于boot.wim\1\。注册表部分另外处理

点评

我没有从winre.wim里取文件。  发表于 2019-3-22 09:20
没啥需要  发表于 2019-3-22 09:09
我只从install.wim取,没有啥语言从boot.Wim.来取吧,毕竟是在这个基础上添加文件。。。  发表于 2019-3-22 09:08
我只从install.wim取,没有啥语言从boot.Wim.来取吧,毕竟是在这个基础上添加文件。。。  发表于 2019-3-22 09:08
我只从install.wim取,没有啥语言从boot.Wim.来取吧,毕竟是在这个基础上添加文件。。。  发表于 2019-3-22 09:08
回复

使用道具 举报

 楼主| 发表于 2019-3-22 09:52:51 | 显示全部楼层
本帖最后由 slore 于 2019-3-22 10:02 编辑

又是win7环境,好像32与64都在第二次打开窗口只有标题在左上,打开自动生成的.js显示高度宽度都是英文un***
每次删除配置,自动显得没意义了,应该是bug吧


我有WIN7还有WIN10,都正常。。。

没有关闭是没有获取到正确的高度和宽度成了 undefine。
你IE版本是多少?每次关闭都有问题,还是偶尔?

那我处理下吧,如果 undefine就用默认值吧。

你自己临时改的话,下面红色改成固定值。
WimBuilder_UI.hta@408
    function window_onload() {
        var w = $width, h = $height;
        window.resizeTo(w, h);

或者添加下面的蓝色部分。确保保存时,不变成undefined:
WimBuilder_UI.hta@415
    function window_beforeunload() {
        var w = window.outerWidth, h = window.outerHeight;
        if (typeof(w) == "number") $width = w;
        if (typeof(h) == "number") $height = h;

        auto_save_settings();
    }

保存时获取的当前窗口高度,宽度不正确。所以就保存成undefined了。
加个判断,没有获取到就不改变 $width, $height。
回复

使用道具 举报

发表于 2019-3-22 10:27:45 来自手机 | 显示全部楼层
制作出来有点尴尬了,有些单文件运行提示如图,请教大师指点一二。。。
20190322_101603.jpg

点评

也许制作软件有问题,生成了32位的自解压文件?  发表于 2019-3-22 12:30
这个框是32位出的,方便的话附件传下。另外试试勾选【构建】->【32位程序运行支持】看看是否可以解决。  发表于 2019-3-22 12:29
回复

使用道具 举报

发表于 2019-3-22 10:28:32 来自手机 | 显示全部楼层
单文件都是64位的
回复

使用道具 举报

 楼主| 发表于 2019-3-22 12:33:55 | 显示全部楼层

我从来都没最大化过啊。我下次更新可以加一个 禁用窗口大小记忆的选项。

哦,你这么一说,应该是因为你是最大化使用,所以窗口大小获取失败了。
变成了undefined了。

我加一个选项,禁用自动记忆大小,或者启动的窗口模式 最大化 的选项就行了。

点评

好吧,我最大化在WIN7试了下,没有问题,我的是IE11,回头虚拟机WIN7试试。  发表于 2019-3-22 12:36
回复

使用道具 举报

发表于 2019-3-22 18:01:43 | 显示全部楼层
用你的工具制作出来的PE ,在切换至administrator时,新版本18850及之后版本,开始菜单的快捷方式都不能正常工作
请将 Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\里的快捷方式移动到
%ProgramData%\Microsoft\Windows\Start Menu\
这样操作之后,以前的版本也可以正常使用,双用户也正常。

点评

老大反映一个问题,自定义活动标题栏颜色,制作出来无效果。具体改注册表哪里,我目前也没有找到。  详情 回复 发表于 2019-3-22 22:31
18850的问题,Administor的主目录(X:\Users)没有创建出来,手动做了复制过去可以,但是应该有其他的方法,还没处理。  发表于 2019-3-22 18:07
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-10-1 01:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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