无忧启动论坛

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

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

    [复制链接]
3601#
发表于 2020-4-8 17:10:08 | 只看该作者
回复

使用道具 举报

3602#
 楼主| 发表于 2020-4-8 17:38:38 | 只看该作者
本帖最后由 slore 于 2020-4-8 17:40 编辑
2013mqqdg 发表于 2020-4-8 16:45
@slore 大佬,我用4-4的版本,系统是win 7 64 和win-10-2019-lstc-64系统。前面配置什么 的都 ...

准备界面选择ISO镜像挂载的驱动器盘符,比如: G:。
重新选项,然后到构建页面,不用重新生成,直接点生成ISO就行。
回复

使用道具 举报

3603#
发表于 2020-4-9 01:28:21 | 只看该作者
本帖最后由 Xongkoro 于 2020-4-9 01:49 编辑
slore 发表于 2020-4-8 17:38
准备界面选择ISO镜像挂载的驱动器盘符,比如: G:。
重新选项,然后到构建页面,不用重新生成,直接点生 ...

S大,4.4版本构建的PE为嘛内置SYSTEM用户头像么显示?
之前版本自行替换ProgramData\Microsoft\User Account Pictures\user-200.png即可显示。
是哪里更改了嘛?
现在版本显示的是系统默认的.
另现在构建PE后,PE里任务栏右下角显示的PECMD功能菜单是英文的?
请问哪里可调整为中文PECMD?
另构建点选IMDISK后,系统里IMDISK出现界面也显示为英文,比较菜,不知道哪里改成中文,只好构建不带IMDISK,之后自行补充中文IMDISK进去,才能显示中文!

再一个建议增减驱动那里,可以增加系统原生网卡驱动、蓝牙、打印机、及其它系统原生驱动项目:如有线、无线等选项,便于构建不需要网络环境PE,以便减小体积和无用文件;以及系统原生组件选项增加选项,如dism,diskpart,这样可以按需选择所需,从而减少构建后,后期二次加工及文件注册表对比等操作。
还有最重要的一点,能不能增加个外置如磁盘驱动进入PE桌面UI后,后期手动临时调用安装选项?
譬如原生驱动不认得磁盘,进入桌面后,可以临时调用外置磁盘驱动器驱动,这样可以避免这些驱动直接注入进内核所造成的一些不必要的驱动冲突,因外置驱动,也很方便随时自行更新调整,灵活方便的很,请考虑。

问题比较多,勿见怪。

多谢S大这么方便的构建工具,辛苦了!
谢谢。








回复

使用道具 举报

3604#
发表于 2020-4-9 06:40:46 | 只看该作者
是干什么的
回复

使用道具 举报

3605#
发表于 2020-4-9 06:41:09 | 只看该作者
期待一下
回复

使用道具 举报

3606#
发表于 2020-4-9 09:15:28 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-4-9 09:47 编辑

slore大神,
G:\wimbuilder2\bin\_MakeBootISO.bat
61行参数好多,
if exist "%ISO_DIR%\efi\Microsoft\boot\%EFI_BIN%" (
  oscdimg.exe -bootdata:2#p0,e,b"%ISO_DIR%\boot\etfsboot.com"#pEF,e,b"%ISO_DIR%\efi\Microsoft\boot\%EFI_BIN%" -h -l"%WB_ISO_LABEL%" -m -u2 -udfver102 "%ISO_DIR%" "%Factory%\%WB_ISO_NAME%.iso"
) else (
  oscdimg.exe -b"%ISO_DIR%\boot\etfsboot.com" -h -l"%WB_ISO_LABEL%" -m -u2 -udfver102 "%ISO_DIR%" "%Factory%\%WB_ISO_NAME%.iso"
)

-h -l"%WB_ISO_LABEL%" -m -u2 -udfver102
看了下参数,http://wuyou.net/forum.php?mod=viewthread&tid=419724
-bootdata:<num>#defaultbootentry#bootentry2#bootentryN  指定多重引导条目数(不要使用空格)
  • b<bootSectorFile>  指定El Torito引导扇区文件的位置(不要使用空格)
    例如:UEFI : bEfisys.bin  BIOS : bEtfsboot.com
  • e  El Torito编录中禁用软盘模拟。
  • p  指定要用于El Torito编录中平台ID的值。
    默认ID为0xEF表示UEFI系统,0x00代表BIOS系统。


  • -h  包含映像源路径下的所有隐藏文件和目录。
  • -l<volumeLabel>  指定卷标,不超过32个字符(不要使用空格)
  • -m  忽略映像的最大大小限制。
  • -u2  生成仅包含UDF文件系统的映像。无法读取UDF的系统只会看到默认的文本文件,提醒用户此映像仅在支持UDF的计算机上可用。
  • -udfver102  指定UDF文件系统版本1.02(支持:Windows 98及更高版本)

