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

[讨论] 今天让豆包帮我精简了inf 添加了硬盘驱动

[复制链接]
发表于 前天 14:37 | 显示全部楼层 |阅读模式
本帖最后由 jnwin123 于 2026-5-12 23:09 编辑

从intel官网下载了硬盘驱动,豆包说只需要inf和sys 帮我精简了inf,提示添加成功,不知道行不行。

贴一个18.7.6.1010的VMD精简inf:

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGuid={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INTEL%
DriverVer=2021/05/10,18.7.6.1010

[Manufacturer]
%INTEL% = INTEL,NTamd64.10.0...15063

[INTEL.NTamd64.10.0...15063]
%PCI_VMD.Desc% = VMD_inst

[VMD_inst.NTamd64]
CopyFiles=Only_VMD_Core
AddReg=VMD_Service_Reg

[Only_VMD_Core]
iaStorVD.sys,,,0x20

[VMD_Service_Reg]
HKR,,EnumPropPagesName,,"scsiprop.dll"
HKR,,Service,,iaStorVD

[Strings]
INTEL = "Intel Corporation"
PCI_VMD.Desc = "Intel VMD Volume Management Device"

又重新给做了优化版:

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGuid={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INTEL%
DriverVer=2021/05/10,18.7.6.1010
CatalogFile=iaStorVD.cat

[Manufacturer]
%INTEL% = INTEL,NTamd64

[INTEL.NTamd64]
%PCI_VMD.Desc% = VMD_inst,PCI\VEN_8086&DEV_A07C
%PCI_VMD.Desc% = VMD_inst,PCI\VEN_8086&DEV_467C
%PCI_VMD.Desc% = VMD_inst,PCI\VEN_8086&DEV_7A7C
%PCI_VMD.Desc% = VMD_inst,PCI\VEN_8086&DEV_517C

[VMD_inst.NTamd64]
CopyFiles=Only_VMD_Core
AddReg=VMD_Service_Reg

[Only_VMD_Core]
iaStorVD.sys,,,0x20

[VMD_Service_Reg]
HKR,,EnumPropPagesName,,"scsiprop.dll"
HKR,,Service,,iaStorVD
HKR,,StartType,0x00010003

[Strings]
INTEL = "Intel Corporation"
PCI_VMD.Desc = "Intel VMD Volume Management Device"




发表于 前天 15:02 | 显示全部楼层
回复

使用道具 举报

发表于 前天 15:04 | 显示全部楼层
必须行,现在的驱动,都加入了AI硬件驱动了,基于硬件底层透明,更可恶。
回复

使用道具 举报

发表于 前天 15:07 | 显示全部楼层
必须可行,
回复

使用道具 举报

发表于 前天 15:12 来自手机 | 显示全部楼层
应该可以的
回复

使用道具 举报

发表于 前天 15:54 | 显示全部楼层
豆包牛B,
回复

使用道具 举报

发表于 前天 17:34 | 显示全部楼层
豆包有时候全是胡说八道
回复

使用道具 举报

发表于 前天 17:35 | 显示全部楼层
其实,Windows自己确实也只需要inf何sys就算有驱动了
回复

使用道具 举报

发表于 前天 17:35 | 显示全部楼层
豆包,不靠谱。。。
回复

使用道具 举报

发表于 前天 17:41 | 显示全部楼层
试一试不就知道了

点评

没有环境测试 我的电脑不需要硬盘驱动就可以识别  详情 回复 发表于 前天 18:26
回复

使用道具 举报

发表于 前天 18:09 | 显示全部楼层
豆包很多时候胡说八道
要不停的修改
有时候还反复出错
回复

使用道具 举报

发表于 前天 18:22 | 显示全部楼层
学习一下,谢谢
回复

使用道具 举报

 楼主| 发表于 前天 18:26 | 显示全部楼层

没有环境测试 我的电脑不需要硬盘驱动就可以识别
回复

使用道具 举报

发表于 前天 18:43 | 显示全部楼层
精简前后大小对比是多少?

点评

精简前后相差29M  详情 回复 发表于 前天 19:34
回复

使用道具 举报

 楼主| 发表于 前天 19:34 | 显示全部楼层
RoyRay 发表于 2026-5-12 18:43
精简前后大小对比是多少?

精简前后相差29M
回复

使用道具 举报

发表于 前天 20:09 | 显示全部楼层
自已都验证不了的又何必多此一举呢

点评

烂人 滚远点  详情 回复 发表于 前天 20:38
回复

使用道具 举报

 楼主| 发表于 前天 20:38 | 显示全部楼层
本帖最后由 jnwin123 于 2026-5-12 20:40 编辑
wsgdmzr 发表于 2026-5-12 20:09
自已都验证不了的又何必多此一举呢

烂人 滚远点,拉黑。
回复

使用道具 举报

 楼主| 发表于 前天 20:46 | 显示全部楼层
我分享出来讨论一下,有懂行的高手可以发布自己的见解,总有没拴绳的出来咬
回复

使用道具 举报

发表于 前天 20:55 | 显示全部楼层
不要太相信豆包!
回复

使用道具 举报

发表于 前天 21:43 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 昨天 09:53 | 显示全部楼层
本帖最后由 lbw2007 于 2026-5-13 09:58 编辑

你贴出来的这个“优化版”和豆包给的版本,核心问题都一样——缺了最关键的服务安装节 (Service Install),只靠目前的内容,驱动是无法正常工作的。
提示“添加成功”只说明 INF 格式能被识别、文件复制到了系统,但系统并不知道如何把 iaStorVD.sys 启动起来。设备通常会显示“该设备无法启动(代码 10)”或“驱动程序未安装(代码 28)”

为什么不行?

VMD 驱动作为 SCSI Miniport,必须通过 INF 安装一个引导启动的内核服务。你现在的 INF 里只有 CopyFiles 和 AddReg,其中的 HKR,,StartType 还被写到了设备参数里,完全不起作用。真正的服务需要 [Install.NT.Services] 节来定义。
正确的精简版(基于你的硬件ID)

下面直接补全服务安装节,你可以替换掉之前的内容:

  1. [Version]
  2. Signature="$Windows NT$"
  3. Class=SCSIAdapter
  4. ClassGuid={4D36E97B-E325-11CE-BFC1-08002BE10318}
  5. Provider=%INTEL%
  6. DriverVer=2021/05/10,18.7.6.1010
  7. ; 如果没有原版iaStorVD.cat,或修改过INF,建议删除下一行,否则签名会失效
  8. CatalogFile=iaStorVD.cat

  9. [Manufacturer]
  10. %INTEL% = INTEL,NTamd64

  11. [INTEL.NTamd64]
  12. %PCI_VMD.Desc% = VMD_inst, PCI\VEN_8086&DEV_A07C
  13. %PCI_VMD.Desc% = VMD_inst, PCI\VEN_8086&DEV_467C
  14. %PCI_VMD.Desc% = VMD_inst, PCI\VEN_8086&DEV_7A7C
  15. %PCI_VMD.Desc% = VMD_inst, PCI\VEN_8086&DEV_517C

  16. [VMD_inst.NTamd64]
  17. CopyFiles = Only_VMD_Core

  18. [Only_VMD_Core]
  19. iaStorVD.sys

  20. ; 关键:安装驱动服务
  21. [VMD_inst.NTamd64.Services]
  22. AddService = iaStorVD, 0x2, VMD_Service_Inst

  23. [VMD_Service_Inst]
  24. ServiceType   = 1              ; SERVICE_KERNEL_DRIVER
  25. StartType     = 0              ; SERVICE_BOOT_START(启动时加载)
  26. ErrorControl  = 1              ; SERVICE_ERROR_NORMAL
  27. ServiceBinary = %12%\iaStorVD.sys
  28. LoadOrderGroup = SCSI Miniport
  29. AddReg        = VMD_Service_AddReg

  30. [VMD_Service_AddReg]
  31. HKR,,EnumPropPagesName,,"scsiprop.dll"

  32. [Strings]
  33. INTEL = "Intel Corporation"
  34. PCI_VMD.Desc = "Intel VMD Volume Management Device"
复制代码
使用建议

  • 确保 iaStorVD.sys 和这个 .inf 文件在同一个文件夹。
  • 如果你的硬件 ID 不在这四个之中,去原版 INF 里找到自己对应的 PCI\VEN_8086&DEV_XXXX,照着格式加进去即可。
  • Windows 安装界面加载时,如果因为签名问题无法识别,就在安装盘启动时按 F7 禁用驱动强制签名(或者在 INF 里暂时删除 CatalogFile 那行)。

用这个版本再去加载,理论上设备管理器里就不会再出现感叹号了。

==== ==== ==== ====
其他说明:

在inf中,安装驱动程序时,比如SCSIAdapter类设备,如果要安装一个服务(驱动),需要在DDInstall节(这里为VMD_inst.NTamd64)下面要么有子节 .Services 来定义AddService,要么手动添加服务注册。但通常,如果没有AddService,只有CopyFiles和AddReg,在AddReg中写入HKR,,Service,,iaStorVD 是把设备软件键(设备参数)中设置Service值为iaStorVD,但驱动加载并不靠设备参数中的Service,而是靠设备枚举器的服务键。实际Windows即插即用过程:当匹配到设备,会根据inf中的硬件ID和安装节,会创建设备节点,并会为该设备创建服务(如果指定了AddService的话)。如果没有AddService,只设置HKR中的Service项,可能仅仅注册了设备属性,并不会真正创建服务或启动驱动。因此,精简inf必须包含服务安装节,否则驱动可能无法加载,设备管理器会显示“这个设备未安装驱动程序”或错误代码。原版Intel VMD inf中肯定有,然后VMD_Service_Reg用于添加其他服务参数,如EnumPropPagesName。但是优化版缺少关键的服务安装节。

点评

[Version] Signature="$Windows NT$" Provider=%INTEL% ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318} Class=SCSIAdapter CatalogFile=iaStorVD.cat DriverVer=09/19/2022,18.7.6.1010 PnpLockDown=1 [SourceD  详情 回复 发表于 昨天 12:41
终于来了位大神  详情 回复 发表于 昨天 10:46
回复

使用道具 举报

发表于 昨天 10:04 | 显示全部楼层
楼上的这个是大神,必须给个赞
回复

使用道具 举报

 楼主| 发表于 昨天 10:46 | 显示全部楼层
lbw2007 发表于 2026-5-13 09:53
你贴出来的这个“优化版”和豆包给的版本,核心问题都一样——缺了最关键的服务安装节 (Service Install), ...

终于来了位大神
回复

使用道具 举报

发表于 昨天 10:54 | 显示全部楼层
AI改变生活,这办公已经深度融合了。
回复

使用道具 举报

发表于 昨天 11:24 | 显示全部楼层
现在豆包确实牛逼,大数据强悍 谢谢楼主分享
回复

使用道具 举报

发表于 昨天 11:49 | 显示全部楼层
楼主牛B,豆包还能这么玩的!
回复

使用道具 举报

 楼主| 发表于 昨天 12:41 | 显示全部楼层
lbw2007 发表于 2026-5-13 09:53
你贴出来的这个“优化版”和豆包给的版本,核心问题都一样——缺了最关键的服务安装节 (Service Install), ...

[Version]
Signature="$Windows NT$"
Provider=%INTEL%
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Class=SCSIAdapter
CatalogFile=iaStorVD.cat
DriverVer=09/19/2022,18.7.6.1010
PnpLockDown=1

[SourceDisksNames]
1 = %DiskId1%,,,""

[SourceDisksFiles.amd64]
iaStorVD.sys = 1,,,

[DestinationDirs]
DefaultDestDir = 13
Driver_files_copy = 12

[Driver_files_copy]
iaStorVD.sys

[Manufacturer]
%INTEL% = INTEL, NTamd64

[INTEL.NTamd64]
%PCI\VEN_8086&DEV_9A0B.DeviceDesc%  = VMD_inst, PCI\VEN_8086&DEV_9A0B
%PCI\VEN_8086&DEV_09AB.DeviceDesc% = VMD_dummy_function_inst, PCI\VEN_8086&DEV_09AB

[VMD_inst.NTamd64]
CopyFiles=Driver_files_copy
FeatureScore=0x80

[VMD_inst.ntamd64.Services]
AddService = iaStorVD, %SPSVCINST_ASSOCSERVICE%, iaStorVD_inst

[iaStorVD_inst]
DisplayName    = %iaStorVD.ServiceName%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\iaStorVD.sys
LoadOrderGroup = SCSI miniport
AddReg = pnpsafe_pci_addreg

[pnpsafe_pci_addreg]
HKR, Parameters\PnpInterface,  5,  %REG_TYPE_DWORD%,  0x00000001
HKR, Parameters, BusType, %REG_TYPE_DWORD%,  0x00000008

[VMD_dummy_function_inst.NTamd64]
Include=machine.inf
Needs=NO_DRV

[VMD_dummy_function_inst.NTamd64.Services]
Include=machine.inf
Needs=NO_DRV.Services

[Strings]
INTEL = "Intel Corporation"
diskId1 = "RST Installation Disk"
iaStorVD.ServiceName = "Intel(R) Chipset VMD RST Controller"

PCI\VEN_8086&DEV_9A0B.DeviceDesc  = "Intel RST VMD Controller 9A0B"
PCI\VEN_8086&DEV_09AB.DeviceDesc = "Intel RST VMD Managed Controller 09AB"

SPSVCINST_ASSOCSERVICE = 0x00000002
REG_TYPE_DWORD = 0x00010001
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START = 0
SERVICE_ERROR_NORMAL = 1

大神看一下这次可以了吗?

点评

我也不会,这个答案和上一个都是帮你问的AI。 ==== ==== ==== ==== 这次你贴出的 INF,安装逻辑已经完整了——最关键的 [VMD_inst.NTamd64.Services] 和对应的服务安装节都有了,ServiceBinary、StartType 也都正  详情 回复 发表于 昨天 16:19
回复

使用道具 举报

发表于 昨天 16:19 | 显示全部楼层
jnwin123 发表于 2026-5-13 12:41
[Version]
Signature="$Windows NT$"
Provider=%INTEL%

我也不会,这个答案和上一个都是帮你问的AI。

==== ==== ==== ====

这次你贴出的 INF,安装逻辑已经完整了——最关键的 [VMD_inst.NTamd64.Services] 和对应的服务安装节都有了,ServiceBinary、StartType 也都正确指向了 iaStorVD.sys。结构上是能驱动设备的。
不过,有 1 个必须处理的问题(签名),以及 2 个小建议。


必须修改:签名失效问题

你现在这个 INF 是从原版精简的,但 iaStorVD.cat 是为原版 INF 签发的,INF 改动后哈希就对不上了,签名会立即失效。再加上 PnpLockDown=1 又要求锁定包完整性,系统会直接拒绝加载驱动,变成 “驱动程序签名无效”
解决方法:把这两行都注释掉或删除,只用未签名方式加载:
; CatalogFile=iaStorVD.cat
; PnpLockDown=1
安装时需要用 F7 禁用强制驱动签名(启动盘环境)或 高级启动选项禁用签名强制(正常系统下),否则仍会提示错误。


两个小建议

  • 节名大小写保持一致  你写了 [VMD_inst.NTamd64],但下面却是 [VMD_inst.ntamd64.Services]。Windows 不区分大小写,但规范上建议统一为 NTamd64,即 [VMD_inst.NTamd64.Services]。
  • 确认硬件 ID 是否匹配  你本例里用的是 9A0B、09AB,和之前提到的 A07C/467F 等不同。如果这正是你机器的 VMD 设备 ID,没问题;如果不是,把它们替换成你自己的 ID(在设备管理器 → 属性 → 详细信息 → 硬件 ID 里查看)。



最终建议的精简版(基于你的 INF)

把上面几点整合,直接可用:

  1. [Version]
  2. Signature="$Windows NT$"
  3. Provider=%INTEL%
  4. ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
  5. Class=SCSIAdapter
  6. DriverVer=09/19/2022,18.7.6.1010

  7. [SourceDisksNames]
  8. 1 = %DiskId1%,,,""

  9. [SourceDisksFiles.amd64]
  10. iaStorVD.sys = 1,,,

  11. [DestinationDirs]
  12. DefaultDestDir = 13
  13. Driver_files_copy = 12

  14. [Driver_files_copy]
  15. iaStorVD.sys

  16. [Manufacturer]
  17. %INTEL% = INTEL, NTamd64

  18. [INTEL.NTamd64]
  19. %PCI\VEN_8086&DEV_9A0B.DeviceDesc%  = VMD_inst, PCI\VEN_8086&DEV_9A0B
  20. %PCI\VEN_8086&DEV_09AB.DeviceDesc% = VMD_dummy_function_inst, PCI\VEN_8086&DEV_09AB

  21. [VMD_inst.NTamd64]
  22. CopyFiles=Driver_files_copy
  23. FeatureScore=0x80

  24. [VMD_inst.NTamd64.Services]
  25. AddService = iaStorVD, %SPSVCINST_ASSOCSERVICE%, iaStorVD_inst

  26. [iaStorVD_inst]
  27. DisplayName    = %iaStorVD.ServiceName%
  28. ServiceType    = %SERVICE_KERNEL_DRIVER%
  29. StartType      = %SERVICE_BOOT_START%
  30. ErrorControl   = %SERVICE_ERROR_NORMAL%
  31. ServiceBinary  = %12%\iaStorVD.sys
  32. LoadOrderGroup = SCSI miniport
  33. AddReg = pnpsafe_pci_addreg

  34. [pnpsafe_pci_addreg]
  35. HKR, Parameters\PnpInterface,  5,  %REG_TYPE_DWORD%,  0x00000001
  36. HKR, Parameters, BusType, %REG_TYPE_DWORD%,  0x00000008

  37. [VMD_dummy_function_inst.NTamd64]
  38. Include=machine.inf
  39. Needs=NO_DRV

  40. [VMD_dummy_function_inst.NTamd64.Services]
  41. Include=machine.inf
  42. Needs=NO_DRV.Services

  43. [Strings]
  44. INTEL = "Intel Corporation"
  45. DiskId1 = "RST Installation Disk"
  46. iaStorVD.ServiceName = "Intel(R) Chipset VMD RST Controller"

  47. PCI\VEN_8086&DEV_9A0B.DeviceDesc  = "Intel RST VMD Controller 9A0B"
  48. PCI\VEN_8086&DEV_09AB.DeviceDesc = "Intel RST VMD Managed Controller 09AB"

  49. SPSVCINST_ASSOCSERVICE = 0x00000002
  50. REG_TYPE_DWORD = 0x00010001
  51. SERVICE_KERNEL_DRIVER  = 1
  52. SERVICE_BOOT_START = 0
  53. SERVICE_ERROR_NORMAL = 1
复制代码


把这个文件和 iaStorVD.sys 放一起,加载时按提示禁用签名,就能正常安装并工作了。

点评

官方驱动本身就4-6M左右,有啥可精简的?另外,他修改的硬件ID根本就不对应VMD模式的硬件ID;纯属瞎搞,我有11代本本,VMD模式硬件ID压根就不是他修改的那几个。官方提供的才对应。  详情 回复 发表于 昨天 22:31
谢谢  详情 回复 发表于 昨天 17:38
回复

使用道具 举报

发表于 昨天 16:26 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 昨天 17:38 | 显示全部楼层
lbw2007 发表于 2026-5-13 16:19
我也不会,这个答案和上一个都是帮你问的AI。

==== ==== ==== ====

谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-14 02:22

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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