无忧启动论坛

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

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

    [复制链接]
211#
 楼主| 发表于 2019-2-11 22:22:05 | 只看该作者
lwb1 发表于 2019-2-11 16:30
驱动要不要装,还有,麻烦提供一下bat的说明


看你干嘛了,驱动对应的是要的。bat就是批处理,主要AddFiles命令添加install.wim的文件列表,
工程里面的,main.bat你看看就明白了,比如:

D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\MMC\DiskMgr.bat
  1. @echo off
  2. rem ==========update filesystem==========
  3. call AddFiles %0 :end_files
  4. goto :end_files

  5. @windows\system32\
  6. +mui
  7. ;Disk Management
  8. diskmgmt.msc
  9. dmdlgs.dll,dmdskmgr.dll,dmdskres.dll,dmdskres2.dll,dmintf.dll
  10. dmocx.dll,dmutil.dll,dmvdsitf.dll,dmview.ocx,hhsetup.dll
  11. :end_files
复制代码


copy命令自己复制,内置的X2X可以复制当前目录的X, X_PF, X_SYS等文件夹。

修改注册表,直接reg add/delete命令,注册表已经自动挂载到
  • HKLM\tmp_Software
  • HKLM\tmp_Default
  • HKLM\tmp_SYSTEM
  • HKLM\tmp_DRIVERS
回复

使用道具 举报

212#
发表于 2019-2-12 10:48:37 | 只看该作者
本帖最后由 lwb1 于 2019-2-12 10:59 编辑
slore 发表于 2019-2-11 22:22
看你干嘛了,驱动对应的是要的。bat就是批处理,主要AddFiles命令添加install.wim的文件列表,
工程里 ...


抱歉,我不是特别懂bat,麻烦给我解释一下这个是干什么的。
那个注释写的好像是更新什么
回复

使用道具 举报

213#
 楼主| 发表于 2019-2-12 12:30:46 | 只看该作者
本帖最后由 slore 于 2019-2-12 12:34 编辑
lwb1 发表于 2019-2-12 10:48
抱歉,我不是特别懂bat,麻烦给我解释一下这个是干什么的。
那个注释写的好像是更新什么


rem ==========update filesystem==========
的意思是,更新系统文件(文件系统)。

比方说,让PE支持,文件打开对话框(运行->浏览,任务管理器->新建任务)需要提取并添加
install.wim\windows\system32\ExplorerFrame.dll
install.wim\windows\system32\shellstyle.dll
文件,还有补充注册表信息(explorerframe.dll的CLSID),那么你可以:
main.bat
  1. rem 从install.wim提取系统文件
  2. call AddFiles %0 :end_files
  3. goto :end_files
  4. \windows\system32\ExplorerFrame.dll
  5. \windows\system32\??-??\ExplorerFrame.dll.mui
  6. \windows\system32\shellstyle.dll
  7. :end_files
  8. rem 从install.wim的SOFTWARE复制注册表信息。
  9. call RegCopy HKLM\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B}
复制代码


如果一个目录下文件多,可以用@路径,后面直接写文件,另外也可以声明+mui将自动复制mui文件。
  1. @\windows\system32\
  2. +mui
  3. ExplorerFrame.dll,shellstyle.dll
复制代码


添加文件拖拽功能,显示复制进度条等完整的补丁main.bat你可以看:
D:\dev\WimBuilder2\Projects\WIN10XPE\shared\NewBrowseDlg\main.bat
rem ==========update filesystem(更新系统文件)==========
call AddFiles %0 :end_files
goto :end_files
\Windows\System32\%WB_PE_LANG%\comctl32.dll.mui
@\Windows\System32\
comctl32.dll
+mui
ExplorerFrame.dll

+ver > 17700
; shellstyle.dll(.mui) is now in \Windows\resources\themes\aero\shell\normalcolor
\Windows\resources\Themes\aero\shell
+ver <= 17700
shellstyle.dll
+ver*

; DragAndDrop (d2d1.dll,ksuser.dll already in Winre.wim)
DataExchange.dll,dcomp.dll,d3d11.dll,dxgi.dll
;d2d1.dll,ksuser.dll

; CopyProgress
-mui
chartv.dll,OneCoreUAPCommonProxyStub.dll
:end_files

rem ==========update registry(更新注册表)==========
rem explorerframe.dll CLSID
rem HKLM\SOFTWARE\Classes\CLSID\{056440FD-8568-48e7-A632-72157243B55B} required
rem already added by RegCopy HKLM\SOFTWARE\Classes\CLSID
回复

