无忧启动论坛

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

[求助] 有没有不依赖自动化工具自己给pe添加驱动的方法

[复制链接]
跳转到指定楼层
1#
发表于 昨天 00:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题。自己的pe太过精简以至于无法用dism(++)添加驱动。dism++提示不支持此接口,dism提示无法写入临时文件夹(winpe下也一样)
有没有什么可以手工给winpe加入驱动的方法,或者说,让一个pe可以被dism(++)增加驱动需要的文件有哪些?我实验了tid=308975(驱动程序区:win8pe请勿过度精简造成无法添加驱动程序)的列表,没有效果。
2#
发表于 昨天 07:01 | 只看该作者
本帖最后由 martin313 于 2025-7-5 07:02 编辑

驱动,仅仅添加文件,没用的;还需要加注册表,drivers注册表。用dism(++)添加驱动,它会自动去更新添加注册表,这样PE启动时才会自动被正确应用!
除非你知道注册表的样子,然后手工添加进去,这样的手工添加才是完整有效。否则必须依赖自动化工具。
回复

使用道具 举报

3#
发表于 昨天 07:27 | 只看该作者
先找一个同版本的正常系统,用dism添加驱动后与原来的系统对比添加了哪些文件和注册表,再把文件和注册表加到无法添加驱动的系统里。这种方法理论上可以,但可能实际会有问题,还是建议用自动化工具。
回复

使用道具 举报

4#
发表于 昨天 08:44 | 只看该作者
devcon 加驱动文件
回复

使用道具 举报

5#
发表于 昨天 11:45 | 只看该作者
来学习下
回复

使用道具 举报

6#
发表于 昨天 12:58 | 只看该作者
我遇到过类似的问题,是用DISM,记得是补充了几个文件啥的,当时没记录是哪些文件。
回复

使用道具 举报

