无忧启动论坛

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

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

    [复制链接]
271#
 楼主| 发表于 2019-7-7 22:55:18 | 显示全部楼层
令狐大虾 发表于 2019-7-7 22:37
谢谢老段回复。不知道PECMD.ini居然还要淘汰不好意思。之前我只会拿别人的PE修改。当然其他添加挂载注册表 ...


PETools加载外置 的脚本,不是会自动创建桌面快捷方式么?

当然,你如果看了7-Zip的话,
7-Zip\main.bat
  1. call Link "#pDesktop#p\7-zip" "#pProgramFiles#p\7-zip\7zFM.exe"
复制代码


就是动态创建快捷方式。

你也可以自己写到_CustomFiles_\PECMD.ini中。

后续界面会有 选项,桌面快捷方式,开始菜单快捷方式,固定任务栏,固定开始菜单等。
这些现在都能做。主要是想有怎么样,简单的方法。不用写配置文件,或者很简单明了的配置就可以做到。

这个怎么做的通用,还得好好设计,不过现阶段对于第3方程序,
pecmd.ini自己PostShell后添加一行 加载外置PETools就够用。
回复

使用道具 举报

272#
 楼主| 发表于 2019-7-8 01:22:49 | 显示全部楼层
令狐大虾 发表于 2019-7-8 00:49
1、测试一下,只要不勾选PECMD,启动后即会黑屏。何解呢?
2、勾选强力精简,启动后出现硬件错误

默认配置,不勾选PECMD试试。

强力精简,当时做的时候是RS5吧,后续版本没测试。
不要自己勾选组件,直接选lite4试试。
回复

使用道具 举报

273#
 楼主| 发表于 2019-7-8 01:56:19 | 显示全部楼层
v2019.07.08 更新:
WimBuilder2.part1.rar (4 MB, 下载次数: 566)
WimBuilder2.part2.rar (4 MB, 下载次数: 550)
WimBuilder2.part3.rar (4 MB, 下载次数: 518)
WimBuilder2.part4.rar (4 MB, 下载次数: 547)
WimBuilder2.part5.rar (2.1 MB, 下载次数: 513)

* [组件更新]启用SMB1.0
* [组件更新]【网络】中添加【启用网络发现】选项,启用后可以在我的电脑中, 网络 看到其他机器(及本机)
* [组件更新]修复不选择【搜索】组件时,打开对话框无法过滤文件扩展名问题
* [工具更新]工程中除了PECMD.exe其他程序都移动到vendor目录,可下载github上的开发最新版wimbuilder2-master.zip + vendor 目录 得到最新开发版本
* [工具更新]preset预设清单动态加载,自己添加的预设清单将可以选择。新增full清单,选择全部组件。原lite4改名为lite。



评分

参与人数 1无忧币 +1 收起 理由
psdz + 1 赞一个!

查看全部评分

回复

使用道具 举报

274#
 楼主| 发表于 2019-7-8 06:02:44 | 显示全部楼层
令狐大虾 发表于 2019-7-8 02:15
文件复制失败啊,具体需要怎么操作呢?

你怎么又改名成X_PE了?X_PF啊。另外main.bat是放到02-Apps目录。X_PF的同级别目录。
回复

使用道具 举报

275#
 楼主| 发表于 2019-7-8 18:55:40 | 显示全部楼层
WAIGO 发表于 2019-7-8 18:22
在我这里,只有 WimBuilder2.2019-06-13 技术预览版可以正常制作。此 WimBuilder2.v2019.07.08 更新版,以 ...

你有杀毒软件?删除掉了pecmd.exe?还有其他exe?

论坛下载,直接构建成功。。。。



启动,网络发现,MTP正常。


你做了什么修改么?
默认设定勾选【网络支持】和【MTP】就可以啊。

12H1最新版本 18932.1000
回复

使用道具 举报

276#
 楼主| 发表于 2019-7-9 09:07:25 | 显示全部楼层
本帖最后由 slore 于 2019-7-9 12:02 编辑
WAIGO 发表于 2019-7-9 01:00
再制作一次,情况如旧,请看下面载图及 last_wimbuilder.log 文件:


你的日志看了,补充的文件和修改注册表都成功了。
但是启动没有设置成PECMD调用。

PECMD你是勾选了,且也复制了。

last_wimbuilder.log
Applying Patch:G:\WimBuilder2.v2019.07.08 x64 更新\Projects\WIN10XPE\00-Configures\z-PECMD\main.bat
X_SYS\InitializeNetwork.cmd
X_SYS\Pecmd.ini
X_SYS\Pecmd_x64.exe
X_SYS\Pecmd_x86.exe
X_SYS\winpeshl.ini
复制了 5 个文件
已复制         1 个文件。



但是Projects\WIN10XPE\00-Configures\Loader.bat

if "x%PE_LOADER%"=="xLUA" goto :LUA_ENTRY
if "x%PE_LOADER%"=="xPECMD" goto :PECMD_ENTRY
goto :STARTNET_ENTRY


却没有进入PECMD_ENTRY,而是:STARTNET_ENTRY。

last_wimbuilder.log
Applying Patch:G:\WimBuilder2.v2019.07.08 x64 更新\Projects\WIN10XPE\last.bat
[MACRO]OpenTextFile JS \startnet.cmd 00-Configures\Loader.bat :end_startnet_edit
ARGUMENTS(0):\startnet.cmd
ARGUMENTS(1):00-Configures\Loader.bat
ARGUMENTS(2)::end_startnet_edit
G:\WimBuilder2.v2019.07.08 x64 更新\lib\macros\OpenTextFile.js(11, 1) Microsoft JScript 运行时错误: 文件未找到


