无忧启动论坛

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

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

    [复制链接]
 楼主| 发表于 2020-11-30 23:04:19 | 显示全部楼层
550 发表于 2020-11-30 22:37
想把登录桌面时的左上角提示给改成中文,请问如何改.就是这句“System configuration,Please Wait”

直接放到Z:\WimBuilder2\AppData\Projects\WIN10XPE\_CustomFiles_\MyCustom\Last\_CustomPECMDini.zh-CN.bat
  1. if not "%WB_PE_LANG%"=="zh-CN" goto :EOF
  2. call TextReplace "%X_SYS%\pecmd.ini" "TEXT System configuration, Please Wait..." "TEXT 正在初始化系统设置,请等待……"
复制代码


或者自定义补丁中的last.bat调用。

注意编码是简体中文系统的ANSI。

点评

S大,PE下这个关机重启好像速度有点慢,有没有办法优化下呢?  详情 回复 发表于 2020-12-1 09:24
回复

使用道具 举报

发表于 2020-12-1 00:08:13 | 显示全部楼层
在我的定制栏里调用,一开始是乱码显示,改了编码后,中文显示的妥妥了...
回复

使用道具 举报

发表于 2020-12-1 00:15:44 | 显示全部楼层
本帖最后由 550 于 2020-12-1 00:39 编辑

7Z的美化版文件,实在想不出完美覆盖,2处覆盖略有差异:
在这里放置BAT:AppData\Projects\WIN10XPE\_CustomFiles_\MyCustom,现象是桌面没有快捷键,也不会安装7Z;在这里LAST调用:AppData\Projects\WIN10XPE\10-MyCustom,乍一看啥都好了,但是不会关联图标。
实在没办法,直接在WimBuilder2-Full.v2020-11-11\vendor\7-Zip,里面把源文件直接替换成美化版了,才算服帖了.
覆盖命令是这样的
rem 替换自带的7z
rd /s /q "X:\Program Files\7-Zip\"
XCOPY "%~dp0winre_x64\Program Files\7-Zip\*" "X:\Program Files\7-Zip\" /s /h /y

PS:终于搞清楚了,是自己的7Z右键注册表给搞乱了。不加自己的注册表项,仅仅替换7Z文件,在我的定制栏下面的调用,是完美的

点评

第三方软件我带的是官方版本。自己改的话,可以把7-Zip的main.html, en-US.js, zh-CN.js, main.bat, last.bat复制到自定义补丁中,然后界面不要勾选我默认的。这样就是完全自己控制,包括注册表。 当然,你直接替  详情 回复 发表于 2020-12-1 00:42
回复

使用道具 举报

 楼主| 发表于 2020-12-1 00:42:58 | 显示全部楼层
550 发表于 2020-12-1 00:15
7Z的美化版文件,实在想不出完美覆盖,2处覆盖略有差异:
在这里放置BAT:AppData\Projects\WIN10XPE\_Cus ...

第三方软件我带的是官方版本。自己改的话,可以把7-Zip的main.html, en-US.js, zh-CN.js, main.bat, last.bat复制到自定义补丁中(其实就是把Apps\7-Zip复制一份到自己的自定义文件夹中变成自己的补丁。),然后界面不要勾选我默认的。这样就是完全自己控制,包括注册表。

当然,你直接替换掉exe和dll就可以了。注册项目路径是一致的。

点评

550
整个拷贝一份变成自己的补丁后,注册表修改成功了,右键能显示成自己喜好的菜单项了.但是vendor\7-Zip,那2个安装源文件7z1900-x86.exe的位置迁移不出来,迁到APPDATA下,不会关联图标.最终还是老办法,美化版直接在  详情 回复 发表于 2020-12-1 03:11
回复

使用道具 举报

发表于 2020-12-1 03:11:47 | 显示全部楼层
本帖最后由 550 于 2020-12-1 03:37 编辑

slore 发表于 2020-12-1 00:42
第三方软件我带的是官方版本。自己改的话,可以把7-Zip的main.html, en-US.js, zh-CN.js, main.bat, last ...


整个拷贝一份变成自己的补丁后,注册表修改成功了,右键能显示成自己喜好的菜单项了.但是vendor\7-Zip,那2个安装源文件7z1900-x86.exe的位置迁移不出来,迁到APPDATA\Projects\WIN10XPE\10-MyCustom\7-Zip下,与mani.ba同目录,同时删掉VENDOR里的源文件,防止串门;结果在PE里不会关联图标、没右键菜单.最终还是老办法,美化版直接在VENDOR里替换掉官方版或者事后Xcopy法把EXE和DLL换掉.
这样喜好的右键菜单项和喜好的美化版就都有了

