无忧启动论坛

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

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

    [复制链接]
5491#
发表于 2020-12-23 00:28:31 | 只看该作者
刚才想了下细节,貌似可以不改动转换用户的BAT。直接执行禁用网卡.BAI,在尾部CALL 转换用户.bat.这样,system的任务完成了,到了那边后,在AUTO里放一个A.BAT,A.BAT内容有就一句,若当前用户是ADMIN的话就执行启用网卡.BAT。否则就跳过,若是执行了,在尾部 del %0.这样确保只有一次被执行.前提:SYSTEM登入

点评

550
这些细节,现在忽然想起来,其实就是我在手动测试的流程。  发表于 2020-12-23 00:33
RunOnce可以保证执行一次。 %USERNAME%可以判断是那个用户执行。 VC运行库必须SYSTEM下安装,还是第一次知道。一般PE的话都是绿色版dll添加,导入注册表。  详情 回复 发表于 2020-12-23 00:31
回复

使用道具 举报

5492#
 楼主| 发表于 2020-12-23 00:31:12 | 只看该作者
550 发表于 2020-12-23 00:28
刚才想了下细节,貌似可以不改动转换用户的BAT。直接执行禁用网卡.BAI,在尾部CALL 转换用户.bat.这样,syst ...

RunOnce可以保证执行一次。
%USERNAME%可以判断是那个用户执行。

VC运行库必须SYSTEM下安装,还是第一次知道。一般PE的话都是绿色版dll添加,导入注册表。

点评

550
主要是集成包一直有现成的,以后升级方便。  发表于 2020-12-23 00:38
回复

使用道具 举报

5493#
发表于 2020-12-23 00:35:29 | 只看该作者
本帖最后由 550 于 2020-12-23 00:40 编辑

你试试看,在ADMIN下,是不能成功安装网上的C++静默包的.还有类似打包的其他静默安装软件
不是每次都装,用到的时候装,PE里启动的时候留有自动安装的外部接口。不直接做到PE里去。否则感觉体积太大

点评

MSI我一直按照失败,但是有人 MSEdge也安装的了,我也不清楚差到哪里了,我一直没动。  详情 回复 发表于 2020-12-23 00:41
回复

使用道具 举报

5494#
 楼主| 发表于 2020-12-23 00:41:09 | 只看该作者
550 发表于 2020-12-23 00:35
你试试看,在ADMIN下,是不能成功安装网上的C++静默包的
不是每次都装,用到的时候装,PE里启动的时候留有 ...

MSI我一直按照失败,但是有人 MSEdge也安装的了,我也不清楚差到哪里了,我一直没动。

点评

550
可能是EDGE较特殊,我在看他人作品时感觉到,与其他任何谷歌类的都有区别,感觉有个什么认证的过程.其他谷歌核心的都不会去认证什么的.估计障碍就在这个地方。所以就算是SYSTEM也无法安装,可能就是无法在PE安装,但  详情 回复 发表于 2020-12-23 00:50
回复

使用道具 举报

5495#
发表于 2020-12-23 00:50:34 | 只看该作者
slore 发表于 2020-12-23 00:41
MSI我一直按照失败,但是有人 MSEdge也安装的了,我也不清楚差到哪里了,我一直没动。

可能是EDGE较特殊,我在看他人作品时感觉到,与其他任何谷歌类的都有区别,感觉有个什么认证的过程.其他谷歌核心的都不会去认证什么的.估计障碍就在这个地方。所以就算是SYSTEM也无法安装,可能就是无法在PE安装,但能使用绿色版EDGE,使用时也要到注册表转一圈的
回复

使用道具 举报

5496#
发表于 2020-12-23 03:00:42 | 只看该作者
本帖最后由 550 于 2020-12-23 17:06 编辑

在X86上,整个流程变成程序运行后,仔细与原来的X64对比了下,比X64快几秒。相同计时参照的话,X64假如是12秒计算,那么X86约9秒完成切换.
这个流程感觉用在X86上还是可行的,原来的35秒太长,假如电脑差点再拖一下时间,可能会有时间过长的蓝屏风险。秒切也是有时间范围的,过了头里的10-20秒后,秒切就会变慢的,不再是5秒完成。
X64的常规速度是12秒,X86的常规速度是35秒.有了这个流程的帮助,X86可以任何时间切换,都是9秒。这个成绩还是算满意了.X64保持不变,还是让他12秒好了,可以不做优化的了,为了3秒的优化,就不选择断网的动作了.