使用道具 举报

214#
发表于 2019-2-12 13:04:17 来自手机 | 只看该作者
支持,这个是好东西啊,希望楼主继续完善这个东西还有winxshell
回复

使用道具 举报

215#
发表于 2019-2-12 14:45:15 | 只看该作者
节后回来试了一把,感觉好了很多。期待新的版本
回复

使用道具 举报

216#
发表于 2019-2-12 19:50:30 | 只看该作者
有PECMD的话,不用startnet.cmd,没有的话,要在startnet.cmd添加命令,目前是在工程的last.bat里面写入startnet.cmd命令,你自己可以copy /y mystartnet.cmd "%X_SYS%\startnet.cmd"

是先启动startnet.cmd呢,还是先启动PENetwork?

点评

我不打算弄PECMD,我才刚接触。  详情 回复 发表于 2019-2-12 22:13
用了PECMD,startnet.cmd好像就不用了。PENetwork在pecmd.ini里面启动的。  发表于 2019-2-12 21:31
回复

使用道具 举报

217#
发表于 2019-2-12 20:47:51 | 只看该作者
slore大,我觉得你应该在改进下:
可以使用其他人的成品wim,进行定制。例如:l大的pe使用了你的winxshell,使用他的pe64.wim,在准备第三栏选择pe64.wim,在补丁一项选择应用--浏览器-ie,其他取消选择,就可以为pe64.wim进行添加ie浏览器的操作,从而生成新的pe64-new.wim。既然是补丁,就其他不要动,只添加ie,我试过,如果不选择配置那里的wow64那个复选框,就会生成32位的pe,会删掉很多文件!
回复

使用道具 举报

218#
 楼主| 发表于 2019-2-12 20:59:02 | 只看该作者
本帖最后由 slore 于 2019-2-12 21:02 编辑
my9823 发表于 2019-2-12 20:47
slore大,我觉得你应该在改进下:
可以使用其他人的成品wim,进行定制。例如:l大的pe使用了你的winxshell ...


默认设计就是支持其他人的PE,补丁只添加必要文件,修改注册表。
删除操作主要是在"精简"里面,最后的last.bat里面有删除wallpaperhost.exe,setup.exe,winpesh.ini。
你是不是勾选了精简?

你选64位PE生成32位PE就奇怪了,可能他们用的wim编辑工具导致dism无法正确读取wim的信息,日志开头有显示环境变量,如果不对,自己在 prepare.bat或者main.bat里面定义下环境变量就行了。
回复

使用道具 举报

219#
发表于 2019-2-12 21:55:53 来自手机 | 只看该作者
what?原来后边还有个精简,我展开所有选项,以为到底了!不好意思,没有拉到底部。假如使用ie下载,必须选中administrator那个选项吗?希望增加添加ie的flash插件的补丁!在这里先谢过老大了,明天再试试,早睡早起身体好!
回复

使用道具 举报

220#
发表于 2019-2-12 22:04:03 来自手机 | 只看该作者
slore 大,我用的是网信 g-o-v-e-r-n-m-e-n-t版win10,它点击任务栏的时间会显示出中国农历,这个农历有办法加到winxshell的那个任务栏里吗?
回复

使用道具 举报

221#
发表于 2019-2-12 22:13:15 | 只看该作者
lwb1 发表于 2019-2-12 19:50
是先启动startnet.cmd呢,还是先启动PENetwork?

我不打算弄PECMD,我才刚接触。

点评

D:\Dev\WimBuilder2\Projects\WIN10XPE\last.bat 里面有一段当不使用PECMD时,创建启动startnet.cmd文件的处理。 你不懂批处理的话,你在74行(echo cmd.exe>>"%X32%\startnet.cmd"这句的下面), 写一个行:  详情 回复 发表于 2019-2-12 23:03
回复

使用道具 举报

222#
 楼主| 发表于 2019-2-12 23:03:21 | 只看该作者
lwb1 发表于 2019-2-12 22:13
我不打算弄PECMD,我才刚接触。


D:\Dev\WimBuilder2\Projects\WIN10XPE\last.bat
里面有一段当不使用PECMD时,创建启动startnet.cmd文件的处理(48行~73行)。

你不懂批处理的话,你在74行(echo cmd.exe>>"%X32%\startnet.cmd"这句的下面),
写一个行:
  1. copy /y startnet.cmd "%X_SYS%\startnet.cmd"
复制代码

然后你手动创建一个startnet.cmd放到Projects\WIN10XPE目录,你自己提前写好,
这个将最后复制到boot.wim\Windows\System32\startnet.cmd作为启动入口,
你想啥时候启动PENetwork.exe,你自己决定。
回复