WePE那个ISO文件是 Joliet和UDF双格式的, wimbuilder2制作的ISO文件是纯UDF格式的。
请问下,怎么制作成
Joliet和UDF双格式的?参数太多看不懂。
②   Joliet选项
Joliet文件系统允许较长的文件名称和Unicode字符,其文件夹深度可以大于8。
注:-j2选项不能与任何UDF选项一起使用。
  • -j1  对Joliet Unicode文件名进行编码,在 ISO 9660 命名空间中生成兼容DOS 8.3的文件名,这些文件名可以被 Joliet 系统或传统的ISO 9660系统读取,但是Oscdimg可能会更改ISO 9660名称空间中的一些文件名以符合DOS 8.3的命名限制。Joliet文件系统将具有最多64个字符的Unicode文件名。
是不是用-j1参数?
        


回复

使用道具 举报

3607#
 楼主| 发表于 2020-4-9 12:31:12 | 只看该作者
liuzhaoyzz 发表于 2020-4-9 09:15
slore大神,

-h -l"%WB_ISO_LABEL%" -m -u2 -udfver102

我只在虚拟机里面跑PE。

目前的命令是抄微软ADK还是uup的镜像做成脚本,具体参数我也不知道啥特别的。一直这样能启动就没管。

抄微软的总没错吧。

第三方的,或者网友自己处理的可能启动设备更广,但是这个要是有现成命令行,可以抄,没有我也不知道,我没有复杂启动的环境和需求
回复

使用道具 举报

3608#
 楼主| 发表于 2020-4-9 12:34:21 | 只看该作者
本帖最后由 slore 于 2020-4-9 12:45 编辑
Xongkoro 发表于 2020-4-9 01:28
S大,4.4版本构建的PE为嘛内置SYSTEM用户头像么显示?
之前版本自行替换ProgramData\Microsoft%user Acc ...

第三方工具都在 vendor目录,你把中文版替换同名文件。
imdisk我用的是官方版本,官方没有中文支持,自己用个人汉化版,请自己解包替换,或者官方文件解压完成后,用copy命令复制中文版替换X盘的英文原版文件。

开始菜单头像没有做变动,如果不行能正常显示,可能是StartIsBack升级导致的,你用旧版的SIB试试。

驱动分类添加,删除肯定是能做的。
你需要提供各版本,x86/x64系统的,各个类型的驱动清单。

添加用call AddDrivers 命令就可以。


外置磁盘驱动加载,drvload命令,Pnputi命令写一行就好了吧,自己放桌面就好。


以及系统原生组件选项增加选项,如dism,diskpart,这样可以按需选择所需,从而减少构建后,后期二次加工及文件注册表对比等操作。

默认自带dism,diskpart,这些功能组件不用选,如果不要你需要添加到精简里面。
你要提供精简的文件列表,注册表项目。

你的二次修改内容,建议直接写成批处理,让WimBuilder2一次构建完成,不用构建后再处理,提高构建速度,以及一次订制,所有版本都适用。
回复

使用道具 举报

3609#
发表于 2020-4-9 14:41:04 | 只看该作者
slore 发表于 2020-4-9 12:34
第三方工具都在 vendor目录,你把中文版替换同名文件。
imdisk我用的是官方版本,官方没有中文支持,自 ...


-------------------------------------------------------------------------------------------------------------
外置磁盘驱动加载,drvload命令,Pnputi命令写一行就好了吧,自己放桌面就好。

-------------------------------------------------------------------------------------------------------------

S大,具体如何写法,还请给个详细示例语句的写法,好照猫画虎,麻烦您了,谢谢!
回复

使用道具 举报

