MXIe 或 Thunderbolt 模块引发Driver-Verifier-DMA-Violation蓝屏

更新 Dec 27, 2024

适用于

硬件

  • PXI Controller
  • PXIe-8301
  • PCIe-8361

操作系统

  • Windows

问题详述

  • 我有一个使用 Thunderbolt PXIe-8301 模块的 PXIe MXI 系统。如果我的 PXI 机箱中安装了任何 PXI/PXIe 卡(例如 PXI-5922 或 PXI-5600),当我启动连接的主机时,我会看到蓝屏,并显示错误消息“ DRIVER_VERIFIER_DMA_VIOLATION ”。在登录我的 Windows 帐户之前和之后都会出现此错误。
  • 我有一个使用 NI PCIe-8361 连接到我的 PC 的 PXIe 系统。 PXIe 机箱装有 PXI 模块。一旦我打开整个系统并尝试打开 NI MAX,我就会遇到蓝屏并显示错误消息“ DRIVER_VERIFIER_DMA_VIOLATION ”。

解决方案

此问题已通过适用于 Windows 10 版本 20H2 及更高版本的 Microsoft Service Pack 更新KB5014699得到解决。请更新正在使用的 Windows 版本。

这是启用内核 DMA 保护时停止代码 DRIVER_VERIFIER_DMA_VIOLATION中所述的已知问题。

对于 20H2 之前的旧版 Windows 10,解决方法是禁用计算机 BIOS 中的内核 DMA 保护。

某些计算机的 BIOS 中没有专门提供“内核 DMA 保护”选项。您需要查找定向 I/O 虚拟化技术 (Vt-D) 选项并将其禁用,这将禁用内核 DMA 保护。

请注意,并非所有启用了内核 DMA 保护的笔记本电脑都会出现蓝屏。这取决于制造商如何实施 DMA 保护。

相关信息

出现此蓝屏的原因是从 PXIe 控制器传输到连接的 PC 的数据与Windows 10 版本 1803 中添加的内核 DMA(直接内存访问)保护之间的交互。

内核 DMA 保护防止的攻击要求攻击者能够亲自访问计算机。因此,将计算机保持在安全的环境中将降低遭受攻击的风险。

由于之前的解决方法使最终用户容易受到网络攻击,因此建议首先更新 Windows 以包含服务包 KB5014032 或首先进行所有其他故障排除。如果无法更新 Windows,请确保最终用户了解该风险。

笔记本电脑制造商/供应商通过在 Windows 启动系统时收集的 AHCI 信息中设置特定属性来确定对哪些 PCI 段应用 DMA 保护。属性设置是一项设计决策,通常基于各种 PCI 端口的预期用途,但随着这项新功能的推出,很容易被忽视。这不是一件容易提前检查的事情。

检查笔记本电脑是否兼容的最佳方法是检查 BIOS 中禁用 Intel VT-d 或 AMD-Vi 的能力。虽然某些笔记本电脑无需执行此操作即可工作,但如果不使用系统测试笔记本电脑,则无法判断这一点。