刚才试了把x64自己与自己的对比,断网的流程,速度比常规流程快3秒.
回复

使用道具 举报

5497#
发表于 2020-12-23 13:31:56 | 只看该作者
12-12版本的打包wim似乎有问题,生成的pe可以进入桌面,但是以后的操作都没有,没有桌面图标,没有启动pecmd等,以为是设置的原因,反复折腾了一段时间,有一次解开wim修改了一下,用dism++打包,也出现了这样的问题,更换了新版的dism++同样的文件,再次打包成wim,pe成功的启动,一切正常

点评

550
大概率是路径问题。路径上不能包含空格#等...此外就没碰到打包问题了,倒是内存盘一不小心会被干扰到.  发表于 2020-12-23 15:16
回复

使用道具 举报

5498#
发表于 2020-12-23 17:35:16 | 只看该作者
感官了N次,主要考虑到断网的动作,自己的最终结果是,当作备胎,放一个图标,想用就用,不用让他放着不碍事,百利无一害.
期间发现,过滤器是不能删除的,直通功能看来是保不住了,切换用户到ADMIN后,托盘没了。

红箭头是备胎,也能当作普通的“切换用户”来使用

方框的网络托盘跟着过滤器一起不见了.


点评

双用户,不能单选网络指示器,需要完整的 共享中心。我这边测试不带共享中心的话,是先登录的桌面OK,切换的飞行模式图标。  发表于 2020-12-23 17:44
单SYSTEM用户时,删除过滤器,带Admin就不删除了。 或者补充pacer过滤器的驱动和服务看看,是否也能立即显示网络。  详情 回复 发表于 2020-12-23 17:42
回复

使用道具 举报

5499#
 楼主| 发表于 2020-12-23 17:42:50 | 只看该作者
550 发表于 2020-12-23 17:35
感官了N次,主要考虑到断网的动作,自己的最终结果是,当作备胎,放一个图标,想用就用,不用让他放着不碍 ...

单SYSTEM用户时,删除过滤器,带Admin就不删除了。

或者补充pacer过滤器的驱动和服务看看,是否也能立即显示网络。

点评

550
用了一下午的IMDISK,现在他也来闹腾了...没脾气了..  发表于 2020-12-23 18:09
550
我没生成过单用户,都是双用户带着走的  发表于 2020-12-23 18:05
550
再试试...找找规律  发表于 2020-12-23 18:03
550
奇怪了,这2天尽想着速度了。刚才试了把旧代码,到了ADMIN后也没托盘。应该是本次独立“网络托盘”后的故障。那个老PE是正常的  发表于 2020-12-23 17:57
回复

使用道具 举报

5500#
发表于 2020-12-23 18:47:01 | 只看该作者
本帖最后由 550 于 2020-12-25 00:29 编辑

找到原因了,普通转换后,到了ADMIN后,那个“启用网卡.bat”开始工作了。测试的时候只要把他删掉,不让他工作,普通转换用户,托盘图标就显示了。
看来这里面“启动网卡.bat”里,需要再添加点什么,让托盘图标再现。这个添加的内容,在开启网卡后,尾部添加开启托盘的命令或什么,老大这个如何写呢.
奇怪啊,SYSTEM都不执行禁用网卡的,只是普通转换的。仅仅多启用了一次网卡,托盘图标难道就这样就被影响到了吗
.
发现其他的手误类低级问题,大概不是这个导致。检验一下...

不是手误,确认是“启用网卡.bat”导致.

故障成功排除,加个5秒延时,到了ADMIN后,托盘出现.

最后成品版ISO,连延时也不用加,是把隐藏窗口的代码给注释掉即可了。
回复

使用道具 举报

5501#
发表于 2020-12-24 16:47:09 | 只看该作者
转换速度测试记录
物理网线 外网断开的任务管理器里有网卡和外网通网的2种环境 含远程桌面服务的20H2-19042.508.ISO 1212升级版构建软件:采用新版代码,过滤器是删除的
特定的时间:都是进入桌面60秒后 才开始测试
进入桌面立即测试,这个属于秒切范围,不属于本ISO评测内容。
注:不含远程服务的秒切成绩在虚拟机里最快有看到过10秒内的
...................................................................................................................................................
实体机测试 I3 9100CPU 3.6G四核四线程,8X2=16G内存, 固态硬盘
x64 桌面上的切换用户:鼠标双击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,         所耗时间总计是15秒(外网通网的总计是是16秒)
x64 开始里的速换用户仅首次:鼠标点击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,所耗时间总计是14秒(外网通网的总计是是12秒)
实体机测试 I3 2代CPU 2.1G 2核四线程,2G内存, 笔记本机械硬盘
外网断开的x86 桌面上的切换用户:鼠标双击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,         所耗时间总计是43秒(外网通网的总计也是43秒)
外网断开的x86 开始里的速换用户仅首次:鼠标点击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,所耗时间总计是30秒(外网通网的总计是是25秒)
...................................................................................................................................................
以上的实体机里装的虚拟机 分配 4G内存 2核