使用道具 举报

223#
发表于 2019-2-13 15:44:40 | 只看该作者
本帖最后由 lwb1 于 2019-2-13 15:50 编辑
slore 发表于 2019-2-12 23:03
D:\Dev\WimBuilder2\Projects\WIN10XPE\last.bat
里面有一段当不使用PECMD时,创建启动startnet.cmd文 ...


可以在PE开机后,手动启动startnet.cmd吗?startnet.cmd要改吗?(我是自己尝试用PENetWork给自己做到一半的PE加网络支持)
我不是不懂bat,我是懂得不多,我才刚开始学
回复

使用道具 举报

224#
发表于 2019-2-15 15:46:45 | 只看该作者
本帖最后由 泰立信 于 2019-2-15 15:50 编辑

20H1 Build 18836使用2月5号版本制作也能成功,感觉和19H1差别不大。
大神啥时候精简一下生成的内核呗,感觉杂乱无用的文件还挺多的

点评

还咋功能补充阶段,不想因为精简导致,功能测试出问题,所以没有做。 参考其他功能好的,比较下文件列表就能搞定,放到后面。 你可以在工程下新建一个“我的精简”文件夹,里面写一个last.bat 然后: del /q "%  详情 回复 发表于 2019-2-17 00:30
20H1 Build 18836 看來跟 19H1 Build 18334 差異的確不大 在繁中一樣卡在內建的輸入法 19H1 Build 18309 內建的5種輸入法都可以使用 [attachimg]387844[/attachimg] 19H1 Build 18334 內建的5種輸入法暫時只  详情 回复 发表于 2019-2-15 16:03
回复

使用道具 举报

225#
发表于 2019-2-15 16:03:32 | 只看该作者
泰立信 发表于 2019-2-15 15:46
20H1 Build 18836使用2月5号版本制作也能成功,感觉和19H1差别不大。
大神啥时候精简一下生成的内核呗,感 ...

20H1 Build 18836 看來跟 19H1 Build 18334 差異的確不大
在繁中一樣卡在內建的輸入法

19H1 Build 18309 內建的5種輸入法都可以使用


19H1 Build 18334 內建的5種輸入法暫時只有大易及行列可以用


20H1 Build 18836 內建的5種輸入法暫時只有大易及行列可以用
回复

使用道具 举报

226#
发表于 2019-2-15 19:40:26 来自手机 | 只看该作者
大帅,请问18334怎么制作出双用户登录,另外打印机16299老段整出来了,能用到18334吗
回复

使用道具 举报

227#
发表于 2019-2-15 20:51:28 | 只看该作者
我生成的怎么都是黑屏只有个鼠标哪个能传个生成好的给我
回复

使用道具 举报

228#
发表于 2019-2-15 21:54:41 来自手机 | 只看该作者
我是小青蛙 发表于 2019-2-15 20:51
我生成的怎么都是黑屏只有个鼠标哪个能传个生成好的给我

估计你没有展开补丁那个界面某些选项,建议你点击看看带倒三角的有子选项,并不是所有选项都有东西,有些功能还在完善!

回复

使用道具 举报

229#
发表于 2019-2-15 21:57:04 来自手机 | 只看该作者
建议看完前几楼楼主的讲解。
回复

使用道具 举报

230#
发表于 2019-2-15 23:53:19 来自手机 | 只看该作者
今天下了18334试做了一下,发现penetwork启动了不能开启无线网络,声音服务不能开启
回复

使用道具 举报

231#
发表于 2019-2-16 08:25:44 | 只看该作者
my9823 发表于 2019-2-15 21:57
建议看完前几楼楼主的讲解。

好的我在研究下
回复

使用道具 举报

232#
发表于 2019-2-16 11:38:22 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

233#
 楼主| 发表于 2019-2-17 00:30:27 | 只看该作者
本帖最后由 slore 于 2019-2-17 00:32 编辑
泰立信 发表于 2019-2-15 15:46
20H1 Build 18836使用2月5号版本制作也能成功,感觉和19H1差别不大。
大神啥时候精简一下生成的内核呗,感 ...


还在功能补充阶段,不想因为精简导致功能测试出问题,浪费时间定位文件,所以没有做大的精简。
参考其他功能好的PE,比较下文件列表就能搞定,放到后面。

你可以在工程下新建一个“我的精简”文件夹,里面先放一个空的main.html,
再写一个last.bat:
  1. del /q "%X_SYS%\xx.dll"
  2. rd /s /q "%X_SYS%\folder"
  3. ...
