无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: slore
打印 上一主题 下一主题

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

    [复制链接]
2191#
 楼主| 发表于 2019-10-15 19:18:49 | 只看该作者
wchongy 发表于 2019-10-15 18:42
HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder
不知道怎么删除,!正常 ...

这个键下面有一个:
System.IsPinnedToNameSpaceTree

英文就是翻译过来就是 固定到 命名空间树 上。

默认系统是0, 不显示。
PE的话,我没主动添加,估计是winre.wim默认的注册表是1?

你离线改成0,或者Startup里面放一个改成0的批处理就好了。

点评

reg delete "HKLM\tmp_SOFTWARE\Classes\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder" /f BAT文件放到Startup里面删除不掉这个项!  详情 回复 发表于 2019-10-15 22:20
回复

使用道具 举报

2192#
发表于 2019-10-15 19:28:07 来自手机 | 只看该作者
反馈一个问题,当没有选择install源文件,只选择基础镜像时,使用"对WinSxS进行精简的WinRE"没有增加x86的WinSxS相关文件,然后不能运行32位的程序

点评

没选install源的话,对winre.wim想干嘛?只做精简? 这种情况,选择使用完整的WinRE。既然是精简,那就精简掉,也许之后自己打算, 手动进行二次加工?  详情 回复 发表于 2019-10-15 19:58
回复

使用道具 举报

2193#
 楼主| 发表于 2019-10-15 19:58:18 | 只看该作者
834772509 发表于 2019-10-15 19:28
反馈一个问题,当没有选择install源文件,只选择基础镜像时,使用"对WinSxS进行精简的WinRE"没有增加x86的W ...

没选install源的话,对winre.wim想干嘛?只做精简?

这种情况,选择使用完整的WinRE。既然是精简,那就精简掉,也许之后自己打算,
手动进行二次加工?

点评

是的,就是对PE进行二次加工,按道理来说应该会保留x86的winSxS相关文件才对呀  详情 回复 发表于 2019-10-15 20:02
回复

使用道具 举报

2194#
发表于 2019-10-15 20:02:41 来自手机 | 只看该作者
slore 发表于 2019-10-15 19:58
没选install源的话,对winre.wim想干嘛?只做精简?

这种情况,选择使用完整的WinRE。既然是精简,那 ...

是的,就是对PE进行二次加工,按道理来说应该会保留x86的winSxS相关文件才对呀

点评

这个是【构建】的【精简选项】。具体步骤是, 删除全部WinSxS,然后从install.wim提取指定文件。 没有install.wim的话,应该为空目录,或者不存在了,不只是32位程序不能运行应该。 记得以前发过一个 AddWinSxS  详情 回复 发表于 2019-10-15 21:49
回复

使用道具 举报

2195#
发表于 2019-10-15 20:11:47 | 只看该作者
wchongy 发表于 2019-10-15 18:42
HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder
不知道怎么删除,!正常 ...


要知道,HKEY_CLASSES_ROOT\CLSID是HKEY_LOCAL_MACHINE\SOFTWARE\Classes的映射,会被wimbuilder2挂载到:HKEY_LOCAL_MACHINE\tmp_SOFTWARE\Classes,因此自己写个补丁,导入注册表,reg import 1111.reg,或者转换为批处理也行啊。随便搞吧。

1111.reg:
Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\tmp_SOFTWARE\Classes\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]

点评

这个项删不掉,在PE下没有权限删除  详情 回复 发表于 2019-10-15 22:15
回复

使用道具 举报

2196#
发表于 2019-10-15 21:48:27 | 只看该作者
我用的 win10 ltsc 2019 版本
我构建成功在虚拟中测试,启动后出现以下内容:
your pc ran into a problem and needs to restart. we'll restart for you.


回复

使用道具 举报

2197#
 楼主| 发表于 2019-10-15 21:49:26 | 只看该作者
834772509 发表于 2019-10-15 20:02
是的,就是对PE进行二次加工,按道理来说应该会保留x86的winSxS相关文件才对呀


这个是【构建】的【精简选项】。具体步骤是,
删除全部WinSxS,然后从install.wim提取指定文件。
没有install.wim的话,应该为空目录,或者不存在了,不只是32位程序不能运行应该。

