无忧启动论坛

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

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

    [复制链接]
5671#
发表于 2021-1-13 20:50:09 | 只看该作者
老大双引号没解决呢,这个是参数里的转义,目前不会转,这才另辟蹊径,改成绝对路径了。变量路径需要双引号套着才会识别,但他是以参数形式出现的,如何修改才能让他也转义呢.





就2句,该如何修改呢

点评

[attachimg]472905[/attachimg] 引号批处理调用传递有问题需要用#q替换保留下来。 call PinToStartmenu -paramlist "[[cmd.exe]], '360极速浏览器黑色', '--user-data-dir=#q#ptemp#p\\7ZipSfx.000\%user Data  详情 回复 发表于 2021-1-13 23:08
回复

使用道具 举报

5672#
发表于 2021-1-13 21:53:41 | 只看该作者
本帖最后由 WAIGO 于 2021-1-13 21:56 编辑

slore 大您好!刚下载了全套的 Win10 更新版本,准备明早同歩更新全系列 PE。

老大代做的 main.lua 文件,虽然能夠正确显示出 OEM 信息,但最重要的 "windows 版本" 说明部分却和正式版有颇大的分别,例如原版第一行是中文的 "Windows 10 企业版" (见图一),您在 main.lua 里面的显示却全是英文,而且左边的说明文句和右边的 "Windows 10" 特大字商标位置也不太齐整 (见图二)。想麻烦老大再略为调整一下,使之和图一的显示方式一致。非常感谢!



2021-01-13_211352.png (510.13 KB, 下载次数: 112)

2021-01-13_211352.png

2021-01-13_085212.png (471.68 KB, 下载次数: 128)

2021-01-13_085212.png

点评

版本信息在,在注册表。那个英文是PE,为什么非要改成Windows? 图片对齐修改 main.xml  发表于 2021-1-13 22:39
回复

使用道具 举报

5673#
 楼主| 发表于 2021-1-13 23:08:20 | 只看该作者
550 发表于 2021-1-13 20:50
老大双引号没解决呢,这个是参数里的转义,目前不会转,这才另辟蹊径,改成绝对路径了。变量路径需要双引号 ...



引号批处理调用传递有问题需要用#q替换保留下来。

  1. call PinToStartmenu -paramlist "[[cmd.exe]], '360极速浏览器黑色', '--user-data-dir=#q#ptemp#p\\7ZipSfx.000\\User Data#q'"
  2. call PinToStartmenu -paramlist "[[cmd.exe]], '360极速浏览器白色', '--user-data-dir=#q#ptemp#p\\7ZipSfx.000\\User-Data#q'"
复制代码


但是这样 lua 文件中也还是 #q 不变,需要使用 TextReplace 宏 替换 #q 为 "。


lib/macros/LuaLink.cmd
lib/macros/LuaPin.cmd


call TextReplace "%LUAPIN_FILE%" #sp "%%%%" g
call TextReplace "%LUAPIN_FILE%" #sq #q g


#s 是 # 的转义, #sq =>  "#q", 然后 后面直接的 #q 是 TextReplace.js中 替换成 " ,
这样就把  #q 替换成 " 了。

如果用 TextReplace #q #q 相当于把 " 替换成 ", 没有实际作用。




点评

550
2个批处理抢CPU资源。构建工具第一次没抢得过UUP,出来的ISO多了百来兆,于是再重制作一边看看  发表于 2021-1-13 23:49
550
目前UUP在转ISO,CPU100...电脑动的极慢  发表于 2021-1-13 23:46
回复

使用道具 举报

5674#
发表于 2021-1-13 23:25:01 | 只看该作者
不错,支持楼主
回复

使用道具 举报

5675#
发表于 2021-1-13 23:52:35 | 只看该作者
本帖最后由 550 于 2021-1-14 00:30 编辑



相互争夺中,希望UUP别出乱子,否则白干了。他得转好长时间...

应该又是失败,没抢过CPU资源,出来的ISO更加多了,多了100M多多。不管了,先启动看看,是不是把双引号给弄进去了再说..

一次性通过,双引号弄进去了,实测成功启动。赞攒攒
奇怪了,UUP已经好了,电脑正常了,构建出来的ISO还是多了100M左右,且PE能正常启动,看不出异状.






回复

使用道具 举报

5676#
发表于 2021-1-14 00:50:00 | 只看该作者
本帖最后由 550 于 2021-1-14 01:15 编辑