我构建的日志:
Applying Patch:Z:\WimBuilder2.v2019.07.08 x64 更新\Projects\WIN10XPE\last.bat
操作成功完成。
(reg add HKLM\Tmp_System\Setup /v CmdLine /d "Pecmd.exe Main %%Windir%%\System32\Pecmd.ini" /f)

你手动修改Setup到 PecmdAdmin.ini就好了。

但是为什么你的不能自动识别呢?

简单的修改方法,你到
00-Configures\z-PECMD\main.bat中添加一句:
set PE_LOADER=PECMD




正常情况下是:
私人定制的main.bat中,如果你勾选了PECMD就设置PE_LOADER=PECMD,

\Projects\WIN10XPE\_CustomFiles_\main.bat

if exist PEMaterial (
  xcopy /Y /E PEMaterial "%X_PEMaterial%\"
  set PE_LOADER=LUA
)
call CheckPatch "00-Configures\z-PECMD"
if "%HasPatch%"=="true"  (
  set PE_LOADER=PECMD
)

知道原因了哦,你截图看到了, 你没有选择【私人定制】,
_CustomFiles_\main.bat 没有运行。


你勾上私人订制就好了。

下个版本,set PE_LOADER=PECMD我补充到z-PECMD\main.bat中吧。
另外把PECMD换成  启动 管理好了。
回复

使用道具 举报

277#
 楼主| 发表于 2019-7-9 09:14:04 | 显示全部楼层
本帖最后由 slore 于 2019-7-9 09:15 编辑
令狐大虾 发表于 2019-7-9 00:59
勾选哪里?找不到嘛


你选择了7-Zip和IE,【软件】(02-Apps)自动被勾选了。

你 运行 构建(日志)模式,给我看下last_wimbuilder.log吧。

你自己也可以看运行过程中应该有:
Applying Patch:Z:\WimBuilder2\Projects\WIN10XPE\02-Apps\main.bat

你也可以main.bat写成:
echo on
call X2X
pause
看看为什么,没有复制。(有pause的用构建(CMD)模式,进行交互操作,别用构建(日志)。)


另外你也试试放到Z:\WimBuilder2\Projects\WIN10XPE\X
  \Program Files\Dism.exe

或者
Z:\WimBuilder2\Projects\WIN10XPE\X_PF\abc.exe
回复

使用道具 举报

278#
 楼主| 发表于 2019-7-9 19:22:26 | 显示全部楼层
令狐大虾 发表于 2019-7-9 19:16
谢谢楼主解答,已经成功。

不过我喜欢在X盘建立一个支持32位的Tools文件夹,里面是可执行的单文件程序 ...

X文件中放Tools工具文件夹,会自动复制过去。

參考7-Zip\main.bat, #p表示%符号。
call Link "#pDesktop#p\7-zip" "#pProgramFiles#p\7-zip\7zFM.exe"

main.bat
  1. call X2X
  2. call Link "#pDesktop#p\abc" "X:\Tools\abc.exe"
  3. call Link "#pDesktop#p\def" "X:\Tools\def.exe"
  4. call Link "#pDesktop#p\xyz" "X:\Tools\xyz.exe"
复制代码
回复

使用道具 举报

279#
 楼主| 发表于 2019-7-9 19:27:46 | 显示全部楼层
本帖最后由 slore 于 2019-7-9 19:34 编辑
艺人 发表于 2019-7-9 18:14
我构建完了 ,还需要挂载ISO,然后丢bootmgr 进去
然后再打包吗。。 这也太麻烦了吧



本身你就不用从ISO光盘解压install.wim和winre.wim,直接界面第一个按钮选择
加载的ISO光盘驱动器,然后自动构建,创建ISO的。


如果你已经构建好的话,不用重新构建
选择ISO光盘的盘符,例如: H: , 直接到 【构建】界面,点 【创建ISO】,即可。

或者你手动复制 boot文件夾, efi文件夾, bootmgr, bootmgr.efi到
WimBuilder2\_ISO_目录,然后  直接到 【构建】界面,点 【创建ISO】,即可。

就几秒钟就好了。固态硬盘的话,第一次3秒,后面再创建ISO是1秒。

_ISO_目录存在的话,就第一次需要复制,后续都不用。这个就1次。
选择了光盘将自动复制,没选择自己准备启动模板复制就来就好了。
回复

使用道具 举报

280#
 楼主| 发表于 2019-7-9 23:26:24 | 显示全部楼层
本帖最后由 slore 于 2019-7-9 23:33 编辑
令狐大虾 发表于 2019-7-9 22:45
WimBuilder=02-Apps下默认没有main.bat 的吧?而且我不用02-Apps调用了。用X
是不是如下这个?


任何一个被运行的main.bat都可以。WimBuilder的设计是每个文件夹可以自己建立,复制,共享。。。

为了简单你可以放到工程WIN10XPE的X目录,工程目录下的main.bat也call X2X了。你自己xcopy也行,X2X主要是我定义的一些X开头的目录,方便不用建立多层,你甚至可以xcopt E:\我的工具,这种工程目录以外的文件。