3610#
发表于 2020-4-9 15:15:10 | 只看该作者
请问 S大  4.4版 IE浏览器提示:请安装或者启用FLASH播放器!!SysWOW64\Macromed\Flash\Flash.ocx 文件夹下有这个文件啊  ,在pecmd 加了一句 CALL $%WinDir%\SysWOW64\Macromed\Flash\Flash.ocx
也不起作用,是哪里的问题啊?
3.3版 IE浏览器没这个问题!
回复

使用道具 举报

3611#
 楼主| 发表于 2020-4-9 16:02:10 | 只看该作者
kuer 发表于 2020-4-9 15:15
请问 S大  4.4版 IE浏览器提示:请安装或者启用FLASH播放器!!SysWOW64\Macromed\Flash\Flash.ocx 文件夹 ...

相同版本的Windows镜像麽。IE在4.4也没改。
回复

使用道具 举报

3612#
发表于 2020-4-9 17:13:29 | 只看该作者
slore 发表于 2020-4-9 16:02
相同版本的Windows镜像麽。IE在4.4也没改。

是相同的Windows镜像
回复

使用道具 举报

3613#
发表于 2020-4-9 18:23:36 | 只看该作者
用带flash插件的浏览器 没有提示安装flash插件了!却不能打开视频!(换了新的插件也不行)! 但在windows系统下可以打开视频!是不是4.4版本的问题?
回复

使用道具 举报

3614#
 楼主| 发表于 2020-4-9 18:49:42 | 只看该作者
liuzhaoyzz 发表于 2020-4-9 09:15
slore大神,

-h -l"%WB_ISO_LABEL%" -m -u2 -udfver102

Windows 10 ADK

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\MakeWinPEMedia.cmd

  1. :ISOWorker_OscdImgCommand

  2.   rem
  3.   rem Set the correct boot argument based on availability of boot apps
  4.   rem
  5.   set BOOTDATA=1#pEF,e,b"%WORKINGDIR%\%FWFILES%\efisys.bin"
  6.   if exist "%WORKINGDIR%\%FWFILES%\etfsboot.com" (
  7.     set BOOTDATA=2#p0,e,b"%WORKINGDIR%\%FWFILES%\etfsboot.com"#pEF,e,b"%WORKINGDIR%\%FWFILES%\efisys.bin"
  8.   )

  9.   rem
  10.   rem Create the ISO file using the appropriate OSCDImg command
  11.   rem
  12.   echo Creating %DEST%...
  13.   echo.
  14.   oscdimg -bootdata:%BOOTDATA% -u1 -udfver102 "%WORKINGDIR%\%TEMPL%" "%DEST%" >NUL
  15.   if errorlevel 1 (
  16.     echo ERROR: Failed to create "%DEST%" file.
  17.     goto fail
  18.   )

  19.   goto success

  20. :success
  21. set EXITCODE=0
复制代码
回复

使用道具 举报

3615#
 楼主| 发表于 2020-4-9 19:52:44 | 只看该作者
Xongkoro 发表于 2020-4-9 14:41
------------------------------------------------------------------------------------------------ ...

https://www.dell.com/support/art ... 89%E8%A3%85?lang=zh


drvload.exe iaAHCI.inf
回复

使用道具 举报

3616#
发表于 2020-4-9 20:39:18 | 只看该作者
slore 发表于 2020-4-9 19:52
https://www.dell.com/support/article/zh-cn/sln301694/%E9%80%82%E7%94%A8%E4%BA%8E%E7%BC%BA%E5%B0%91 ...

首先感谢S大再次回复。

另可能没表达清楚我的问题,
如收集整理一系列的磁盘控制器驱动分类X86 X64,各个驱动版本放入一个目录压缩打包。
为避免直接注入PE内核,想外置这些驱动,如进PE后,PE原生驱动识别不了一些磁盘控制器而不认别硬盘时,可以临时调用这些收集整理的驱动,进而识别。
PECMD应该如何写法如何才能实现?
烦请给个详细语句写法,便于照画.
如驱动打包为drv.7或者DRV.CAB
菜的很,勿怪。


回复

使用道具 举报

3617#
 楼主| 发表于 2020-4-9 20:49:56 | 只看该作者
本帖最后由 slore 于 2020-4-9 20:51 编辑
Xongkoro 发表于 2020-4-9 20:39
首先感谢S大再次回复。

另可能没表达清楚我的问题,

