文章分类: ggRock
本条还可参阅:

网络驱动程序问题?不是问题!

实际可操作的技术分步骤:将虚拟机启动到本地驱动器模式(处理镜像),运行 SDI 获取网络驱动包,使用 pnputil 添加/安装 .inf 文件,对镜像进行快照,然后运行 ggRock 的添加新硬件流程并选择让 Windows 自动检测驱动程序。🚀


简短版本:将目标镜像启动到虚拟机的本地驱动器模式(启用保持回写)→ 安装/运行 SDI 并下载/选择网络包 → pnputil /add-driver "C:\path\to\drivers*.inf" /subdirs /install → 关闭 → 保存快照 → 运行添加新硬件并在提示时选择让 Windows 自动检测



参考资源(最有用的来源)


  • Snappy Driver Installer(下载 / Lite/Full / 设置)。
  • ggRock 产品和管理文档 / 机器、镜像、快照和虚拟机工作流概述。
  • Microsoft PnP 实用程序 (pnputil) 文档和示例。
  • 演示:"添加新硬件向导"(展示 ggRock/WIN 添加硬件流程)。



目标


将最新的网络驱动程序安装到 ggRock 系统镜像中,以便使用该镜像的任何机器在首次启动时都能使用正确的网卡驱动程序。



前置条件


  • 您拥有 ggRock WebAdmin 和用于修改镜像的虚拟机的管理员权限。
  • 您知道将要更新的 PC 镜像(系统镜像 / 镜像槽位)。
  • 您在虚拟机上有可用的 Snappy Driver Installer(Lite 或 Full)的工作副本(从 SDI 网站下载)。



完整分步指南


1) 准备:选择镜像并将虚拟机启动到本地驱动器模式


  1. 在 ggRock WebAdmin → 机器中,选择或创建一个针对您要更新的系统镜像的虚拟机。使用虚拟机可以在进行快照前安装驱动程序。
  2. 将该虚拟机启动到本地驱动器模式(使其启动本地镜像而不是 PXE 无盘模式)。这使虚拟机将镜像作为可以修改的启动驱动器进行挂载。(如果您的设置使用虚拟机桥接或专用虚拟机主机,请使用 ggRock 中的常规虚拟机电源控制启动虚拟机进入本地驱动器模式)。


为什么选择本地驱动器?在本地处理镜像意味着更改(已安装的驱动程序)会写入镜像中,可以进行快照/提交以供推出。



2) 在虚拟机内安装 Snappy Driver Installer


  1. 在虚拟机上(启动到目标镜像时),下载 SDI(如果您希望下载较小的驱动程序索引,选择 Lite;如果需要离线包,选择 Full)或将预下载的 SDI 文件夹复制到虚拟机。官方网站和下载页面位于 http://sdi-tool.org
  2. 以管理员身份提取/运行 SDI。在 SDI 中选择您需要的大型网络驱动包(或选择 Full 包以获得所有内容)。让 SDI 在本地下载/提取所选包 — 请注意完整包可能为数十 GB。


提示: SDI 将提取的驱动程序存储在其程序文件夹下(查找 driversupdate\…\drivers 文件夹)。记下该路径(您需要将 pnputil 指向它)。



3) 使用 pnputil 将驱动程序安装到镜像中


您有两个安全选项:(A) 运行单个递归 pnputil 命令来添加所有可用的 .inf 并尝试立即安装匹配的驱动程序;或 (B) 先测试单个厂商的 .inf


A — 快速递归添加和安装(一行命令)

在虚拟机内打开提升的命令提示符(管理员)或 Windows 终端(管理员)并运行:


pnputil /add-driver "C:\Path\To\SDI\drivers\*.inf" /subdirs /install


  • /subdirs = 递归进入厂商子文件夹(便于 SDI 布局)。
  • /install = 尝试立即为匹配设备安装驱动程序。

(更多 pnputil 示例和语法:Microsoft 文档)。(Microsoft Learn)


PowerShell 循环(可选):


# 在提升的 PowerShell 窗口中运行
$DriverPath = 'C:\Path\To\SDI\drivers'
Get-ChildItem -Path $DriverPath -Filter *.inf -Recurse -File |
ForEach-Object {
Write-Host "Adding $($_.FullName)"
pnputil.exe /add-driver "$($_.FullName)" /install
}