但是WIN10XPE\main.bat我今后可能会有更新,容易造成冲突,你得自己重新复制这些代码,略麻烦。
推荐的方法(最佳实践):
  • 你自己在WIN10XPE工程目录下创建一个文件夹,比如叫 MyTools。
  • MyTools下创建一个X文件夹,把你的Tools目录复制进去。
  • MyTools目录下创建一个main.bat,写上call X2X还有call link命令。
  • 再创建一个空的main.html <--- WimBuilder识别这是一个要选择的【补丁】
          (当然你也可以写些简单的html内容<p>我的工具包</p>)


重新启动WimBuilder2,你可以看到 补丁树,有个 MyTools,而且被选中。构建即可。

下次我的工程更新了,你把MyTools文件夹复制进去就好了。
回复

使用道具 举报

281#
 楼主| 发表于 2019-7-9 23:42:40 | 显示全部楼层
本帖最后由 slore 于 2019-7-9 23:45 编辑
艺人 发表于 2019-7-8 23:55
求大神解释一下。

这两项是怎么实现的。 我扒了源码就是看不懂。

  1. --设置音量
  2. WinXShell.exe -luacode Volume:SetLevel(50)
  3. --静音
  4. WinXShell.exe -luacode Volume:Mute(1)
  5. --解除静音
  6. WinXShell.exe -luacode Volume:Mute(0)
复制代码


不好意思,好像WinXShell沒更新。

  1. WinXShell.exe -luacode app:call('Volume::Mute',0)
  2. WinXShell.exe -luacode app:call('Volume::SetLevel',50)
复制代码


添加到启动项
WimBuilder2\Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns\Startup\设置音量.bat


声音没特别处理,我还不常用,只是提供界面选项的代码,可以复制用自己的工具设置。

你也可以用nircmd命令,开机设置。

这个需要声音设备被驱动,注册表不好使,声音设备的ID离线还没有产生。
所以作为开机后调用,当然还可以播放开机音乐,,,

PEMaterial\Autoruns\Startup\开机音乐.bat
  1. WinXShell.exe -luacode app:call('Play','X:\\Windows\\System32\\startup.mp3')
复制代码


如果不使用pecmd.ini, 而是使用_CustomFiles_\PEMaterial\pecmd.lua启动,可以直接在PostShell()添加lua代码:
  1. function PostShell()
  2.     ...
  3.     app:call('Volume::Mute',0)
  4.     app:call('Volume::SetLevel',50)
  5.     app:call('Play','X:\\Windows\\System32\\startup.mp3')
  6. end
复制代码
回复

使用道具 举报

282#
 楼主| 发表于 2019-7-10 06:03:42 | 显示全部楼层
本帖最后由 slore 于 2019-7-10 06:04 编辑
令狐大虾 发表于 2019-7-10 00:39
已经成功谢谢楼主。中文有点问题没事,等完善。如今就是练手不急哈哈

请教楼主,上图箭头所示我不需要, ...


1.2.快捷方式
_CustomFiles_\Pecmd.ini
54行开始是创建快捷方式的代码 _SUB Shortcuts你删除:
LINK %Desktop%\Explorer,%WinDir%\Explorer.exe
LINK %Desktop%\Command Prompt,%WinDir%\System32\cmd.exe
这2句。

3. shutdown.bat
刪除 WimBuilder2\Projects\WIN10XPE\X\Users\Default\Desktop\shutdown.bat

另外,
关于快捷方式,中文的问题,你可以试试,去掉勾选【PECMD】。
估计pecmd.lua支持中文。

同时,不想要Explorer.lnk 和 [命令提示符.lnk] 快捷方式,删除:
_CustomFiles_\PEMaterial\pecmd.lua中的:

function ShortCuts()
  LINK('%Desktop%\\Explorer.lnk', 'Explorer.exe')
  LINK('%Desktop%\\#{@shell32.dll,22022}.lnk', 'cmd.exe')
end
回复

使用道具 举报

283#
 楼主| 发表于 2019-7-10 06:55:52 | 显示全部楼层
maanu 发表于 2019-7-10 03:39
Dear Slore,

i am very impressed by this simple and fast winxpe project, i tried to build pe , an ...


Hi, maanu
Thanks for testing and feedback.

1.
imdisk is on my todo list (as origin WIN10XPE project have it)
Primo - I'm using it in normal Windows, not use it in PE.

memory size is different for people, I don't know what options should be settings on UI.
What options do you want?

2. for now, CUSTOM DRIVERS is not working, just a dummy option.
I will support that, if you put your drivers into Projects\WIN10XPE\_CustomFiles_\PEMaterial\MyDrivers,
Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns\InstDrivers.bat will call pnputil or drvload to load them.

3.
I don't know what you mean about PECMD' shutdown, reboot option.

4.
About 3rd applications, yes, there are lots of good softwares in the world. but I only use few of them. I'm working on making System's feature work for PE, I hope others can create their Patch folder for good 3rd applications and share it.
for that, if there are some technology questions or things about how to use WimBuilder's main.bat, main.html, macros to work, I'm glad to answer with what I know.

5.
I don't know who made it. It was sent to me by PM.

filename is Win10PE_x86x64(EFI)_mini(2019).iso.  357 MB
    Boot\
       start_os.bin
       1086.wim  147MB
       1064.wim  216MB

Thank you for your encouragement.

Regards
slore
回复

使用道具 举报

284#
 楼主| 发表于 2019-7-11 17:56:36 | 显示全部楼层
本帖最后由 slore 于 2019-7-11 19:57 编辑
maanu 发表于 2019-7-11 02:39
1- Primo or Arsenal ramdisk allow full fledge SCSI RamDisk . i use nikzzzz's au3 code , which is v ...