记得以前发过一个 AddWinSxSFileList 从winre.wim提取的例子。
是个单独的精简WinSxS的补丁。我找找看。
回复

使用道具 举报

2198#
 楼主| 发表于 2019-10-15 21:58:25 | 只看该作者
ster1357A 发表于 2019-10-15 21:48
我用的 win10 ltsc 2019 版本
我构建成功在虚拟中测试,启动后出现以下内容:
your pc ran into a proble ...

沒有选择ISO挂载的驱动器(例如: H:),而是只选了 install.wim 文件?
用的默认选项构建,还是自己进行了选项的设定进行的构建?

有没有提示你:
当前_ISO_模板目录不可用,您无法创建可启动的ISO镜像。
请手动创建您的ISO模板,或者选择Windows镜像路径,将自动为您创建。

The _ISO_ folder is not available, you can't create bootable ISO image.
Please make your ISO template manually, or select the Windows ISO folder/drive for auto creating.


回复

使用道具 举报

2199#
发表于 2019-10-15 22:15:17 | 只看该作者
liuzhaoyzz 发表于 2019-10-15 20:11
要知道,HKEY_CLASSES_ROOT\CLSID是HKEY_LOCAL_MACHINE\SOFTWARE\Classes的映射,会被wimbuilder2挂载 ...

这个项删不掉,在PE下没有权限删除

点评

刪除会残留一个 空白图标,而且还在那里显示。 正常系统不显示,PE系统显示的原因知道了。 文件夹选项,是有这个设定的, 默认是不显示库。 通过修改这个选项,将更新: System.IsPinnedToNameSpaceTree 为0  详情 回复 发表于 2019-10-16 00:38
回复

使用道具 举报

2200#
发表于 2019-10-15 22:18:24 | 只看该作者
感谢!学习了,我是在默认选项 自己多选了两个选项,后面 全部选择默认,就OK了,在虚拟机测试正常。
回复

使用道具 举报

2201#
发表于 2019-10-15 22:20:07 | 只看该作者
slore 发表于 2019-10-15 19:18
这个键下面有一个:
System.IsPinnedToNameSpaceTree

reg delete "HKLM\tmp_SOFTWARE\Classes\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder" /f
BAT文件放到Startup里面删除不掉这个项!

点评

Startup是进入PE运行的,不是离线。所以tmp_SOFTWARE找不到,去掉tmp。 因为是进入PE运行,所以也可以直接用HKCR。  详情 回复 发表于 2019-10-15 23:21
回复

使用道具 举报

2202#
发表于 2019-10-15 23:12:54 | 只看该作者
用WimBuilder2 v2019.10.10.e0179016制作win10_18362_X64PE,选择Lite,制作的PE无法进入桌面。
难道都沒人跟我遇到一樣問題啊???

点评

从强力精简中把 一部分精简 做成 【安全精简】选项了。 关于语言码的初始化代码放到 安全精简了,结果强力精简也需要使用, 新增的【安全精简】默认Lite预设没有选择,所以导致没有保留 936.NLS, 中文的NLS  详情 回复 发表于 2019-10-17 00:38
Lite预设19H1之后有问题。 NLS文件需要保留的多了,所以强力精简 就蓝屏NLS文件错误。 手动, 强力精简 改 安全精简,可以进入启动管理器,但是Explorer依赖dll变多了, 被精简掉导致卡在初始化界面。调出 任务  详情 回复 发表于 2019-10-16 02:02
回复

使用道具 举报

2203#
 楼主| 发表于 2019-10-15 23:21:46 | 只看该作者
wchongy 发表于 2019-10-15 22:20
reg delete "HKLM\tmp_SOFTWARE\Classes\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder" /f
BAT ...

Startup是进入PE运行的,不是离线。所以tmp_SOFTWARE找不到,去掉tmp。
因为是进入PE运行,所以也可以直接用HKCR。
回复

使用道具 举报

2204#
发表于 2019-10-15 23:26:02 | 只看该作者
本帖最后由 saiz 于 2019-10-15 23:35 编辑

發現PECMD的SHEL功能 好像不能在多使用者下同時起作用?
不管是SHEL explorer.exe,SHEL -user explorer.exe ,SHEL -sys explorer.exe
都會發生SYSTEM或Administrator之一無法重刷新explorer.exe 要手動執行explorer.exe
但我最後一定要刷新一下 以套用登錄檔設定的...