说明和注意事项:


  • 从大型包中安装每个 INF 会冒添加您不需要的驱动程序的风险 — 先测试单个网卡。对未知硬件使用有针对性的安装。
  • 未签名的驱动程序或缺少的 .cat 文件可能导致安装失败 — 必要时检查签名。



4) 关闭虚拟机并保存镜像的快照


  1. 从 Windows 内部(虚拟机):驱动程序安装完成并确认网卡工作后,执行清洁关闭(开始 → 电源 → 关机)。
  2. 在 ggRock WebAdmin 中,保存快照(为该镜像/虚拟机提交快照)。ggRock 镜像/快照工作流允许您捕获当前状态,以便可以将其部署到客户端。如果您的环境使用"回写"或快照命名约定,请遵循您站点的标准命名(例如,2025-10-07_NIC-update)。


如果您愿意,可以为安全保管再复制/导出一份快照副本。



5) 运行 ggRock 添加新硬件流程(安装设备实例)


  1. 在 ggRock WebAdmin 中为您刚刚进行快照的镜像(或将使用该镜像的目标机器)打开添加新硬件向导。此向导将引导您完成添加设备和让 Windows 关联驱动程序的过程。(有关参考,请参见"添加新硬件向导"演示视频)。
  2. 当向导为硬件项目显示驱动程序列表时,选择"让 Windows 自动检测"(或显示的允许操作系统自动搜索并从驱动程序存储中选择最佳驱动程序的选项)。这将让通过 pnputil 添加到驱动程序存储的驱动程序在操作系统检测到设备实例时被选择和应用。


为什么这一步很重要: pnputil 将包放入 Windows 驱动程序存储;添加新硬件 / 即插即用将在操作系统检测到设备实例时将存储驱动程序与硬件 ID 匹配。这样可以确保快照的驱动程序存储实际被已安装设备使用。



故障排除说明


  • 如果 pnputil 报告缺少文件或失败:确认 .inf 文件和所需的 .cat 文件存在于驱动程序文件夹中(SDI 包有时包含嵌套的压缩文件 — 完全提取)。
  • 如果 SDI 无法提取到网络共享:将完整的 SDI 驱动程序文件夹复制到本地驱动器并重新运行 pnputil。SDI 和某些压缩工具从 NAS 挂载时的行为可能很奇怪。
  • 如果在大量安装后看到 BSOD 或意外行为:恢复到预更改的快照,然后尝试有针对性的驱动程序安装路径。在进行大量驱动程序工作之前,始终保留一个已知良好的快照。



快速清单(粘贴到工单模板中)


  • 选择目标镜像并在本地驱动器模式下启动虚拟机。
  • 下载/将 SDI 复制到虚拟机并以管理员身份运行;下载所选的网络包。
  • 确认提取驱动程序的路径(记下 C:\Path\To\SDI\drivers)。
  • 测试单个网卡 INF:pnputil /add-driver "C:\...\vendor.inf" /install
  • 如果测试 OK,进行大量导入:pnputil /add-driver "C:\...*.inf" /subdirs /install
  • 清洁关闭虚拟机。
  • 在 ggRock 中保存快照(镜像/快照)。
  • 运行添加新硬件向导;选择让 Windows 自动检测以让存储驱动程序附加到设备实例。
  • 使用新快照启动客户端并验证网卡和连接性。



示例命令(复制/粘贴)


REM 安装单个驱动程序(测试)
pnputil /add-driver "C:\SDI\drivers\intel\0\intel_net.inf" /install
REM 大量递归添加/安装
pnputil /add-driver "C:\SDI\drivers\*.inf" /subdirs /install
REM 列出存储中的驱动程序包
pnputil /enum-drivers
REM 删除驱动程序(当您知道 oem# 时)
pnputil /delete-driver oem12.inf /uninstall /force


(或使用上面显示的 PowerShell 循环,如果您想要每个 INF 的输出。)



最终提示


  • 如果您维护许多站点,请在工具服务器上保留 SDI Full 包的离线副本 — 可为将来的网卡更新节省时间。SDI Full 包很大;如果您只需要几个驱动程序,Lite 更好。

更新于: 24/04/2026

这篇文章有帮助吗?

分享您的反馈意见

取消

谢谢!