Hi, maanu

1. use Primo or imDisk to make a RamDisk can do what?

X:\MyDisk
subset X:\MyDisk B:

You can also got a drive with memory.

I don't know use them to do what? What should I must use new drive(RamDisk) to do?


you can still use your way with nikzzzz's au3 code.

a. make a MyTools folder under Projects\WIN10XPE
put files in it:
  X_SYS\ArsenalRamDisk.a3x
  X_SYS\autoit.exe
  main.html (empty file)
  main.bat
     call X2X

b. edit Projects\WIN10XPE\_CustomFiles_\pecmd.ini with your PECMD codes.


2. Pecmd based SHUTDOWN and Reboot of windows.
Do you mean you want to add shutdown and reboot menu items on the Desktop's contextmenu?

just save you reg to be a shutdown_reboot_menu.reg, and put it into:

Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns\OSinit\

it will registy on booting.
(sorry, this way works with Lua loader, not PECMD.)

In next version, pecmd.ini will call PEMaterial\Autoruns\OSInit, too.

for current version(v2019.07.08), convert your reg items to batch command.
shutdown_reboot_menu.bat
  1. rem HKLM\Software\ ==== HKLM\Tmp_Software\
  2. reg add "HKLM\Tmp_SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\restart" /v "Icon"/d "shell32.dll,46" /f
  3. reg add "HKLM\Tmp_SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\restart" /ve /d "Restart" /f
  4. reg add "HKLM\Tmp_SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\restart\command" /ve /d "pecmd shut -r" /f
  5. reg add "HKLM\Tmp_SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\shutdown" /v "Icon"/d "shell32.dll,27" /f
  6. reg add "HKLM\Tmp_SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\shutdown" /ve /d "ShutDown" /f
  7. reg add "HKLM\Tmp_SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\shutdown\command" /ve /d "pecmd shut" /f
复制代码


put it into:
Projects\WIN10XPE\_CustomFiles_\MyCustom\

the menu items will be added into offline wim.

just wonder about Why needs pecmd-based?
Is pecmd better than microsoft's wpeutil.exe?
wpeutil.exe shutdown
wpeutil.exe reboot

for shutdown/reboot, as there is StartIsBack(StartMenu button), I don't think it is necessary to add them on contextmenu.


回复

使用道具 举报

285#
 楼主| 发表于 2019-7-11 20:21:32 | 显示全部楼层
201287zr 发表于 2019-7-11 18:22
测试了winxshell,在18362中不能使用,会黑屏,不知道为什么,换explorer就能进pe,但startisback关机没有 ...

你的现象有点把我搞混了。

Lua(WinXShell)启动加载器,SYSTEM或者Admin,到20H1都不黑屏,可以启动,
不管Shell是explorer.exe还是WinXShell。
因为没有像PECMD那样增加关机权限,所以explorer的时候开始菜单关机不可用。
但是固定到任务栏应该有个关机图标,点击了可以关机和重启。
WinXShell作为shell的话,StartIsBack压根就用不了,但是WinXShell自带的开始菜单关机和重启正常。

PECMD作为加载器,explorer作为外壳,正常,StartIsBack的开始菜单的关机可用。
WinXShell作为外壳,也不黑屏。正常进系统。StartIsBack不可用,自带开始菜单可关机。

你的具体选项是?给我 【构建(日志)】,或者截图选项。

具体你可以用默认设置构建(PECMD加载器+explorer外壳)。
4种组合我都是测试过的。
回复

使用道具 举报

286#
 楼主| 发表于 2019-7-13 12:13:54 | 显示全部楼层
WAIGO 发表于 2019-7-12 21:15
1、PotPlayer 不能播放的问题解决了,只需要增加 SysWOW64 的内容就可以。

2、遵嘱在 PecmdAdmin.ini 文 ...


1. 如果解決了, 最好说下SysWOW64 补充的具体文件。

2. ProgramFiles有空格,不知道你那样行不行。我用下面的是可以的。
EXEC ="X:\Program Files\WinXShell\WinXShell.exe" -ui -jcfg wxsUI\UI_Logon.zip


不过,因为PECMD的LOGO命令会盖住其他窗口,所以你看不到。
把LOGO命令移动到UI_Logon.zip之后就能看到了。

另外推荐调用jcfg文件,可以设置密码,等待时间,默认用户。
EXEC ="X:\Program Files\WinXShell\WinXShell.exe" -ui -jcfg X:\PEMaterial\UI_LogonPE.jcfg


详细的差别,你可以进PE了,
到"X:\Program Files\WinXShell\"下面运行UI_TEST.bat
有很多参数,可以改背景,模糊效果深度啥的。默认Admin密码是admin。


当然如此的话,只是出这个界面,具体选了哪个用户了,
PECMD不知道。得改main.lua设置程序的返回值。
回复

使用道具 举报

287#
 楼主| 发表于 2019-7-14 21:25:21 | 显示全部楼层
让别人测试打印组件,所以更新了一个 预览版。无特别实质的组件变化,
主要是结构调整。下次打算完善下声音设置, MSI, 第3方驱动调用后再发布更新。