7#
发表于 昨天 13:38 | 只看该作者
需要添加的文件:
IEADVPACK.DLL
IRI.DLL
MIUTILS.DLL
MSOERT2.DLL
PUIAPI.DLL
VSSAPI.DLL
IEFRAME.DLL
SHCORE.DLL
SHLWAPI.DLL
COMCTL32.DLL
GDI32.DLL
KERNEL32.DLL
KERNELBASE.DLL
MSVCRT.DLL
NTDLL.DLL
USER32.DLL
WIN32U.DLL
ACLUI.DLL
ACTIVEDS.DLL
ADSLDPC.DLL
ADVAPI32.DLL
ADVPACK.DLL
AEPIC.DLL
APPHELP.DLL
AUDIOSES.DLL
AUTHZ.DLL
AVRT.DLL
BCD.DLL
BCP47LANGS.DLL
BCP47MRM.DLL
BCRYPT.DLL
BCRYPTPRIMITIVES.DLL
BROWCLI.DLL
CABINET.DLL
CERTCA.DLL
CERTENROLL.DLL
CFGMGR32.DLL
CHARTV.DLL
CLDAPI.DLL
COMBASE.DLL
COMDLG32.DLL
COML2.DLL
COMPPKGSUP.DLL
COREMESSAGING.DLL
COREUICOMPONENTS.DLL
CREDUI.DLL
CRYPT32.DLL
CRYPTBASE.DLL
CRYPTNET.DLL
CRYPTSP.DLL
CRYPTUI.DLL
CSCAPI.DLL
D2D1.DLL
D3D11.DLL
D3D11ON12.DLL
D3D12.DLL
D3DSCACHE.DLL
DAVHLPR.DLL
DBGCORE.DLL
DBGENG.DLL
DBGHELP.DLL
DCOMP.DLL
DEVMGR.DLL
DEVOBJ.DLL
DEVRTL.DLL
DFSCLI.DLL
DHCPCSVC.DLL
DHCPCSVC6.DLL
DNSAPI.DLL
DPAPI.DLL
DRVSETUP.DLL
DRVSTORE.DLL
DSPARSE.DLL
DSREG.DLL
DSROLE.DLL
DUI70.DLL
DUSER.DLL
DWMAPI.DLL
DWRITE.DLL
DXGI.DLL
EAPPCFG.DLL
EAPPPRXY.DLL
EDPAUDITAPI.DLL
EDPUTIL.DLL
EFSADU.DLL
EFSUTIL.DLL
EFSWRT.DLL
ELSCORE.DLL
ESENT.DLL
FECLIENT.DLL
FIREWALLAPI.DLL
FLTLIB.DLL
FMS.DLL
FVEAPI.DLL
FVECERTS.DLL
FVESKYBACKUP.DLL
FWBASE.DLL
FWPOLICYIOMGR.DLL
GDIPLUS.DLL
HID.DLL
HTTPAPI.DLL
ICU.DLL
IEAPFLTR.DLL
IERTUTIL.DLL
IEUI.DLL
IMAGEHLP.DLL
IMGUTIL.DLL
IMM32.DLL
INETCOMM.DLL
IPHLPAPI.DLL
LINKINFO.DLL
LOGONCLI.DLL
MDMREGISTRATION.DLL
MFC42U.DLL
MI.DLL
MLANG.DLL
MMDEVAPI.DLL
MPR.DLL
MPRMSG.DLL
MRMCORER.DLL
MSASN1.DLL
MSCTF.DLL
MSFEEDS.DLL
MSHTML.DLL
MSI.DLL
MSILTCFG.DLL
MSIMG32.DLL
MSISO.DLL
MSLS31.DLL
MSVCP110_WIN.DLL
MSVCP_WIN.DLL
NCRYPT.DLL
NETAPI32.DLL
NETUTILS.DLL
NEWDEV.DLL
NGCRECOVERY.DLL
NSI.DLL
NTASN1.DLL
NTDSAPI.DLL
NTSHRUI.DLL
OCCACHE.DLL
OLE32.DLL
OLEACC.DLL
OLEAUT32.DLL
OLEDLG.DLL
OMADMAPI.DLL
ONEX.DLL
POLICYMANAGER.DLL
POWRPROF.DLL
PRINTUI.DLL
PROFAPI.DLL
PROPSYS.DLL
PSAPI.DLL
RASAPI32.DLL
RASMAN.DLL
REGAPI.DLL
RMCLIENT.DLL
RPCRT4.DLL
RTUTILS.DLL
SAMCLI.DLL
SAMLIB.DLL
SCECLI.DLL
SECHOST.DLL
SECUR32.DLL
SETUPAPI.DLL
SHDOCVW.DLL
SHELL32.DLL
SLC.DLL
SPFILEQ.DLL
SPINF.DLL
SPPC.DLL
SRPAPI.DLL
SRVCLI.DLL
SSPICLI.DLL
TBS.DLL
TEXTINPUTFRAMEWORK.DLL
TEXTSHAPING.DLL
TOKENBINDING.DLL
TPMCOREPROVISIONING.DLL
TWINAPI.APPCORE.DLL
TWINAPI.DLL
UIAUTOMATIONCORE.DLL
UMPDC.DLL
URLMON.DLL
USERENV.DLL
UXTHEME.DLL
VAULTCLI.DLL
VERSION.DLL
VIRTDISK.DLL
W32TOPL.DLL
WEBAUTHN.DLL
WEBIO.DLL
WEBSERVICES.DLL
WEBSOCKET.DLL
WER.DLL
WEVTAPI.DLL
WFDSCONMGR.DLL
WIMGAPI.DLL
WINBRAND.DLL
WINDOWSCODECS.DLL
WINDOWSPERFORMANCERECORDERCONTROL.DLL
WINHTTP.DLL
WININET.DLL
WINMM.DLL
WINMMBASE.DLL
WINNSI.DLL
WINSPOOL.DRV
WINSTA.DLL
WINTRUST.DLL
WKSCLI.DLL
WLANAPI.DLL
WLDAP32.DLL
WLDP.DLL
WMICLNT.DLL
WPAXHOLDER.DLL
WS2_32.DLL
WTSAPI32.DLL
WUCEFFECTS.DLL
XMLLITE.DLL

点评

大佬,这楼的文件都在system32吗?  详情 回复 发表于 昨天 15:41
回复

使用道具 举报