我只用虚拟机开PE。驱动没有怎么研究过的。也没有环境测试。
也许有自动识别子目录下驱动自动找的参数吧,我没有硬件条件去确认,所以,WimBuilder2的驱动功能很弱。

PECMD语法有点迷糊,3行代码可能&, %试来试去才能跑,所以我不会写复杂的语句,就是抄别人的PECMD. ini。
你有环境的话,先手动试试drvload哪些加载驱动的命令,看看能不能识别硬盘,手动可以了,再考虑用代码实现自动处理。
回复

使用道具 举报

3618#
发表于 2020-4-9 21:06:34 | 只看该作者
选择使用完整SOFTWARE  还是不行!
回复

使用道具 举报

3619#
发表于 2020-4-9 22:45:30 | 只看该作者
slore 发表于 2020-4-9 20:49
我只用虚拟机开PE。驱动没有怎么研究过的。也没有环境测试。
也许有自动识别子目录下驱动自动找的参数吧 ...

好的吧,PECMD俺也是不懂,都是照猫画虎各位大侠的语句。
希望哪位大侠给个完整临时调用外置驱动语句写法。
回复

使用道具 举报

3620#
发表于 2020-4-10 08:00:46 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-4-10 09:03 编辑
slore 发表于 2020-4-9 18:49
Windows 10 ADK

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Wind ...

       初步试了下,把G:\wimbuilder2\bin\_MakeBootISO.bat里面,-u2替换为-j1 -u1就可以制作出WEPE的那种样子,就是 Joliet和UDF双格式的,如果直接用-u2就是纯UDF格式的

还没有深度测试这两种格式的兼容性区别。

-u2模式:


-j1 -u1模式:


另外我看了下微软windows原版光盘,似乎就是-u2模式的。

回复

使用道具 举报

3621#
发表于 2020-4-10 12:37:26 | 只看该作者
本帖最后由 kuer 于 2020-4-10 13:50 编辑

Opera浏览器 带flash插件:
https://c-t.work/s/9432dc5bc2e34f

六间房
https://v.6.cn/
在PE系统下插件不起作用?
回复

使用道具 举报

3622#
发表于 2020-4-10 14:10:18 | 只看该作者
liuzhaoyzz 发表于 2020-4-10 08:00
初步试了下,把G:\wimbuilder2\bin\_MakeBootISO.bat里面,-u2替换为-j1 -u1就可以制作出WEPE的那 ...

u1 u2就是你说的那样

这个问题,记得几年前,讨论过。

如果合盘,xp,03 7 8 pe ,不要用u2 , 但是好像不能支持大于4g 文件

单8,10pe ,无所谓。

大于4g的单个文件,只能u2

点评

感觉-u1 -u2区别不大啊。  发表于 2020-4-10 14:22
回复

使用道具 举报