复制代码


你自己删除就好了。也可以分享出来,
有人给我过一个列表,能精简掉100MB,基本功能还可以用,
我没有测试,所以没放进来。


回复

使用道具 举报

234#
发表于 2019-2-18 20:32:12 | 只看该作者
我终于搞定了虽然进桌面的时候是弹出个CMD我用PECMD解决了加载了配置的那个cmd

QQ截图20190218203053.png (431.81 KB, 下载次数: 221)

QQ截图20190218203053.png

点评

有点奇怪,最新版是默认带PECMD的啊。不用自己修改才对。  发表于 2019-2-18 20:52
回复

使用道具 举报

235#
发表于 2019-2-21 14:06:25 | 只看该作者
谢谢楼主的分享,为楼主点赞
回复

使用道具 举报

236#
发表于 2019-3-1 11:01:53 | 只看该作者
本帖最后由 sx3k 于 2019-3-1 11:09 编辑

我从GitHub下载最新版(2019年2月26日)wimbuilder2的生成的PE,使用VMware Workstation Pro(最新版)测试生成的PE,启动到桌面不到2分钟黑屏,上一个版本没有这个情况。

log.zip

21.24 KB, 下载次数: 7, 下载积分: 无忧币 -2

日志

点评

2-26版本补充了声卡驱动,和网络驱动。 结构调整把没有实现的功能,和不用设置的功能整合掉了。简化设置界面。 另外把WIN10XPE的最新版的差分吸收了,没太大变化,WOW64支持补充了 devrtl.dll,ncryptprov.dll,  详情 回复 发表于 2019-3-1 21:20
回复

使用道具 举报

237#
发表于 2019-3-1 12:44:07 | 只看该作者
要不要这么强大。。。太赞了。
回复

使用道具 举报

238#
发表于 2019-3-1 13:58:41 | 只看该作者
你这个没有引导自定义ISO镜像的功能,是一大缺陷!

点评

自己把你的ISO模板镜像复制到 _ISO_ 目录  发表于 2019-3-1 21:20
回复

使用道具 举报

239#
发表于 2019-3-1 18:58:07 | 只看该作者
本帖最后由 我是小青蛙 于 2019-3-1 19:35 编辑

大佬问下我想给一个win10pe添加MTP支持出现下面的错误drvinst.exe也用的破解的用您的工具生成的同版win10 MTP倒是没问题,用虚拟机看驱动加载正常

未命名.jpg (345.48 KB, 下载次数: 193)

未命名.jpg

QQ截图20190301193247.png (135.85 KB, 下载次数: 211)

QQ截图20190301193247.png

点评

哦,别的版本的PE... 你用的老版本的drvinst补丁,你看 D:\Dev\WimBuilder2\Projects\WIN10XPE\Patch_drvinst\main.bat 就知道了,只处理部分版本. 新版本使用JFX的通用补丁,适用于全部版本.  详情 回复 发表于 2019-3-1 21:26
drvinst.exe你可以复制出来,和 原始的winre.wim比较是不是一样. 另外,你的截图看还是老版本的MTP支持,请使用最新版.  发表于 2019-3-1 21:22
回复

使用道具 举报

240#
 楼主| 发表于 2019-3-1 21:20:06 | 只看该作者
本帖最后由 slore 于 2019-3-1 21:27 编辑
sx3k 发表于 2019-3-1 11:01
我从GitHub下载最新版(2019年2月26日)wimbuilder2的生成的PE,使用VMware Workstation Pro(最新版)测试 ...


2-26版本补充了声音设置, 声卡驱动,和网络驱动
对补丁结构进行了调整,把没有实现的功能,和不用设置的功能整合掉了。简化设置界面。

另外把WIN10XPE的最新版的差分吸收了,没太大变化,WOW64支持补充了
devrtl.dll,ncryptprov.dll,然后就是IE补充了些文件。

不过你的选项,没有 音频,网络支持,和IE。应该没有影响才对。

2分钟黑屏的话,是不是开始菜单StartIsBack不兼容?你有自己更新么?还是用的StartIsBack补丁?

你先试试不要选开始菜单,不要WOW64支持看看有没有问题。

没有完全测试,所以我没在帖子中进行更新。

如果确实有问题, github上你可以选择2/9号的使用老版本.
https://github.com/slorelee/wimb ... 1a70649d1b3b12e3be8

不过还是感谢对最新版的测试,我也用17763.107 x64制作下试试.
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-5 09:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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