外网断开的x86 桌面上的切换用户:鼠标双击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,所耗时间总计是118秒。(外网通网的总计是48秒)
注:由于是断网的,看见桌面后又花了好多秒数才删掉desktop.ini
外网断开的x64 桌面上的切换用户:鼠标双击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,所耗时间总计是49秒。(外网通网的总计是22秒)
注:由于是断网的,看见桌面后又花了好多秒数才删掉desktop.ini                                                                                                

外网断开的x86 开始里的速换用户仅首次:鼠标点击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,所耗时间总计是20秒(外网通网的总计是23秒)
外网断开的x64 开始里的速换用户仅首次:鼠标点击开始计时,当切换到ADMIN桌面 并看到desktop.ini文件被删除时为止,所耗时间总计是17秒.(外网通网的总计是19秒)                                                                                                                                                                  
...................................................................................................................................................                                                                                                               
总结:
虚拟机环境:
速换用户仅首次按钮受通断影响极小;位数影响也极小。约在20秒附近
独立机器,没有外网的,速度慢,需要用到“速换用户仅首次",特别是32位系统在虚拟机里无法玩了,切换一次约2分钟.
联网的机器,可以上外网的,速度相对都较快,64位的速度比32为快,虚拟机里可以用“速换用户仅首次",效率明显提高

实体机环境:
64位实体机最快. 2种转换开关,相差极小,1-4秒。
32位实体机,2种转换开关差距稍大  13-18秒                                                                                                         

评分

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

查看全部评分

回复

使用道具 举报

5502#
发表于 2020-12-24 16:54:49 | 只看该作者
这个不错,对于新手能快速上手做成win10pe,对于高手能继续定制,学习中,多谢!

评分

参与人数 2无忧币 +10 收起 理由
chshrm + 5 正是这样,初学者和高手都有事做!你的理解.
slore + 5 理解很到位

查看全部评分

回复

使用道具 举报

5503#
发表于 2020-12-24 17:30:33 | 只看该作者
用在虚拟机里贴切些

点评

太厉害了,,,,  详情 回复 发表于 2020-12-25 20:53
550
也可能是虚拟机对X86兼容性上的BUG  发表于 2020-12-24 21:09
550
3分钟不到,118秒,2分不到点.那也长过头了  发表于 2020-12-24 20:45
550
一开始我以为ISO做坏了,N次后才知道,断网的32位时间超长。在断网下虚拟机里的不能玩32位的,满过头了  发表于 2020-12-24 18:32
很久没用32位了,回头试试,感觉我这里没有3分钟那么夸张。  发表于 2020-12-24 18:27
回复

使用道具 举报

5504#
发表于 2020-12-25 20:53:35 | 只看该作者
550 发表于 2020-12-24 17:30
用在虚拟机里贴切些

太厉害了,,,,
回复

使用道具 举报

5505#
发表于 2020-12-25 21:22:06 | 只看该作者
就是这个,想让他变成个单文件好让批处理调用,老大能否提取下这个命令

点评

Dism++看了下,开源了部分。界面好像没有,不好找。模拟界面操作倒是一个方法,不过可能不稳定。  发表于 2020-12-26 11:28
S大正在忙 ,一会就来。。。  详情 回复 发表于 2020-12-25 22:30
回复

使用道具 举报

5506#
发表于 2020-12-25 22:30:55 | 只看该作者
550 发表于 2020-12-25 21:22
就是这个,想让他变成个单文件好让批处理调用,老大能否提取下这个命令

S大正在忙 ,一会就来。。。
回复

使用道具 举报

5507#
发表于 2020-12-26 03:08:26 | 只看该作者
向 S大求教问题:
怎么向任务栏添加项目啊? 不是指工程中, 而是指在 pecmd.ini 中, 向资源管理器图标旁边添加项目.
用 PINT 无效, 添加不上.
因对 pecmd 命令不熟, 请说得详细点.
谢谢 S大啦.

点评