因為不知又改到哪了.切換到SYSTEM 都不會自動跑explorer.exe
我明明都沒刪原本pecmd.ini的內容
把自己的設定都移到外部INI. 直接用LOAD載入了

補充:直接以SYSTEM登入 跑一跑黑屏 要手動執行explorer.exe
才能繼續執行
但明明都使用同樣設定檔啊?

点评

一方用了SHEL,SYSTEM的SHEL就失败不启动外壳,所以黑屏。  发表于 2019-10-15 23:47
PECMD我不熟悉,这里我折腾了就几个小时就放弃了。改成EXEC了。 貌似,SHEL方式的话,只认一个Explorer.exe进程,导致多用户没法共存,只能用一个。 可以第一次登陆的用SHEL,如果进程存在EXEC改善吧。 或者  详情 回复 发表于 2019-10-15 23:46
回复

使用道具 举报

2205#
 楼主| 发表于 2019-10-15 23:46:25 | 只看该作者
saiz 发表于 2019-10-15 23:26
發現PECMD的SHEL功能 好像不能在多使用者下同時起作用?
不管是SHEL explorer.exe,SHEL -user explorer.exe ...

PECMD我不熟悉,这里我折腾了就几个小时就放弃了。改成EXEC了。

貌似,SHEL方式的话,只认一个Explorer.exe进程,导致多用户没法共存,只能用一个。
可以第一次登陆的用SHEL,如果进程存在EXEC改善吧。

或者等PECMD更新?也不知道到啥时候了。

SYSTEM黑屏,应该是StartIsBack啥的,某些操作导致外壳崩溃了,
因为没有SHEL的监控了,所以得自己重新加载。

不知道谁清楚-sys, -user的用法。如果没有的话,
就是一个进程监控,还有 关机 函数处理,WinXShell倒是可以做,
正常系统也不用这样,所以一直没有觉得有要加的必要。
回复

使用道具 举报

2206#
发表于 2019-10-16 00:32:13 | 只看该作者
gazi06 发表于 2019-10-15 16:15
就像以前安装的windows winpe一样,Lite Office 2010甚至可以完美运行 {: 1_186:}

Lite Office 2010 这从哪里能下载到?
回复

使用道具 举报

2207#
 楼主| 发表于 2019-10-16 00:38:55 | 只看该作者
本帖最后由 slore 于 2019-10-16 01:47 编辑
wchongy 发表于 2019-10-15 22:15
这个项删不掉,在PE下没有权限删除


刪除会残留一个 空白图标,而且还在那里显示。

正常系统不显示,PE系统显示的原因知道了。

文件夹选项,是有这个设定的, 默认是不显示库。
通过修改这个选项,将更新:
System.IsPinnedToNameSpaceTree 为0,或者 1。

但是,SYSTEM用户的配置定义,没有ShowLibraries的定义,
对于0,1表示显示还是不表示不知道。所以设定无效。

而正常系统当前用户是有这个定义的。

修改也很简单,给SYSTEM也复制下下面的定义即可。

set _target_key=Microsoft\Windows\CurrentVersion\Explorer\Advanced\NavPane
reg copy HKLM\src_SOFTWARE\%_target_key% HKLM\tmp_DEFAULT\%_target_key% /s

另外,显示全部文件夹选项必须关闭(只修改这里)。