体积变大的,重新解压一份备份的,解决。

重新调试,再看看...
最终结果是完美转义,成功.

有了双引号,不管变量路径和路径中的空格,都能迎刃而解了.

图上的的黑色是个空格,官方的路径,现在加了双引号,就可以识别了。 现在集全了.


回复

使用道具 举报

5677#
发表于 2021-1-14 10:41:45 来自手机 | 只看该作者
550 发表于 2021-1-13 16:30
原来照着桌面的人物方向,没找到一摸一样的缩小版。现在按照 断网换用户仅首次 的缩小版,居然找到了他的放 ...

你说情况,我都没看明白,我们直接下载安装就可以使用了,

点评

550
老大默认的转换用户的图标会随着WINDOWS的版号的变化而变化。主要是微软在动图标库。但是不是全动,只是改动部分的。我不小心找到了一对大小不同,但外形一摸一样排列方向也一致的图标。但他们却没被动过。估摸着属  详情 回复 发表于 2021-1-14 12:51
回复

使用道具 举报

5678#
发表于 2021-1-14 12:51:37 | 只看该作者
狼人72105 发表于 2021-1-14 10:41
你说情况,我都没看明白,我们直接下载安装就可以使用了,

老大默认的转换用户的图标会随着WINDOWS的版号的变化而变化。主要是微软在动图标库。但是不是全动,只是改动部分的。我不小心找到了一对大小不同,但外形一摸一样排列方向也一致的图标。但他们却没被动过。估摸着属于一对类型的,被动的概率就极低了。于是就选择他们了

点评

550
感觉最后指向系统里的DELL,不是绝对保险。不如觉得合适的直接提出来,方便锁定。我的好几个BAT的图标在新版里直接就空白了。真琢磨着新版里的图标,挑选合适的先提出来锁定  发表于 2021-1-14 14:54
其实也可以提取出来,指定固定图标ico资源。系统有,先用系统的。  发表于 2021-1-14 14:47
回复

使用道具 举报

5679#
发表于 2021-1-14 14:42:49 | 只看该作者
这节奏,7天就出一个版号...
回复

使用道具 举报

5680#
发表于 2021-1-14 14:56:53 | 只看该作者
a19970519 发表于 2021-1-6 17:37
实体机,修改了pecmd,添加了一端开机启动应用,其他东西没有变

// Pecmd launched from : RegWrite,HKLM,0x1,Tmp_System\Setup,CmdLine,"Pecmd.exe Main #$pWindir#$p\System32\Pecmd.ini"

LOGS %WinDir%\System32\Pecmd.%USERNAME%.log

CALL OSInit
CALL PreShell
CALL LoadShell
CALL PostShell
CALL Tomcat9

TIPS  The system configuration is finished.,,1,#1
WAIT 3000
EXIT

////////////////////////////////////////////////////////////////////////////////////////////////
_SUB OSInit

// winpeshl.ini with [LaunchApps] wpeinit.exe
IFEX %WinDir%\System32\winpeshl.log,!EXEC %WinDir%\System32\winpeshl.exe
// EXEC %WinDir%\System32\wpeinit.exe

// Load Display drivers
// EXEC =@!%WinDir%\System32\Drvload.exe %WinDir%\inf\basicdisplay.inf %WinDir%\inf\basicrender.inf %WinDir%\inf\c_display.inf %WinDir%\inf\display.inf %WinDir%\inf\displayoverride.inf

TEAM DISP W1024 H768 B32|DISP W1280 720 B32
//TEAM DISP W1024 H768 B32|DISP W1280 720 B32|DISP W1280 H1024 B32|DISP W1366 H768 B32|DISP W1920 H1080 B32
LOGO %WinDir%\web\wallpaper\Windows\img0.jpg
NUMK 1
TEXT System configuration, Please Wait...#0xFFFFFF L59 T39 $20*
// TIPS  System configuration, Please Wait..,,1,#1

_END
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB PreShell

EXEC =!"X:\PEMaterial\Autoruns\PEStartupMain.bat" OSInit
INIT IU,3000

_END
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB DaemonShell
// FIND %~1=explorer.exe,SET shell_cmd=PECMD EXEC -HOOK explorer.exe,!SET shell_cmd=%~1 %~2 %~3
FIND $%USERNAME%<>SYSTEM,EXEC %ProgramFiles%\WinXShell\WinXShell.exe -luacode "shel([[%~1 %~2 %~3]])"!SHEL %~1 %~2 %~3