v2019.07.14 预览版:
https://github.com/slorelee/wimb ... WimBuilder2-Full.7z

  • [NEW]新增一个demand(手动)预设,只挂载wim,不改文件,不自动加载注册表(默认组件修改注册表的都会出错,如果不手动加载的话)
  • 【USB设备弹出】和【打印机】 合并为 【设备和打印机】组件
  • 更新打印组件main.bat,可新增打印机菜单
  • 新增【启动管理】,将Lua,PECMD和startnet.cmd不同的加载器与启动初始化管理进行统合
  • 把IE从【程序】移动到【组件】
  • 把PECMD和HotSwap!移动到vendor,wimbuilder-master.zip + vendor 可以自己合并得到最新开发版本

评分

参与人数 1无忧币 +5 收起 理由
我是小青蛙 + 5

查看全部评分

回复

使用道具 举报

288#
 楼主| 发表于 2019-7-17 18:05:01 | 显示全部楼层
本帖最后由 slore 于 2019-7-17 18:14 编辑
iuya 发表于 2019-7-17 17:50
感谢回复,winre自带无线服务,我只要加驱动就可以使用无线。但我需要使一个现有pe增加无线功能。这个pe ...


原来如此。不过我的网络的补充文件是直接搬WIN10XPE的,它是在winre基础上补充文件和服务的。boot.wim的话,是缺了无线支持服务。ADK的话,可以加,可能得自己对比文件和注册表变化了。

ADK只有dot3svc和PPoE拨号。。。
无线是re内置,没有提供独立包。

Network/WinPE-WiFi-Package        WinPE-WiFi-Package is used by Windows Recovery Environment (Windows RE) for built-in recovery functions. This package is included in the base winre.wim file.


我这个工具支持boot.wim的2卷也主要制作带explorer的维护PE。

winre和boot也可以直接比较。。。
回复

使用道具 举报

289#
 楼主| 发表于 2019-7-21 14:18:51 | 显示全部楼层
2013renrenlove 发表于 2019-7-21 13:18
用 v2019.07.14 预览版:https://github.com/slorelee/wimb ... WimBuilder2-Full.7z 做了下workstation_189 ...
workstation_18932.10000版系统


。。。你这样说我也不知道怎么下载这个版本。
预览版我是用uup下载的,只有HOME,PRO版。

另外,直接原版ISO如果可以启动的话,不用更换wim中你列举的系统文件吧。
你使用原版ISO中的boot\,bootmgr作为启动文件创建ISO,启动不了么?

回复

使用道具 举报

290#
 楼主| 发表于 2019-7-21 15:43:17 | 显示全部楼层
2013renrenlove 发表于 2019-7-21 14:44
在 18932.1000.190628-1650.RS_PRERELEASE_CLIENTMULTI_X64FRE_ZH-CN.ISO win10全版本里用Dism++10.1.1000. ...


1.虚拟光驱加载 18932.1000.190628-1650.RS_PRERELEASE_CLIENTMULTI_X64FRE_ZH-CN.ISO

2. 打开WimBuilder2,第一个【准备】页面选择,光驱加载的ISO盘符[例如: H:]。(默认winre.wim不要改)

install.wim的后面有 wim的卷索引[1],选workstation的索引。

构建后,MakeISO试试。

我找下这个版本。下载看看。
回复

使用道具 举报

291#
 楼主| 发表于 2019-7-21 17:06:33 | 显示全部楼层
2013renrenlove 发表于 2019-7-21 16:54
根据楼主的提示,1.打开WimBuilder2,第一个【准备】页面选择,光驱加载的ISO盘符。
2.install.wim的后面 ...

提取install.wim:7中的\Windows\System32\Recovery\winre.wim改名boot.wim, 用这个ISO的boot, bootmgr做一个启动盘,看下可否启动。

预览版本启动上些许有问题,尤其UEFI。不知道你是实机,还是虚拟机?
如果还不能启动,【准备】界面,winre.wim选择H:\sources\boot.wim,然后用index:2。

你说的这个ISO我没有找到,只找到了CLIENTCORE。看了uup的脚本,这个workstation是用
Pro转换出来的。你也可以先试试Pro构建看看可否启动。先排除Edition的问题,还是ISO问题,
或者预览版的问题。

我转换下试试,如果可以,再试试找CLIENTMUTIL的版本。

点评

這個 https://uupdump.ml/]網站[/url] 的uup可以自動轉換 [attachimg]397361[/attachimg] [attachimg]397362[/attachimg] [attachimg]397363[/attachimg] 預覽版一直存在的現像 , 不論是正常系統或 pe , u  详情 回复 发表于 2019-7-21 17:40
回复

使用道具 举报

292#
 楼主| 发表于 2019-7-21 21:07:22 | 显示全部楼层
本帖最后由 slore 于 2019-7-21 21:08 编辑
2013renrenlove 发表于 2019-7-21 18:48
提取install.wim:7中的\Windows\System32\Recovery\winre.wim改名boot.wim。还是失败!
“bootmgr做一个 ...


从 uupdump 上下载带WORKSTATION的18932.1000.190628-1650.RS_PRERELEASE_CLIENTMULTI_X64FRE_ZH-CN.ISO。
实质上和之前说的是从Pro版本转换过去的,install.wim有细微差别,winre.wim没变。

至于启动引导,我用的VitrualBox没有UEFI和SecureBoot的选项,到目前为止预览版都是正常启动
测试修改完善的功能的。这个版本也不例外,启动成功。

先前知道预览版BCD有问题,MakeISO.bat中提供了接口,可以时候在创建ISO的时候替换BCD。
不过应该用bcdedit命令,对新版BCD直接添加比较好吧。

因为我的环境没有重现该问题,也不太清楚命令应该如何写好。