点评

main.bat代码你要改啊。 默认使用V2X宏,从vendor目录解压到X_PF,你可以 自己调用7z命令解压你的美化版,在你补丁目录不要用vendor的官方原版。  详情 回复 发表于 2020-12-1 12:38
回复

使用道具 举报

发表于 2020-12-1 09:24:57 来自手机 | 显示全部楼层
slore 发表于 2020-11-30 23:04
直接放到Z:\WimBuilder2\AppData\Projects\WIN10XPE\_CustomFiles_\MyCustom\Last\_CustomPECMDini.zh-CN ...

S大,PE下这个关机重启好像速度有点慢,有没有办法优化下呢?

点评

UI_Shudown, wpeutil shudown关机慢麽? 还是开始菜单,关机(pecmd) 慢?  详情 回复 发表于 2020-12-1 12:36
回复

使用道具 举报

 楼主| 发表于 2020-12-1 12:36:52 | 显示全部楼层
狼人72105 发表于 2020-12-1 09:24
S大,PE下这个关机重启好像速度有点慢,有没有办法优化下呢?

UI_Shudown, wpeutil shudown关机慢麽?
还是开始菜单,关机(pecmd) 慢?

点评

开始菜单的。。。有没有办法优化下呢?  详情 回复 发表于 2020-12-1 15:21
回复

使用道具 举报

 楼主| 发表于 2020-12-1 12:38:34 | 显示全部楼层
550 发表于 2020-12-1 03:11
slore 发表于 2020-12-1 00:42
第三方软件我带的是官方版本。自己改的话,可以把7-Zip的main.html, en-US. ...

main.bat代码你要改啊。
默认使用V2X宏,从vendor目录解压到X_PF,你可以
自己调用7z命令解压你的美化版,在你补丁目录不要用vendor的官方原版。

点评

550
main.bat删掉原来的前3行,改成自己的“call 7z.bat” 可以完美迁移了,默认的7Z和定制7Z,各自都能独立勾选使用了,互不影响.假如2个都勾选的话,定制的会覆盖掉默认的。工况都正常. PE里的都正常了。但是构建  详情 回复 发表于 2020-12-1 16:19
回复

使用道具 举报

发表于 2020-12-1 15:21:08 来自手机 | 显示全部楼层
slore 发表于 2020-12-1 12:36
UI_Shudown, wpeutil shudown关机慢麽?
还是开始菜单,关机(pecmd) 慢?

开始菜单的。。。有没有办法优化下呢?
回复

使用道具 举报

发表于 2020-12-1 16:19:30 | 显示全部楼层
本帖最后由 550 于 2020-12-1 16:31 编辑

main.bat代码你要改啊。


main.bat删掉原来的前3行,改成自己的“call 7z.bat”
可以完美迁移了,默认的7Z和定制7Z,各自都能独立勾选使用了,互不影响.假如2个都勾选的话,定制的会覆盖掉默认的。工况都正常.
PE里的都正常了。但是构建工具里,由于x86current.js和x64current.js,分别是2个预设文件,当切换的时候,记不住7Z的关联选点,因为我是除了ISO以外,其他的关联都点选的,每次切换都点一遍,就是7Z关联的文件类型小方块实在太多,能否也让他记住呢

点评

你把你的预设发上来,方便的话,你的自定义补丁也给我(选项设定只要main.html,main.bat和last.bat不需要)  详情 回复 发表于 2020-12-1 19:08
预设为什么要分x64,x86? 应该是共通的选项啊。  详情 回复 发表于 2020-12-1 19:05
还是先说关机和重启的事吧。。。你是怎么解决的?我都不知道开始栏中的关机和重启是调用了什么命令或文件?有没有可能更换论坛中的快速重启和关机小程序呢?  详情 回复 发表于 2020-12-1 17:12
回复

使用道具 举报

发表于 2020-12-1 17:12:06 来自手机 | 显示全部楼层
550 发表于 2020-12-1 16:19
main.bat删掉原来的前3行,改成自己的“call 7z.bat”
可以完美迁移了,默认的7Z和定制7Z,各自都能独 ...

还是先说关机和重启的事吧。。。你是怎么解决的?我都不知道开始栏中的关机和重启是调用了什么命令或文件?有没有可能更换论坛中的快速重启和关机小程序呢?

