TL;DR 版本: 虚拟 Windows 实例在切换到其他主机时会重新安装 GPU 驱动程序,尽管它始终使用相同的硬件。我正在尝试避免这种情况/缩短它的时间
完整版本: 我有一台 iSCSI 服务器(Windows Server 2016)和一些无盘目标。这些目标在物理上是相同的机器,每个都包含一些 Nvidia GTX 1080Ti 显卡。一些目标有华硕的 1080Ti(假设机器 A 和 B),其他目标有技嘉的 1080Ti(机器 C 和 D)。
我使用单个 VHDX(带有 Windows 10)作为 iSCSI 启动器安装,并且机器 A 正在通过网络启动映像。一切正常,因此我关闭 Windows 并重新映射映像以在机器 B 上启动。一切再次正常,因此我关闭 Windows 并重新映射映像以在机器 C 上启动。然后,“正在准备设备”和旋转的轮子出现了相当长一段时间,直到桌面最终出现(它需要长达 1 个小时,所以您明白这可能会令人恼火)。
事实证明,操作系统正在重新安装 Nvidia 驱动程序,因为它将它们检测为不同的卡,但这并不完全正确(只有子供应商不同,其他一切都相同)。在 D 上启动映像是正常的,但再次返回 A 或 B 会使驱动程序再次重新安装。所有驱动程序和版本都是最新的。
我已经采取了一种快速而又粗略的解决方法,将驱动程序重新安装时间缩短了 4 倍,但我正在寻找更优雅的解决方案。快速而又粗略的解决方案是在第一个卡出现后杀死 drvinst.exe,然后重新启动。所有卡都完好无损并且正常工作,因此我认为重新安装是不必要的,或者至少不是在所有卡上都完全重新安装。
我在使用 DDA(Hyper-V Server 2019)虚拟化的 Tesla 卡的 Hyper-V 虚拟机(Windows 10)上工作时遇到了类似的问题,但是在我删除虚拟机并重新设置后,总是会重新安装,即使在同一台主机上也是如此。
问题是:我能以某种方式阻止 Windows 尝试发现硬件变化以防止重新安装驱动程序吗?我尝试禁用 drvinst.exe 功能,但在更换机器后,每张卡附近都会出现感叹号。