“bootmgr做一个启动盘”不理解。


选择挂载ISO的盘符(例如: H:),WimBuilder2构建后,运行【2-创建镜像】会从H:盘复制ISO光盘中的启动文件,
把构建好的build.wim复制到sources目录下为boot.wim:
Z:\WB\_ISO_>tree /f
│  bootmgr
│  bootmgr.efi

├─boot
│  │  bcd
│  │  boot.sdi
│  │  bootfix.bin
│  │  bootsect.exe
│  │  etfsboot.com
│  │  memtest.exe
│  │
│  ├─fonts
│  │      chs_boot.ttf
│  │      ...
│  │
│  ├─resources
│  │      bootres.dll
│  │
│  └─zh-cn
│          bootsect.exe.mui

├─efi
│  ├─boot
│  │      bootx64.efi
│  │
│  └─microsoft
│      └─boot
│          │  bcd
│          │  cdboot.efi
│          │  cdboot_noprompt.efi
│          │  efisys.bin
│          │  efisys_noprompt.bin
│          │  memtest.efi
│          │  winsipolicy.p7b
│          │
│          ├─fonts
│          │      chs_boot.ttf
│          │      ...
│          │
│          └─resources
│                  bootres.dll

└─sources
        boot.wim



你说原版ISO可以正常启动的话,问题就是boot.wim这个文件,一个是系统原版boot.wim,一个是WimBuilder通过
winre.wim修改而来的。希望你替换原版的winre.wim测试,是想确认,是否winre.wim本身个别系统文件导致启动无法运行,
而不是因为WimBuilder构建修改导致的。

具体做法:7z打开ISO中的install.wim,解压7\Windows\System32\Recovery\winre.wim到WimBuilder2\_ISO_\sources目录,
删除原来的boot.wim,把winre.wim改名boot.wim,然后从【构建】页面点击【2-创建镜像】(不需要重新构建)。

WimBuilder2\_Factory_\BOOTPE.ISO,用虚拟机打开试试。

另外,也可以尝试下,用系统原版的ISO中的boot.wim替换,点【2-创建镜像】,理论上将生成与系统光盘一样的启动光盘(没有install.wim而已)。
如果这个情况也无法启动的话,那就是创建ISO的命令oscdimg.exe(2.55 Copyright (C) Microsoft, 1993-2007. All rights reserved.),
可能需要更新。
我个人认为修改后的boot.wim本身应该没有问题,可以换换启动模板试试。
另外提一下,默认选项构建生成的boot.wim的大小应该是:
456 MB (478,583,997 字节)。

你的有点偏大,你可以用【1-构建(日志)】按钮构建一次,然后点击下面的:【打开日志文件夹】
last_wimbuilder.log附件发送上来,我看看是否有步骤运行错误了。




  1. ============================================================
  2. Configured Virtual Options . . .
  3. ============================================================

  4. AutoStart
  5. AutoEditions: ProfessionalWorkstation

  6. ============================================================
  7. Copying install.wim . . .
  8. ============================================================

  9. ============================================================
  10. Creating Edition: Pro for Workstations
  11. ============================================================


  12. Setting the WINDOWS/EDITIONID property of image 2 to "ProfessionalWorkstation".
  13. Setting the FLAGS property of image 2 to "ProfessionalWorkstation".
  14. Setting the DISPLAYNAME property of image 2 to "Windows 10 Pro for Workstations".
  15. Setting the DISPLAYDESCRIPTION property of image 2 to "Windows 10 Pro for Workstations".

  16. ============================================================
  17. Rebuilding install.wim . . .
  18. ============================================================

  19. "ISOFOLDER\sources\install.wim" original size: 3659909 KiB
  20. Using LZX compression with 4 threads
  21. Archiving file data: 8039 MiB of 8039 MiB (100%) done
  22. "ISOFOLDER\sources\install.wim" optimized size: 3642283 KiB
  23. Space saved: 17625 KiB

  24. ============================================================
  25. Creating ISO . . .
  26. ============================================================

  27. OSCDIMG 2.56 CD-ROM and DVD-ROM Premastering Utility
  28. Copyright (C) Microsoft, 1993-2012. All rights reserved.
  29. Licensed only for producing Microsoft authorized content.


  30. Scanning source tree (500 files in 40 directories)
  31. Scanning source tree complete (882 files in 85 directories)

  32. Computing directory information complete

  33. Image file is 4461232128 bytes (before optimization)

  34. Writing 882 files in 85 directories to 18932.1000.190628-1650.RS_PRERELEASE_CLIENTMULTI_X64FRE_ZH-CN.ISO

复制代码

点评