_END
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB LoadShell

IFEX %WinDir%\System32\ctfmon.exe, EXEC PECMD.exe EXEC -su %WinDir%\System32\ctfmon.exe
EXEC =!"X:\PEMaterial\Autoruns\PEStartupMain.bat" BeforeShell

//EXP_SHEL explorer.exe
//WXS_SHEL "%ProgramFiles%\WinXShell\WinXShell.exe" -regist -winpe
//EXP_EXEC !%ProgramFiles%\WinXShell\WinXShell.exe -regist -daemon

_END
////////////////////////////////////////////////////////////////////////////////////////////////
_SUB PostShell

// Dism can't mount in SYSTEM without workgroup
// CALL $Netapi32.dll,NetJoinDomain,,WORKGROUP,,,,1

LOGO
// EXEC  = Wait, @background, ! Hide. ex: EXEC =WaitNoHide.cmd, EXEC @!=WaitHide.cmd, EXEC NoWaitNoHide.cmd, EXEC @!NoWaitHide.cmd

EXEC =%ProgramFiles%\WinXShell\WinXShell.exe -luacode Taskbar:WaitForReady()
EXEC !"X:\PEMaterial\Autoruns\PEStartupMain.bat" PostShell

// Load drivers
//DEVI %WinDir%\inf\battery.inf
//DEVI %WinDir%\inf\usbport.inf

_END

_SUB Tomcat9

EXEC !Net Start tomcat9

_END
////////////////////////////////////////////////////////////////////////////////////////////////

点评

550
少了一个H,TEAM DISP W1024 H768 B32|DISP W1280 h720 B32,以前提过了老大忘了改进了  发表于 2021-1-14 15:24
回复

使用道具 举报

5681#
发表于 2021-1-14 15:19:35 | 只看该作者
又测试了今天的新版21292.1000,大概率是真的失效了.


新版上,其他的图标不止一个的空白了,2个箭头我是用了2个资源的,现在空了.




回复

使用道具 举报

5682#
发表于 2021-1-14 16:31:33 | 只看该作者
本帖最后由 550 于 2021-1-14 16:45 编辑

第二次实体机失败了,当然成功的也有,没找到规律。
老大看看,这是什么鬼,2次失败就卡在这里,拷贝不到C盘去。WINNTSETUP.EXE的最后拷贝和注册表加载。这个拷贝失败,意味着开机后远程就中断了。
且这个时候PE无法重启了,因为C盘已经格式化掉了,WINRE不在了.



点评

550
最后网上查了资料,就做了个动作救回BAT文件:打开老的另存为新的BAT,再拷贝到C盘,解决.  发表于 2021-1-14 17:32
550
是在WINNTSEUP的选择窗口下,导入BAT的时候,临时记起右键那个主文件,编辑了下密码.大概就是这个细节导致无法拷贝文件了.  发表于 2021-1-14 17:01
550
回忆了下2次失败的相同动作,就是都在WINNTSETUP要确认开始安装的时候,临时修改了登陆密码。那几次成功的都是忘了修改密码了。密码就是在BAT文件里的  发表于 2021-1-14 16:58
回复

使用道具 举报

5683#
发表于 2021-1-14 17:37:04 | 只看该作者
本帖最后由 550 于 2021-1-14 17:42 编辑

继续远程后,发现虽然PE远程服务的失效了,但是当下的系统19042.***客户端去访问21292.1000还是可以的.


下面的这张是PE的客户端连到新系统里,也是可以的




唯独,21292的PE,远程桌面服务这个模块失效了.

回复

使用道具 举报

5684#
发表于 2021-1-14 21:18:13 | 只看该作者
本帖最后由 nttwqz 于 2021-1-14 21:19 编辑

强烈建议默认关闭显示所有文件夹,关闭展开到当前文件夹,严重影响使用,我相信绝大多数用户都没有开启这两个选项的习惯,特别是在换新机器硬盘数据拷贝数据切换分区时,展开到当前文件夹看起来列表很长,只能点击地址栏回到磁盘列表,因为左边列表实在太长,看不到。如果左边没有展开,可以直接点击其他分区,很方便。所有文件夹在PE下没多大意义。。。