Z:\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\Shell_RegDefault.reg
[HKEY_LOCAL_MACHINE\Tmp_Default\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"NavPaneShowAllFolders"=dword:00000000

master开发版本,把这个选项移动到:
Projects\WIN10XPE\_CustomFiles_\MyCustom\Last\_NavPaneShowAllFolders.bat

不需要显示所有文件夹的话,删除此文件即可。(懒得做界面的选项了)

点评

[HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder] "Attributes"=dword:b080010d 我有测试,改为b090010d可以去掉库文件夹!转成批处理放到Startup不能生效。离线挂载修改提示没有权  详情 回复 发表于 2019-10-16 11:43
回复

使用道具 举报

2208#
 楼主| 发表于 2019-10-16 02:02:07 | 只看该作者
青青草 发表于 2019-10-15 23:12
用WimBuilder2 v2019.10.10.e0179016制作win10_18362_X64PE,选择Lite,制作的PE无法进入桌面。
难道都沒 ...

Lite预设19H1之后有问题。 NLS文件需要保留的多了,所以强力精简 就蓝屏NLS文件错误。

手动, 强力精简 改 安全精简,可以进入启动管理器,但是Explorer依赖dll变多了,
被精简掉导致卡在初始化界面。调出 任务管理器,运行WinXShell可以进入。

得排除精简的文件了。 精简的批处理,按字母 一批一批的定位需要文件。

点评

可以尝试下我的精简方案,也有安全精简和极限精简 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=416563  详情 回复 发表于 2019-10-16 06:55
老大重新审视精简所需文件时也顺便把应先磁盘性能的文件找出来。磁盘性能很影响效率的  详情 回复 发表于 2019-10-16 04:31
回复

使用道具 举报

2209#
发表于 2019-10-16 04:31:41 | 只看该作者
slore 发表于 2019-10-16 02:02
Lite预设19H1之后有问题。 NLS文件需要保留的多了,所以强力精简 就蓝屏NLS文件错误。

手动, 强力精 ...


老大重新审视精简所需文件时也顺便把影响磁盘性能的文件找出来。磁盘性能很影响效率的

点评

你有没有试过,不勾选 整个 精简,速度是否有改善。 我测试的时候,不勾选 精简,秒进Admin。 还有立邦说的,电源管理,你设置下。看看有没有改进。  详情 回复 发表于 2019-10-16 07:54
回复

使用道具 举报

2210#
发表于 2019-10-16 06:55:57 来自手机 | 只看该作者
slore 发表于 2019-10-16 02:02
Lite预设19H1之后有问题。 NLS文件需要保留的多了,所以强力精简 就蓝屏NLS文件错误。

手动, 强力精 ...

可以尝试下我的精简方案,也有安全精简和极限精简 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=416563

点评

WimBuilder的补丁的话,建议直接 main.html 里面设置 精简模式,界面选择了,自动传递到批处理了。 last.bat  详情 回复 发表于 2019-10-17 00:34
回复

使用道具 举报

2211#
 楼主| 发表于 2019-10-16 07:54:28 | 只看该作者
qingyi78 发表于 2019-10-16 04:31
老大重新审视精简所需文件时也顺便把影响磁盘性能的文件找出来。磁盘性能很影响效率的

你有没有试过,不勾选 整个 精简,速度是否有改善。
我测试的时候,不勾选 精简,秒进Admin。

还有立邦说的,电源管理,你设置下。看看有没有改进。
回复

使用道具 举报

2212#
发表于 2019-10-16 08:26:49 | 只看该作者
本帖最后由 saiz 于 2019-10-16 08:32 编辑

POSTSHELL需要先執行explorer.exe才能執行?
切換到system時都卡在這
手動執行 explorer.exe就繼續了
剛加了行EXEC explorer.exe在前面 真的就順了~

点评

有一句 WinXShell.exe -luacode Taskar:WaitForReady() 等待 外壳程序 加载后才继续。 因为部分功能是需要Explorer存在的,比如 Pin 命令,等固定到任务栏, 或者是进入桌面后,可见运行。  详情 回复 发表于 2019-10-16 08:34
是的,POSTSHELL设计为在explorer启动后执行  发表于 2019-10-16 08:30
回复

使用道具 举报

2213#
 楼主| 发表于 2019-10-16 08:34:06 | 只看该作者
saiz 发表于 2019-10-16 08:26
POSTSHELL需要先執行explorer.exe才能執行?
切換到system時都卡在這
手動執行 explorer.exe就繼續了


有一句

  1. WinXShell.exe -luacode Taskar:WaitForReady()
复制代码


等待 外壳程序 加载后才继续。你可以去掉不等待,
不过为部分功能是需要Explorer存在的,比如 Pin 命令,等固定到任务栏,
或者是进入桌面后,可见运行的,启动内容可能会不正常。

回复

使用道具 举报

2214#
发表于 2019-10-16 11:43:41 | 只看该作者
slore 发表于 2019-10-16 00:38
刪除会残留一个 空白图标,而且还在那里显示。

正常系统不显示,PE系统显示的原因知道了。

[HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]
"Attributes"=dword:b080010d
我有测试,改为b090010d可以去掉库文件夹!转成批处理放到Startup不能生效。离线挂载修改提示没有权限

点评

Startup相当于手动进去,执行批处理。 你添加一个pause,看看错误信息,看看注册表是否修改成功。 离线按理说应该权限都有,不够的话,调用 call ACLRegKey  详情 回复 发表于 2019-10-16 11:49
回复

使用道具 举报

2215#
 楼主| 发表于 2019-10-16 11:49:43 | 只看该作者
本帖最后由 slore 于 2019-10-16 11:51 编辑
wchongy 发表于 2019-10-16 11:43
[HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}\ShellFolder]
"Attributes"=dword:b ...