這個之前好像有反映過 , 樓主的工具打包的 iso 有問題 uup 打包 iso [attachimg]397382[/attachimg] 實際上 wim 在 legacy 跟 uefi 啟動都沒問題 [attachimg]397383[/attachimg] [attachimg]397384[/attach  详情 回复 发表于 2019-7-21 21:53
回复

使用道具 举报

293#
 楼主| 发表于 2019-7-21 22:43:35 | 显示全部楼层
nf17b 发表于 2019-7-21 21:53
這個之前好像有反映過 , 樓主的工具打包的 iso 有問題
uup 打包 iso


WimBuilder2\bin\_MakeBootISO.bat
  1. oscdimg.exe -b"%ISO_DIR%\boot\etfsboot.com" -h -l"%WB_ISO_LABEL%" -m -u2 "%ISO_DIR%" "%Factory%\%WB_ISO_NAME%.iso"
复制代码


只有etfsboot.com,没有加efisys.bin。

另外UUP的cdimage看了是2.56版本,如果添加efisys.bin就好的话,就直接改到_MakeBootISO.bat中。
回复

使用道具 举报

294#
 楼主| 发表于 2019-7-22 01:06:34 | 显示全部楼层
WAIGO 发表于 2019-7-19 00:38
"不过你这么一问,倒是可以pecmd.lua直接exec('/wait','pecmd.exe main pecmd.ini')加上用户判断也可以走pe ...


你们都能看懂PECMD的代码,lua的代码应该更容易理解才对。
你添加到OSInit()中, 初始化就卡住了,启动桌面的代码不会运行。


pecmd.lua通常的流程与pecmd.ini一样,
OSInit()
PreShell()
Shortcuts()
LoadShell()
PostShell()

但是带Admin用户的时候,不像PECMD需要2份不同配置,pecmd.lua只用1份,
其实被调用了2次,所以不太好懂吧。

作为 PE的启动管理器:

pecmd.lua
   main()
     loader()
        OSInit()
           exec('winpeshl.exe')
           exec('drvload.exe display.inf')           -- 加载基本显卡驱动
           Screen:DispTest({'1152x864', '1366x768', '1024x768'}) -- 自动设置可用分辨率
        --
        os.setenv('logon_script', script_file) -- 设置登录脚本仍然为pecmd.lua
        exec('/wait', 'WinXShell.exe -ui -jcfg UI_LogonPE.jcfg') -- 启动用户登录进程
        exec('/wait /hide', 'cmd.exe /k echo alive') -- 启动一个隐藏cmd卡住启动管理器进程不退出,PE就不重启了。


作为 PE的登录脚本:
pecmd.lua
   main()
     if _G.caller == 'UI_Logon' then
           logon_user = _G.logon_user -- ★从 UI_Logon.zip 界面传递过来的选择用户(SYSTEM 或者 Administrator)
           -- (此处省略如果是Admin的话,进行管理员用户的准备(InitAdmin()函数),也就是pecmdAdmin.ini的内容)
           Logon() -- 登录,相当于pecmd.ini,不过lua可以把过程的处理信息反映到登录界面上(改图改字改大小,添加动画等等)。
               +PreShell()
               +Shortcuts()
               +LoadShell()
               +PostShell()
     end



上面说了启动器的步骤,和PECMD按大功能分工混合使用的话,其实有很多种组合。

  • LUA全包(加载器+登录处理)      ★ WimBuilder提供选项
  • PECMD全包(加载器+登录处理)   ★ WimBuilder提供选项(默认选项)
  • LUA加载器+LUA仅登录界面+PECMD登录处理        ★1
  • LUA加载器+PECMD登录处理
  • PECMD加载器+LUA登录处理
  • PECMD加载器+LUA仅登录界面+PECMD登录处理   ★2


针对你只想用LUA的登录界面的话,说明下★1,★2组合的修改方法:

★1:
  a.WimBuilder2的启动管理器选择LUA。
  b.pecmd.lua中获取到登录用户名后,直接调用PECMD接管,不执行自己的Logon()。

说的有点多,直接可以跑的★1补丁(下载,替换_CustomFiles_\final.bat构建即可):
[attach=final.bat1.zip]
选择了新的LUA加载器的话,就没必要用PECMD做登录处理了。。。(这个模式不提供补丁,自己做吧)

★2:
  a.WimBuilder2的启动管理器选择PECMD。(默认此选项,其实什么也不用做)
  b.pecmdadmin.lua中,把很LOW的PECMD提示对话框,改成
          调用WinXShell.exe -ui -jcfg X:\PEMaterial\UI_LogonPE.jcfg
          pecmd.lua根据logon_user是SYSTEM还是Administor退出码设置1或2,让pecmdadmin.ini接收。

说的有点多,其实改1行lua,7行PecmdAdmin.ini就好了,
直接可以跑的★2补丁(下载,替换_CustomFiles_\final.bat构建即可):

final.bat.zip (636 Bytes, 下载次数: 18)

点评

多谢费心详解!图形化启动模式选择终於完全成功了。 另外想请教的是,桌面那个更攺成 "资源管理器" 显示方式的 "此电脑" 是如何修改的? 采用最新版的 WimBuilder2 重新制作,打印机果然可以安装了,也可以在  详情 回复 发表于 2019-7-24 16:21
回复

使用道具 举报

295#
 楼主| 发表于 2019-7-24 14:04:34 | 显示全部楼层
zhoubin 发表于 2019-7-24 12:41
多好的工具啊,我只想在我的16299(32win10pe),17133(64位win10pe)里面加个mtp功能,可惜了,这个工具 ...

版本有点老,没测试过。。。选相同版本的install.wim再选你的PE的wim,补丁页面选择,demand预设,去掉 构建 手动加载注册表选项,勾选windows 组件,选择【组件】,勾选MTP。构建试试,如果不行的话,试试reg copy就是system的drivedatabase

点评

按您的方法,总算成功了,谢谢您!!  详情 回复 发表于 2019-7-26 11:40
明显可以手动自己加,大佬的工具脚本里自己看就行了,我的16299不就是自己加的MTP。  详情 回复 发表于 2019-7-24 14:25

评分

参与人数 1无忧币 +5 收起 理由
zhoubin + 5 很好!很不错的工具!!

查看全部评分

回复

使用道具 举报

296#
 楼主| 发表于 2019-7-24 23:07:33 | 显示全部楼层
WAIGO 发表于 2019-7-24 21:56
新制作的 32 位 18362.10006 PE,启动至出现桌面时,还是出现了警告字句(见图一)。换用 WimBuilder2 原本制 ...
  1. Z:\Projects\WIN10XPE\01-Components\Patch_drvinst>DrvInstPatch_x64.exe p drvinst.exe
复制代码

  1. Z:\Projects\WIN10XPE\02-Apps\HotSwap>copy /y "X:\Temp\HotSwap\86bit\HotSwap^!.EXE" "X:\Windows\System32"
复制代码


_V_Arch这个变量是86或64,其实这里应该copy "X:\Temp\HotSwap\32bit\HotSwap^!.EXE"

回头要补一个 _V_Arch3264 变量。。。

点评

1、Z:\Projects\WIN10XPE\01-Components\Patch_drvinst>DrvInstPatch_x64.exe p drvinst.exe ------------------------------------------------------------------------------ 2、Z:\Projects\WIN10XPE\01-Compo  详情 回复 发表于 2019-7-25 00:02
回复

使用道具 举报

297#
 楼主| 发表于 2019-7-25 00:07:49 | 显示全部楼层
WAIGO 发表于 2019-7-25 00:02
1、Z:\Projects\WIN10XPE\01-Components\Patch_drvinst>DrvInstPatch_x64.exe p drvinst.exe
---------- ...


你把drvinst.exe复制到
Z:\Projects\WIN10XPE\01-Components\Patch_drvinst目录,
运行上面的命令就自动处理了。


工程本身自己也会处理。
Z:\Projects\WIN10XPE\01-Components\Patch_drvinst\main.bat
最上面加个@echo on看看构建日志或者CMD中的输出信息。

应该没有因为是32位就做跳过处理才对。。。

点评

遵嘱把 drvinst.exe 复制到 "\Projects\WIN10XPE\01-Components\Patch_drvinst" 的目录,并运行 "DrvInstPatch_x86.exe p drvinst.exe" 的批次命令,得出了下面图一的结果: [attachimg]397594[/attachimg]  详情 回复 发表于 2019-7-25 09:53
回复

使用道具 举报

298#
 楼主| 发表于 2019-7-27 16:57:55 | 显示全部楼层
Bluebells 发表于 2019-7-27 15:52
1. 挂载 PE 的 DEFAULT 注册表配置单元为 HKEY_LOCAL_MACHINE\_DEFAULT
2. 执行以下命令:
reg add "HKLM\ ...


我测试了下並沒有明显感觉。。。

你可以在
Z:\WimBuilder2\Projects\WIN10XPE\_CustomFiles_\MyCustom\
下面的文件夹下创建一个_UserSignedIn.bat:
  1. reg add "HKLM\Tmp_DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer" /v UserSignedIn /t REG_DWORD /d 1 /f
复制代码


构建时,会自动修改。
        
回复

使用道具 举报

299#
 楼主| 发表于 2019-7-28 16:22:18 | 显示全部楼层
本帖最后由 slore 于 2019-7-28 17:08 编辑
Bluebells 发表于 2019-7-27 20:34
我这边的测试效果挺明显的, 如果你有兴趣, 可以试试我制作的
链接: https://www.lanzous.com/b861814/  ...


你纯X盘啊。为什么不传wim格式。。。

看了下,没有加载基本驱动,也没调用wpeinit进行基本网络初始化。。。
这里看微软的日志,我虚拟机基本网络初始化要5,6秒吧。感觉省这里了。

Windows.UI.Logon.dll 改名 Windows.UI.Logon.dll.org用控制台模式不知道Admin登录会不会更快。
回复

使用道具 举报

300#
 楼主| 发表于 2019-7-29 00:35:47 | 显示全部楼层
本帖最后由 slore 于 2019-7-29 00:36 编辑
Bluebells 发表于 2019-7-28 19:15
我特意制作了高度精简的版本, 用于比较添加该键值与否之间的差异
你可以先测试已添加该键值的PE的用户登 ...


PecmdAdmin.log 23:19:40->12:19:47
Pecmd.log           12:19:52----------------------------->23:20:26
    winpeshl.log         23:20:04-------->23:20:10
        wpeinit.log            23:20:05->23:20:10


PecmdAdmin.log 23:39:05->12:39:12
Pecmd.log           12:39:18----------------------------->23:39:52
    winpeshl.log         23:39:26-------->23:39:36
        wpeinit.log            23:39:31->23:39:36


並沒有发现有啥区别。。。
测试了好几遍。。。原来已经在【Explorer组件】的注册表Explorer_RegDefault.reg中设置过了。


ADMIN帐户准备7秒。
系统登录ADMIN帐户5秒。
PNP初始化5秒(winpeshl.exe),基本网络初始化5秒(wpeinit.exe)。
PECMD创建快捷方式,驱动加载16秒。

看PecmdAdmin.log与Pecmd.log的创建时间,更新时间就可以了。
感觉基本上最简单要12秒吧,从加载完wim,开始启动到桌面显示。

[黑中见白]的添加了,结果也一样。
PecmdAdmin.log 00:30:00->00:30:07
Pecmd.log           00:30:13----------------------------->00:30:46


反过来,如果不设置的话,速度也没慢多少,不过 固定到任务栏的 图标无法显示,
托盘区域的图标也不正常。。。所以UserSignedIn必须设置。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-27 23:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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