文件位置在:
Projects\WIN10XPE\01-Components\00-Shell\ShellSettings\_NavPaneShowAllFolders.bat
Projects\WIN10XPE\01-Components\00-Shell\Shell_RegDefault.reg

要是作者实在喜欢这两个功能,我自己改好了。。。

点评

所有文件夹 就是多了个用户目录,控制面板和回收站。 展开到当前文件夹确实比较深,不过你不说我也没啥特别感觉影响到使用。 看了下正常Windows是默认关闭的,下次更新这2个选项关闭掉。  详情 回复 发表于 2021-1-17 18:07
550
有点...呵呵,看了你的贴,我自己也补丁上去了.在任意的自定义补丁LAST.BAT尾部加上去即可. rem 关闭 显示所有文件夹 0&1 reg add HKLM\tmp_DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanc  详情 回复 发表于 2021-1-14 22:46
回复

使用道具 举报

5685#
发表于 2021-1-14 22:46:16 | 只看该作者
本帖最后由 550 于 2021-1-14 22:48 编辑

nttwqz 发表于 2021-1-14 21:18
强烈建议默认关闭显示所有文件夹,关闭展开到当前文件夹,严重影响使用,我相信绝大多数用户都没有开启这两 ...


有点...呵呵,看了你的贴,我自己也补丁上去了.在任意的自定义后置补丁LAST.BAT尾部加上去即可.

rem 关闭 显示所有文件夹 0&1
reg add HKLM\tmp_DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v NavPaneShowAllFolders /t REG_DWORD /d 0 /f
rem 关闭 展开到打开的文件夹 0&1
reg add HKLM\tmp_DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v NavPaneExpandToCurrentFolder /t REG_DWORD /d 0 /f
回复

使用道具 举报

5686#
发表于 2021-1-14 22:55:19 | 只看该作者
感谢大大分享
回复

使用道具 举报

5687#
发表于 2021-1-14 23:38:53 | 只看该作者
请问 S大, 右键 "新建快捷方式" 怎么删除?
反正用不了, 不如删除显得干净利落.

点评

删除 HKEY_CLASSES_ROOT\.lnk\ShellNew 这个注册表就可以把新建快捷方式菜单删除掉。  详情 回复 发表于 2021-1-17 18:07
vaf
麻烦查一下吧.  详情 回复 发表于 2021-1-15 10:00
印象中是能用的,不用的话,应该改注册表可以去掉,具体是啥得查下。  发表于 2021-1-15 09:57
回复

使用道具 举报

5688#
发表于 2021-1-15 08:07:42 来自手机 | 只看该作者
我自己已经改好了,同时改了默认展开功能区和磁盘列表,功能区建议增加选项,磁盘列表建议默认展开

点评

我对这个设置没有啥喜好,默认工程迁移过来的。 个人设定,自己把脚本或者reg文件复制到 我的定制前置 的 Last\ 目录会自动导入。 或者放到 我的定制后置,自己做一个我的设置 last.bat修改。 直接构建  详情 回复 发表于 2021-1-15 09:56
回复

使用道具 举报

5689#
 楼主| 发表于 2021-1-15 09:56:02 | 只看该作者
nttwqz 发表于 2021-1-15 08:07
我自己已经改好了,同时改了默认展开功能区和磁盘列表,功能区建议增加选项,磁盘列表建议默认展开

我对这个设置没有啥喜好,默认工程迁移过来的。
个人设定,自己把脚本或者reg文件复制到  我的定制前置 的 Last\
目录会自动导入。

或者放到  我的定制后置,自己做一个我的设置

last.bat修改。

直接构建出来的事例工程,细节注册表优化设定自己写补丁再个性化,啥都要做选语言翻译就很费事。
回复

使用道具 举报

5690#
发表于 2021-1-15 10:00:25 | 只看该作者
vaf 发表于 2021-1-14 23:38
请问 S大, 右键 "新建快捷方式" 怎么删除?
反正用不了, 不如删除显得干净利落.

麻烦查一下吧.
回复

使用道具 举报

5691#
发表于 2021-1-15 13:31:34 | 只看该作者
本帖最后由 550 于 2021-1-15 13:40 编辑

刚刚发现,360的异状排除了。原来的360当用户切换的时候,必须关闭360浏览器,否则到了那边就有无法启动浏览器的现象。双引号加上后,2边都能无限制的开启窗口了,

也能2边黑白同时开启无限制窗口(原来是无法实现的)