点评

调用的WinXShell的UI_Shudown组件,内部就是exec ('wpeutil shudown') 。 自定义桌面图标,你可以随便换成自己的程序,PinToTaskbar就行了。  详情 回复 发表于 2020-12-1 19:05
回复

使用道具 举报

 楼主| 发表于 2020-12-1 19:05:06 | 显示全部楼层
狼人72105 发表于 2020-12-1 17:12
还是先说关机和重启的事吧。。。你是怎么解决的?我都不知道开始栏中的关机和重启是调用了什么命令或文件 ...

调用的WinXShell的UI_Shudown组件,内部就是exec ('wpeutil shudown') 。

自定义桌面图标,你可以随便换成自己的程序,PinToTaskbar就行了。
回复

使用道具 举报

 楼主| 发表于 2020-12-1 19:05:53 | 显示全部楼层
550 发表于 2020-12-1 16:19
main.bat删掉原来的前3行,改成自己的“call 7z.bat”
可以完美迁移了,默认的7Z和定制7Z,各自都能独 ...

预设为什么要分x64,x86?
应该是共通的选项啊。
回复

使用道具 举报

 楼主| 发表于 2020-12-1 19:08:14 | 显示全部楼层
本帖最后由 slore 于 2020-12-1 19:09 编辑
550 发表于 2020-12-1 16:19
main.bat删掉原来的前3行,改成自己的“call 7z.bat”
可以完美迁移了,默认的7Z和定制7Z,各自都能独 ...

你把你的预设发上来,方便的话,你的自定义补丁也给我(选项设定只要main.html,main.bat和last.bat不需要)

选项默认是记住的吧。没有记住的话,可能是选项名冲突。具体得看你的补丁的main.bat,en-US.js(默认选项定义,英文版资源)
回复

使用道具 举报

发表于 2020-12-1 19:22:18 | 显示全部楼层
本帖最后由 550 于 2020-12-1 19:48 编辑

预设为什么要分x64,x86?

2种位数PE的设置在构建软件里,有多处是不同的,如64我选128GX盘,32位选2GX盘。为了快速准确无误的构建,所以分别保存各自位数的预设文件了.


思维如下,请老大判断。在x86x64切换的时候,全变空白了


QQ图片20201201191916.png QQ图片20201201192052.png QQ图片20201201192057.png

x86x64里面是各自位数的美化版散文件


main.bat,en-US.js修改如下

1192756.png
预设文件

preset.7z (2.51 KB, 下载次数: 2)
回复

使用道具 举报

发表于 2020-12-1 20:58:56 | 显示全部楼层
操作次数多了,刚才偶然发现会显示了。于是仔细找了下规律,还正找到了。
我的习惯操作,就是x86x64之间跳跃,外加开启软件时的“当前”。就这3个配置。其他平时就不碰了。
规律就是,在不显示的时候,选一下其他配置,如:全能,默认...等,再回到x86或x64自己的配置,这时候7Z的无数小方框就都被选上了.

点评

感觉没加载预设成功。默认我留了一个"-"空白预设,选这个再选自己预设会重新加载。  详情 回复 发表于 2020-12-1 21:11
你发的只有预设,需要你的10-MyCustom的文件夹和main.html。 wow64支持,你勾选上,x86会自动跳过的。 看了下你的x86,x64的差异,主要是机器名和X盘大小。 机器名估计可以用环境变量代替。 X盘大小有点麻烦  详情 回复 发表于 2020-12-1 21:10
回复

使用道具 举报

 楼主| 发表于 2020-12-1 21:10:01 | 显示全部楼层
550 发表于 2020-12-1 20:58
操作次数多了,刚才偶然发现会显示了。于是仔细找了下规律,还正找到了。
我的习惯操作,就是x86x64之间跳 ...

你发的只有预设,需要你的10-MyCustom的文件夹和main.html。

wow64支持,你勾选上,x86会自动跳过的。

看了下你的x86,x64的差异,主要是机器名和X盘大小。
机器名估计可以用环境变量代替。
X盘大小有点麻烦,虽然用代码_Prepare_. bat可以处理,但是选项上实有点不方便设定。

点评

550
原先的X86X64差别很大的,现在不想在搞光驱了,所以体积可以放大点了,可以把86 64 统一设置了。现在的差异少多了.128G还会牵涉到“预设ADMIN”,否则不停弹窗。  详情 回复 发表于 2020-12-1 21:40
回复