8#
发表于 昨天 13:46 | 只看该作者
别忘了对应的mui文件。COMCTL32.DLL这个文件还要到winsxs文件夹搜一下,找文件夹带none的四个和zh-cn的二个。类似amd64_microsoft.windows.common-controls_*_none_*,amd64_microsoft.windows.common-controls_*_zh-cn_*也复制一下。
试试看行不行。
回复

使用道具 举报

9#
发表于 昨天 14:05 | 只看该作者
本帖最后由 youxia1220 于 2025-7-5 14:06 编辑

手动添加驱动,你要是能明白驱动的inf文件就没问题,inf文件很清楚的说明了要添加哪些文件和注册表键值。
没有万能的添加工具,哪怕用同一个工具备份其他pe的驱动,你拿来安装都可能不成功。因为你制作的pe和备份驱动的pe文件和注册表不一样。
相对来说dism++使用方便,但也不是万能的,就遇到过添加驱动后驱动库竟然没有对应文件的情况。
dism应该是比较靠谱的,就是命令行界面太麻烦。
回复

使用道具 举报

10#
 楼主| 发表于 昨天 15:41 | 只看该作者
youxia1220 发表于 2025-7-5 13:38
需要添加的文件:
IEADVPACK.DLL
IRI.DLL

大佬,这楼的文件都在system32吗?
回复

使用道具 举报

11#
发表于 昨天 18:18 | 只看该作者
本帖最后由 youxia1220 于 2025-7-5 18:22 编辑

我不是大佬,也是新手。
都是system32文件夹下。列表文件不少,你缺少的文件应该不多。
再加上winsxs文件夹下有四个amd64_microsoft.windows.common-controls_*_none_*和二个amd64_microsoft.windows.common-controls_*_zh-cn_*文件夹都按路径复制。这几个文件夹应该是缺少的比较多,制作pe第一步精简winsxs时,就可能被精简了。
回复

使用道具 举报

12#
发表于 昨天 19:20 | 只看该作者
以后遇到类似的问题,自己知道用工具搞定。发到论坛,指导你的人不多,我发到论坛的求助,大部分都石沉大海。或许是没有研究过,或许是不愿意教。或许不清楚pe具体情况。
类似你这样缺少文件的问题,一般用Process Monitor和Depends这二个工具就可以了。先用Depends,工具会告诉你缺少哪些文件。补齐文件还不行,再用Process Monitor,Process Monitor也会告诉你缺少的文件和访问的注册表,补齐文件后一般缺少的文件应该不多了,主要是缺少注册表的问题。查看Process Monitor访问的注册表,对比正常系统注册表,补齐注册表键值。过程很繁琐。补齐dll文件要养成补齐mui和mun文件的习惯。
对比注册表,可以将pe的注册表导出,和正常系统导出的注册表对比,这要用到Beyond Compare 。这个工具很直观,如果你直接打开reg文件对比,导出的reg文件很多二进制数据,除非你熟悉这些数据代表的意义,或者手头有二进制数据对比表,不然一头雾水。
还有其他的工具,比如监测驱动的安装,记录下添加的文件和注册表,我没试过其他的工具,用的是RegSnap。这个工具不怎么好用,添加文件的监测就那几个固定的文件夹。监测注册表的变动,动不动就成千上万个,抓不住关键。如果你熟悉注册表,还不如自己导出相关的注册表,用Beyond Compare对比方便。应该有好用的工具,不知道罢了。你有用过的顺手的工具,可以告诉我。
回复

使用道具 举报

13#
发表于 昨天 21:50 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

14#
 楼主| 发表于 17 小时前 | 只看该作者
谢谢大佬讲解。
最后还是选择了使用pe的母本集成驱动后再用工具精简。
这个pe的来源和我先前的用改造后的sairen139大佬的精简脚本制作的骨头一致。
大佬以前的脚本我在精简x64 22000 re时没有遇到这个问题(当然可能和我当时把19041可上网pe和22000pe脚本分别处理同一个boot.wim得到的两个pe混合文件有关。这回22000 arm64 re就有这个问题。
总之很玄学。
我自己基于adk做的pe,不知道精简了什么文件(我确定不是sxs缺失,因为完整sxs下问题依旧),也导致了这个问题(已集成的驱动可以正常工作)
1l提到的帖子在hlstudio的骨头8pe x64有效,32位我没做前后对照。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-7-6 17:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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