PS:原来的一个加引号,一个绝对路径,只是稍稍不严谨,就出现了古里古怪的现象...现在符合谷歌的规范了,也就发挥出所有的功能了


点评

ISO右键菜单? 具体是啥菜单。我用默认构建,只有挂载和共享。 [attachimg]473293[/attachimg]  详情 回复 发表于 2021-1-17 21:31
回复

使用道具 举报

5692#
发表于 2021-1-16 04:35:42 | 只看该作者
已经制作成功,很棒
回复

使用道具 举报

5693#
发表于 2021-1-16 16:25:13 | 只看该作者
楼主请问怎么删除自带的explorer和命令行图标

点评

定制,外壳,自定义图标,删除不要的快捷方式和固定到任务栏的的图标。  发表于 2021-1-16 18:22
回复

使用道具 举报

5694#
发表于 2021-1-17 01:34:29 | 只看该作者
楼主又来打扰了,请问进入PE后需要先运行某个注册表再运行1个批处理请问要怎么操作?

点评

你是手工补充,还是构建是补充? 进入桌面前执行?还是进入桌面后执行? 实现方法是: 自己pecmd.ini添加 reg import 再 exec 批处理。 用WimBuilder2的启动管理方法的话: X:\PEMaterial\Autoruns\Startu  详情 回复 发表于 2021-1-17 12:21
回复

使用道具 举报

5695#
发表于 2021-1-17 10:25:56 | 只看该作者
支持楼主
回复

使用道具 举报

5696#
 楼主| 发表于 2021-1-17 12:21:22 | 只看该作者
ahxx 发表于 2021-1-17 01:34
楼主又来打扰了,请问进入PE后需要先运行某个注册表再运行1个批处理请问要怎么操作?

你是手工补充,还是构建是补充?
进入桌面前执行?还是进入桌面后执行?

实现方法是:
自己pecmd.ini添加 reg import 再 exec 批处理。

用WimBuilder2的启动管理方法的话:

X:\PEMaterial\Autoruns\Startup\
00-xxx.reg
01-xxx.bat

放进去就会自动运行,按名字排序的所以会先导入reg再执行bat。

如果不想名字加序号排列:

X:\PEMaterial\Autoruns\Startup\
xxxxreg.txt
xxxxxx.bat
reg import xxxxreg.txt
本来的批处理代码

xxxxx.bat先reg import 导入注册表,再执行自己的代码。




如果是希望构建的时候就做好,而不是自己再修改成品,把文件放到下面,会自动复制到boot.wim\PEMaterial(也就是X:\PEMaterial)

Z:\WimBuilder2\Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns\Startup

点评

已经按照楼主的方法实现,非常感谢  详情 回复 发表于 2021-1-17 14:59
回复

使用道具 举报

5697#
发表于 2021-1-17 14:59:55 | 只看该作者
slore 发表于 2021-1-17 12:21
你是手工补充,还是构建是补充?
进入桌面前执行?还是进入桌面后执行?

已经按照楼主的方法实现,非常感谢
回复

使用道具 举报

5698#
发表于 2021-1-17 17:17:07 | 只看该作者
本帖最后由 ahxx 于 2021-1-17 17:22 编辑

楼主我需要在PE运行完,进入桌面后,自动运行一个程序的快捷方式要怎么处理?
其实就是希望自动运行ghost还原系统

我把ghost快捷方式扔到这个目录做出来的boot.wim没有运行ghost,把注册表文件扔进这个目录倒是在后台运行了
E:\WimBuilder2-Full.v2021-01-01\Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns\Startup

点评

好的,我去试试  详情 回复 发表于 2021-1-17 19:19
默认只执行,exe,reg,cmd,bat文件。直接放个批处理 start "ghost" ghost.exe(自己写全路径)吧。  详情 回复 发表于 2021-1-17 17:52
回复

使用道具 举报

5699#
发表于 2021-1-17 17:39:43 | 只看该作者
牛,尝试一下
回复

使用道具 举报

5700#
 楼主| 发表于 2021-1-17 17:52:43 | 只看该作者
ahxx 发表于 2021-1-17 17:17
楼主我需要在PE运行完,进入桌面后,自动运行一个程序的快捷方式要怎么处理?
其实就是希望自动运行ghost ...

默认只执行,exe,reg,cmd,bat文件,lnk快捷方式文件不执行。直接放个批处理
start "ghost" ghost.exe(自己写全路径)吧。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-7 11:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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