3623#
发表于 2020-4-10 17:09:50 | 只看该作者
本帖最后由 hhh333 于 2020-4-10 17:14 编辑
Xongkoro 发表于 2020-4-9 22:45
好的吧,PECMD俺也是不懂,都是照猫画虎各位大侠的语句。
希望哪位大侠给个完整临时调用外置驱动语句写 ...
  1. _SUB DeviInf
  2. DEVI *sub %1
  3. _END

  4. _SUB DpInf
  5. EXEC =!dpinst.exe /S /LM /SA /SH /Path %1
  6. `WAIT 100
  7. _END

  8. `安装CAB类型驱动
  9. _SUB InsDrvCab
  10. IFEX %1,
  11. {
  12.         DEVI $%1,,%Temp%
  13.         WAIT 300
  14.         TEMP @Delete
  15. }
  16. _END

  17. `安装7z类型驱动
  18. _SUB InsDrv7z
  19. `FORX %1\*.7Z,fzip,1,
  20. ENVI fzip=%1
  21. IFEX %fzip%,
  22. {
  23.         NAME &&fname=%fzip%
  24.         EXEC =!7z.exe x %fzip% -o%temp%\%&fname%
  25.         CALL DeviInf %temp%\%&fname%
  26.         `CALL DpInf %temp%\%&fname%
  27.         FILE -q %temp%\%&fname%
  28. }
  29. _END

  30. `安装WIM类型驱动
  31. _SUB InsDrvWim        `挂WIM文件安装驱动(注意引入了一个外部参数MountDrv)
  32. `FORX %1\*.WIM,fzip,1,
  33. ENVI fzip=%1
  34. IFEX %fzip%,
  35. {
  36.         NAME &&fname=%fzip%
  37.         MOUN  %fzip%,%MountDrv%\%&fname%
  38.         CALL DeviInf %MountDrv%\%&fname%
  39.         `CALL DpInf %MountDrv%\%&fname%
  40.         MOUN ,%MountDrv%\%&fname%,0
  41. }
  42. _END
复制代码


再写主语句调用上面的就可以了
如为CAB类型:InsDrvCab D:\MYDRV.CAB


评分

参与人数 2无忧币 +10 收起 理由
Xongkoro + 5 很给力!
slore + 5 很给力!

查看全部评分

回复

使用道具 举报

3624#
发表于 2020-4-10 18:07:07 | 只看该作者
想请教下,我用wimbuilder2创建的PE,桌面自动生成的快捷方式是从哪实现的,我想删除这些快捷方式或者修改为不创建这些程序的快捷方式,需要修改哪个文件呢,PECMD里找不到相关命令行
回复

使用道具 举报

3625#
发表于 2020-4-10 18:29:47 | 只看该作者
本帖最后由 Xongkoro 于 2020-4-10 18:33 编辑
hhh333 发表于 2020-4-10 17:09
再写主语句调用上面的就可以了
如为CAB类型:InsDrvCab D:\MYDRV.CAB

非常感谢H大!
这个解决了大问题。

再次烦请解释上述语句是保存为个CMD用PECMD静默调用?

之后PECMD里加入
InsDrvCab D:\MYDRV.CAB吗?
还是直接运行PECMD.EXE InsDrvCab D:\XXXX.CAB/7z/wim?

还烦请指明具体如何运用。
如果驱动不打包,散开形势存于一个目录,PE进入后该如何调用临时安装这些驱动?
是不是不打包处理速度会快不少?

回复

使用道具 举报

3626#
发表于 2020-4-10 19:05:06 | 只看该作者

支持一个!
回复

使用道具 举报

3627#
 楼主| 发表于 2020-4-10 19:11:01 | 只看该作者
xzs89757 发表于 2020-4-10 18:07
想请教下,我用wimbuilder2创建的PE,桌面自动生成的快捷方式是从哪实现的,我想删除这些快捷方式或者修改为不 ...

默认快捷方式‪
Z:\WimBuilder2\Projects\WIN10XPE\_CustomFiles_\MyCustom\Last\_CustomDesktopItems.bat

各个工具自己的话,在工具的main.bat中。

  1. MyPC@CY-20160827XLVN MINGW64 /z/WimBuilder2/Projects (master)
  2. $ git grep LinkToDesktop
  3. WIN10XPE/01-Components/Devices and Printers/_printer.bat
  4. WIN10XPE/01-Components/Internet Explorer/main.bat
  5. WIN10XPE/02-Apps/7-Zip/main.bat:
  6. WIN10XPE/02-Apps/PENetwork/main.bat
  7. WIN10XPE/02-PEMaterial/01-Maintenance/APP_Dism++.bat
  8. WIN10XPE/02-PEMaterial/main.bat
  9. WIN10XPE/_CustomFiles_/MyCustom/Last/_CustomDesktopItems.bat

  10. MyPC@CY-20160827XLVN MINGW64 /z/WimBuilder2/Projects (master)
复制代码

回复

使用道具 举报

3628#
发表于 2020-4-10 20:18:29 | 只看该作者
Xongkoro 发表于 2020-4-10 18:29
非常感谢H大!
这个解决了大问题。

呵呵,原来不懂PECMD脚本,我改了一下,你只要改最后一行就可以了。
改好后直接用PECMD执行这个脚本就OK了。最后一行驱动程序的位置,可以是cab/wim/7z打包的文件,也可以是一个解开放置的驱动程序目录。
InsDrv.7z (526 Bytes, 下载次数: 77)

评分

参与人数 2无忧币 +10 收起 理由
Xongkoro + 5 很给力!
2011wanglei5207 + 5 很给力!

查看全部评分

回复

使用道具 举报

3629#
发表于 2020-4-10 20:37:51 | 只看该作者
谢谢分享
回复

使用道具 举报

3630#
发表于 2020-4-10 20:41:26 | 只看该作者

谢谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-1 09:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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