使用道具 举报

 楼主| 发表于 2020-12-1 21:11:19 | 显示全部楼层
550 发表于 2020-12-1 20:58
操作次数多了,刚才偶然发现会显示了。于是仔细找了下规律,还正找到了。
我的习惯操作,就是x86x64之间跳 ...

感觉没加载预设成功。默认我留了一个"-"空白预设,选这个再选自己预设会重新加载。

点评

550
main.html,这个文件我没改过,直接从Projects\WIN10XPE\02-Apps\7-Zip拷贝过来的,改过的都拍成图了。 你在下载回去的2个里,循环一下,就会发现勾选变成空白了。 估计就是加个空白的,过度一下,7Z就不会留空了  详情 回复 发表于 2020-12-1 21:21
回复

使用道具 举报

发表于 2020-12-1 21:21:29 | 显示全部楼层
本帖最后由 550 于 2020-12-1 21:33 编辑

slore 发表于 2020-12-1 21:11
感觉没加载预设成功。默认我留了一个"-"空白预设,选这个再选自己预设会重新加载。


main.html,这个文件我没改过,直接从Projects\WIN10XPE\02-Apps\7-Zip拷贝过来的,改过的都拍成图了。
你在下载回去的2个里,循环一下,就会发现勾选变成空白了。

估计就是加个空白的,过度一下,7Z就不会留空了.
发现7Z的关联里有个错误格式(应该是误写了).正确的应该是“lzma”,我自己修正过了,已在图上显示了.
回复

使用道具 举报

发表于 2020-12-1 21:40:53 | 显示全部楼层
本帖最后由 550 于 2020-12-1 21:43 编辑

slore 发表于 2020-12-1 21:10
你发的只有预设,需要你的10-MyCustom的文件夹和main.html。

wow64支持,你勾选上,x86会自动跳过的。 ...


原先的X86X64差别很大的,现在不想在搞光驱了,所以体积可以放大点了,可以把86 64 统一设置了。现在的差异少多了.128G还会牵涉到“预设ADMIN”,否则不停弹窗。
感觉加个“-”空白的,做中转,最合理了.目前的“-”,不起作用

点评

x86,x64共用预设: 工程自带的Admin账户,勾选预创建用户主目录。 自己建立一个补丁,如果x86的话,删除%X_SYS%\PreMakeUserProfile.bat,忘了名字, 你可以看下,Admin账户补丁的代码,勾选那个选项是多复制了一  详情 回复 发表于 2020-12-2 01:14
知道问题所在了。 7zip的选项比较多,所以合并成一个选项,这个合并动作是注册了一个函数, 选择了其他的定制页面,或者 下一步,上一步 切换到定制以外的页面的时候触发调用。 如果你选择完了7zip的选项,  详情 回复 发表于 2020-12-2 00:18
回复

使用道具 举报

 楼主| 发表于 2020-12-2 00:18:33 | 显示全部楼层
550 发表于 2020-12-1 21:40
slore 发表于 2020-12-1 21:10
你发的只有预设,需要你的10-MyCustom的文件夹和main.html。

知道问题所在了。

7zip的选项比较多,所以合并成一个选项,这个合并动作是注册了一个函数,

选择了其他的定制页面,或者 下一步,上一步 切换到定制以外的页面的时候触发调用。

如果你选择完了7zip的选项,选择其他的定制页面,然后再选择 预设就好了。

你现在是停留在7zip的关联选择页面,然后当点击预设会重新加载选项,
这个时候你预设里面的7zip全部关联设置到选项了,
然后 预设重新加载会刷新页面,然后 之前7zip选项的合并函数触发,
但是这个时候页面刷新了,内容是空的,覆盖了你的预设中的全部关联设置选项。

===================
回避这个问题的方法,选择其他的补丁界面,再切换预设,就好了。


修复方法:
【高级】执行下面代码更新js处理代码,切换预设时,清空 选项合并函数。

  1. call _updater --file assets/js/page_patches.js
复制代码


因为md5文件暂时没有改,点了【关于】【更新】会被还原。

点评

550
完美,纹丝不动.  详情 回复 发表于 2020-12-2 00:27
回复

使用道具 举报

发表于 2020-12-2 00:27:14 | 显示全部楼层
slore 发表于 2020-12-2 00:18
知道问题所在了。

7zip的选项比较多,所以合并成一个选项,这个合并动作是注册了一个函数,

完美,纹丝不动.
回复

使用道具 举报