换新版本Pecmd.exe,或者调用 EXEC WinXShell.exe -code Taskbar:Pin('regedit.exe') 系统命令可以省略路径,自己的工具, -code "Taskbar:Pin([[X:\Program Files\XXX\YYY.exe]])"  详情 回复 发表于 2020-12-26 08:23
回复

使用道具 举报

5508#
 楼主| 发表于 2020-12-26 08:23:07 | 只看该作者
vaf 发表于 2020-12-26 03:08
向 S大求教问题:
怎么向任务栏添加项目啊? 不是指工程中, 而是指在 pecmd.ini 中, 向资源管理器图标旁边添 ...

换新版本Pecmd.exe,或者调用
EXEC WinXShell.exe -code Taskbar:Pin('regedit.exe')
系统命令可以省略路径,自己的工具,
-code "Taskbar:Pin([[X:\Program Files\XXX\YYY.exe]])"

点评

vaf
若目标为批处理 .bat 可不可以呀?  详情 回复 发表于 2020-12-26 10:30
回复

使用道具 举报

5509#
发表于 2020-12-26 10:30:59 | 只看该作者
本帖最后由 vaf 于 2020-12-26 10:34 编辑
slore 发表于 2020-12-26 08:23
换新版本Pecmd.exe,或者调用
EXEC WinXShell.exe -code Taskbar:Pin('regedit.exe')
系统命令可以省略 ...

若目标为批处理 .bat 可不可以呀?
另外  [HKEY_CLASSES_ROOT\.xxx]
怎么离线挂载? 挂载到何键下, 具体形式是什么样的.


点评

批处理也行。先cmd.exe再设置参数,参考关机按钮。 Tmp_Software\Classes  详情 回复 发表于 2020-12-26 10:36
回复

使用道具 举报

5510#
 楼主| 发表于 2020-12-26 10:36:02 | 只看该作者
vaf 发表于 2020-12-26 10:30
若目标为批处理 .bat 可不可以呀?
另外  [HKEY_CLASSES_ROOT\.xxx]
怎么离线挂载? 挂载到何键下, 具体 ...

批处理也行。先cmd.exe再设置参数,参考关机按钮。

Tmp_Software\Classes

点评

vaf
谢谢 S大, 解决困扰我许久的问题了.  详情 回复 发表于 2020-12-26 10:40
回复

使用道具 举报

5511#
发表于 2020-12-26 10:40:23 | 只看该作者
slore 发表于 2020-12-26 10:36
批处理也行。先cmd.exe再设置参数,参考关机按钮。

Tmp_Software\Classes

谢谢 S大, 解决困扰我许久的问题了.
回复

使用道具 举报

5512#
发表于 2020-12-27 18:49:15 | 只看该作者
20200808版以程式內部更新功能升級為1212版
無法執行
錯誤訊息:Failed to get SE_DEBUG_NAME privilege.
WimBuilder.cmd以管理者權限執行亦同
請問這問題要如何解決??
有人遇過嗎?

点评

你下载12.12版本试试。感觉是NSudo提权出了问题。 也许更新bin\NsudoC可以解决  详情 回复 发表于 2020-12-27 19:07
回复

使用道具 举报

5513#
 楼主| 发表于 2020-12-27 19:07:36 | 只看该作者
saiz 发表于 2020-12-27 18:49
20200808版以程式內部更新功能升級為1212版
無法執行
錯誤訊息:Failed to get SE_DEBUG_NAME privilege.
...

你下载12.12版本试试。感觉是NSudo提权出了问题。
也许更新bin\NsudoC可以解决

点评

只更新x64\NsudoC無效 覆蓋舊檔更新20201212版 無效 純粹使用20201212版 無效 應該不是使用的WIN版本問題吧? 我使用的是2019LTSC 10.0.17763  详情 回复 发表于 2020-12-27 20:30
回复

使用道具 举报

5514#
发表于 2020-12-27 20:30:30 | 只看该作者
slore 发表于 2020-12-27 19:07
你下载12.12版本试试。感觉是NSudo提权出了问题。
也许更新bin\NsudoC可以解决

只更新x64\NsudoC無效
覆蓋舊檔更新20201212版 無效
純粹使用20201212版 無效
應該不是使用的WIN版本問題吧?
我使用的是2019LTSC 10.0.17763

点评

8.8版本正常?12.12的话升级了wimlib,其他都是脚本不影响启动才对。 你替换下8.8的wimlib(bin\x64\) LTSC我没用过,主要测试了WIN7和WIN10  详情 回复 发表于 2020-12-27 20:40
回复