Startup相当于手动进去,执行批处理。
你添加一个pause,双击运行,看看错误信息,看看注册表是否修改成功。

离线按理说应该权限都有,不够的话,调用
call _ACLRegKey Tmp_SOFTWARE\Classes\CLSID\{xxxxxx}

先获取权限。

点评

LZ,离线挂载注册表,"Attributes"=dword:b080010d ,改为b090010d可以去掉库文件夹!但是还是希望能有效的方法,在生成PE的时候修改次值完成去掉库文件夹!!  详情 回复 发表于 2019-10-16 19:08
添加pause,手动测试运行批处理,提示没有权限  详情 回复 发表于 2019-10-16 12:48
回复

使用道具 举报

2216#
发表于 2019-10-16 12:48:02 | 只看该作者
本帖最后由 wchongy 于 2019-10-16 12:49 编辑
slore 发表于 2019-10-16 11:49
Startup相当于手动进去,执行批处理。
你添加一个pause,双击运行,看看错误信息,看看注册表是否修改 ...


添加pause,手动测试运行批处理,提示没有权限
call _ACLRegKey Tmp_SOFTWARE\Classes\CLSID\{xxxxxx}提示ACLRegKey不是内部命令

点评

Tmp_SOFTWARE。。。  发表于 2019-10-16 12:52
call是离线修改用的。  发表于 2019-10-16 12:52
回复

使用道具 举报

2217#
发表于 2019-10-16 15:57:44 | 只看该作者
slore 发表于 2019-4-29 07:50
1.Projects\SXS\main.bat

提取所有SXS.

这个我测试的没有选择install.wim的情况下,还是没有补充x86的WinSxS,确定勾选了”支持32位程序“
回复

使用道具 举报

2218#
发表于 2019-10-16 16:17:30 | 只看该作者
xiaxia99 发表于 2019-10-16 00:32
Lite Office 2010 这从哪里能下载到?

您可以从这里下载。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=416735
回复

使用道具 举报

2219#
发表于 2019-10-16 16:19:01 | 只看该作者
@slore大师。 在运行某些应用程序时。 应用程序并行配置未获得准确的警告。 我该如何解决。

点评

sxstrace.exe说明是运行库的问题。 VCRuntime 20xx 你需要自己集成到PE。  详情 回复 发表于 2019-10-16 17:56
回复

使用道具 举报

2220#
发表于 2019-10-16 17:18:45 | 只看该作者
如何将以pecm.ini开头的命令传递给主服务器。 例如,我想从lua启动以下命令。

EXEC !=REGEDIT /S %Windir%\System32\0.reg
EXEC !=%ProgramFiles%\78Setup\Utilites\sources64.7z
SHOW -1:0
WAIT 1888
LOAD LettEx.wcs TargOS=Auto MDisk=Y:\kmpe\MInst\MInst.exe
EXEC %windir%\system32\setting.exe
FORX \kmpe\MInst\Registry\x64\*.reg,Regfile,0,EXEC regedit.exe -s "%Regfile%"

WAIT 2000
EXEC %windir%\system32\MInstLink.exe

点评

LUA启动管理器,只有100来行,只包含: 隐藏运行命令 exec, 创建快捷方式 link, 固定任务栏和菜单的 pin 必须编程实现的方法。 其他是LUA自己的语法与功能。 不是pecmd的完全代替品,图上的SHOW命令不支持  详情 回复 发表于 2019-10-16 18:28
放到Autoruns\Starup\BeforeShell\myinit.ini 再创建一个: myinit.bat pecmd.exe myinit.ini  详情 回复 发表于 2019-10-16 17:52
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-15 17:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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