发表于 2020-12-2 00:36:19 | 显示全部楼层
7z的迁移,花得时间最长了,到现在2天才算完美无缺的给迁移成功了.

点评

%WB_PE_ARCH%, x%_V8664% 可以得到对应的 x86 或者 x64。 (构建开始会输出可用的环境变量,构建速度比较快,可以用日志模式构建,查看 上一次构建日志)  详情 回复 发表于 2020-12-2 01:07
回复

使用道具 举报

 楼主| 发表于 2020-12-2 01:07:58 | 显示全部楼层
550 发表于 2020-12-2 00:36
7z的迁移,花得时间最长了,到现在2天才算完美无缺的给迁移成功了.

%WB_PE_ARCH%,   x%_V8664% 可以得到对应的 x86 或者 x64。

(构建开始会输出可用的环境变量,构建速度比较快,可以用日志模式构建,查看 上一次构建日志)
回复

使用道具 举报

发表于 2020-12-2 01:13:39 | 显示全部楼层
我把自己的工具集中在“X:\PEMaterial\BYtools”里面,貌似也就一个%X%可用,程序文件夹的名称带了个空格“Program Files”,在1909里无恙,但是到了20H2,我的远程启动脚本出错了,排查的时间不低于迁移7Z,于是防患于未然,干脆迁移到了没空格的文件夹里了。

点评

7zip的源文件,%~dp0x86可以用变量统一,也不用判断。 X_PF,X_PF86好像有这两个变量,不过你都放X_PF还简单。 Program Files也有空格啊,感觉问题是() 括号。。。  详情 回复 发表于 2020-12-2 01:19
回复

使用道具 举报

 楼主| 发表于 2020-12-2 01:14:59 | 显示全部楼层
550 发表于 2020-12-1 21:40
slore 发表于 2020-12-1 21:10
你发的只有预设,需要你的10-MyCustom的文件夹和main.html。

x86,x64共用预设:
工程自带的Admin账户,勾选预创建用户主目录。
自己建立一个补丁,如果x86的话,删除%X_SYS%\PreMakeUserProfile.bat,忘了名字,
你可以看下,Admin账户补丁的代码,勾选那个选项是多复制了一个批处理,LogonAdmin.bat会调用。


机器名是修改 无人值守 xml文件,你自己的last批处理中TextReplace即可。


X盘大小,就是复制驱动,改注册表。你可以用批处理代码,根据X86还是x64重新改掉。

点评

550
预设合并的话,觉得还是分开独立的好,自由。主要是怕自己没稳定的想法,一会儿加个浏览器,一会而减个什么,2种位数的差异可能会很多变数。1909里,x86的软件多,x64的软件少,配置的差距很多。20H2目前暂时是同一的  详情 回复 发表于 2020-12-2 03:18
回复

使用道具 举报

 楼主| 发表于 2020-12-2 01:19:18 | 显示全部楼层
550 发表于 2020-12-2 01:13
我把自己的工具集中在“X:\PEMaterial\BYtools”里面,貌似也就一个%X%可用,程序文件夹的名称带了个空格“ ...

7zip的源文件,%~dp0x86可以用变量统一,也不用判断。

X_PF,X_PF86好像有这两个变量,不过你都放X_PF还简单。


Program Files也有空格啊,感觉问题是() 括号。。。
回复

使用道具 举报

发表于 2020-12-2 01:29:48 | 显示全部楼层
就是RADMIN的自动化启动脚本,排查2天后实在没办法了,就把他X:\Program Files\拷贝到X:\PEMaterial,测试结果就完美通过。既然干了迁移工作了,就干脆全迁移到没空格的文件夹里了。于是乎也想这开始迁移构建工具了....
回复

使用道具 举报

发表于 2020-12-2 02:22:39 | 显示全部楼层
本帖最后由 550 于 2020-12-2 02:32 编辑

把7z.bat文件去掉了,直接在MAIN.BAT顶行加上2句,测试通过....
if exist "%X_PF%\7-Zip\" rd /s /q "%X_PF%\7-Zip\"

XCOPY "%~dp0%_Vx8664%\*" "%X_PF%\7-Zip\" /s /h /y

效果一样,代码精简了.昨晚误以为“_V”是“vendor”的某个变量。现在看来,构建软件在挂载好install.wim的同时就做了位数判断,直接拿他位数的变量就可以了.
回复

使用道具 举报

发表于 2020-12-2 02:51:46 | 显示全部楼层
把其他的bat也用位数变量,代码一下子精简掉一大半.自己读起来还顺畅.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 05:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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