使用道具 举报

5515#
 楼主| 发表于 2020-12-27 20:40:39 | 只看该作者
saiz 发表于 2020-12-27 20:30
只更新x64\NsudoC無效
覆蓋舊檔更新20201212版 無效
純粹使用20201212版 無效

8.8版本正常?12.12的话升级了wimlib,其他都是脚本不影响启动才对。

你替换下8.8的wimlib(bin\x64\)

LTSC我没用过,主要测试了WIN7和WIN10

点评

SORRY.是我沒說清楚. 不是無法啟動.是building時出問題 CMD及LOG模式皆無法運作 現在不知為何變不同的錯誤訊息了(如附件) PS.純1212跟0808->1212版都如此  详情 回复 发表于 2020-12-28 07:54
回复

使用道具 举报

5516#
发表于 2020-12-27 23:09:44 | 只看该作者
本帖最后由 550 于 2020-12-27 23:12 编辑

无人值守的远程,牵扯到的文件太多了,假如没远程需要的,就变成一堆的摆设。仔细想想还是分版了,单机版和远程版。单机版的秒切速度得利用起来(过滤器就不删了,网络延时10秒也没所谓,反正没远程连进来)。远程版的虽然无法实现秒切,但网络是直通的,能看见远程电脑的初始化界面.各有所长.

点评

这块新版本计划,单SYSTEM用户 删除过滤器 提高网络显示状态。 如果是启用Admin用户,不删除。 启用Admin用户时,自己根据需要可以用自定义补丁 删除过滤器。  详情 回复 发表于 2020-12-27 23:13
回复

使用道具 举报

5517#
 楼主| 发表于 2020-12-27 23:13:45 | 只看该作者
550 发表于 2020-12-27 23:09
无人值守的远程,牵扯到的文件太多了,假如没远程需要的,就变成一堆的摆设。仔细想想还是分版了,单机版和 ...

这块新版本计划,单SYSTEM用户 删除过滤器 提高网络显示状态。
如果是启用Admin用户,不删除。

启用Admin用户时,自己根据需要可以用自定义补丁 删除过滤器。
回复

使用道具 举报

5518#
发表于 2020-12-27 23:22:28 | 只看该作者
本帖最后由 550 于 2020-12-27 23:31 编辑

单用户可以删除,因为没地方切换了,影不影响秒切的事情也就无从谈起。故网络直通优先

双用户得分远程和单机的
远程的,秒切速度也谈不上,机器在远程呢。还是已最快速度连上的作为优先。故网络直通优先
单机的,秒切就会随时用到,人就在机器前呢。故秒切优先
我自己分版的另一个原因就是牵扯到的文件太多,在单机版的看上去都是摆设了.

现在我是旧代码的文件和新代码的文件,互换着使用。他们的代码貌似不能用文字替换法,旧代码是2句,新代码是3句。所以直接换文件了

点评

远程和 网络状态图标 还是冲突的吧,你那里没有问题了?  详情 回复 发表于 2020-12-28 00:27
远程还是单机,自己做自定义补丁的选项。自己决定了。  发表于 2020-12-27 23:24
回复

使用道具 举报

5519#
发表于 2020-12-28 00:01:26 | 只看该作者
本帖最后由 550 于 2020-12-28 00:07 编辑

远程版的,网卡直通的,看见远程电脑的初始化界面,感官上就很舒服.


对了 这个是刚才用旧代码出来的ISO,他也能网卡直通的。看来,新代码貌似用不到了,不用再替换回新代码了。

点评

旧代码,注册表总项目全部RegCopy复制, 新代码,仅复制2个子项,同时删除过滤器。 自定义补丁,只要添加一条,call RegCopy总项目,就可以回到旧代码。  详情 回复 发表于 2020-12-28 00:26
回复

使用道具 举报

5520#
 楼主| 发表于 2020-12-28 00:26:58 | 只看该作者
550 发表于 2020-12-28 00:01
远程版的,网卡直通的,看见远程电脑的初始化界面,感官上就很舒服.
现在我是旧代码的文件和新代码的文件,互换着使用。他们的代码貌似不能用文字替换法,旧代码是2句,新代码是3句。所以直接换文件了

旧代码,注册表总项目全部RegCopy复制,
新代码,仅复制2个子项,同时删除过滤器。

自定义补丁,只要添加一条,call RegCopy总项目(也就是旧代码的第一行),就可以回到旧代码。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-13 09:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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