The Driver Verifier DMA Violation bugcheck pops up when the DMA Verification test detects a DMA error (e.g., a driver could be leaking memory).
This BSOD’s stop code is 0x000000E6 and fixing it is very easy. Simply reset Driver Verifier in Windows and disable IOMMU/VT-D in the BIOS.
Keep in mind that this will stop the BSOD but the defective driver is still present on your system. Use the steps from this article to troubleshoot this driver afterward.
Disable Driver Verifier
There are multiple ways to disable Driver Verifier. You can reset the current settings via the Driver Verifier Manager:
- Press Win + R and enter
verifier
. - Select Delete existing settings and press Finish.
You can do the same via the command line:
- Press Win + R, type
cmd
, and press Ctrl + Shift + Enter. - Use the
verifier /reset
command.
You can also delete the verifier settings from the registry. Make sure to backup your registry settings beforehand if you go for this method:
- Press Win + R and enter
regedit
. - Go to:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
- Delete the VerifyDrivers and VerifyDriverLevel keys.
Disable Virtualization in BIOS
Some users encounter this bugcheck even though they never directly enabled Driver Verifier. This happens because DMA Verification can also be implemented through the IOMMU subsystem. To resolve the BSOD in this case,
- Turn on your PC and repeatedly press the BIOS key (usually Del).
- Go to Advanced CPU Configuration or a similar tab.
- Check the Virtualization section. If your BIOS has the Kernel DMA Protection option, set it to Disabled.
- Additionally, set IOMMU (AMD) or VT-D (Intel) to Disabled.
- Press F10 to save the changes and exit the BIOS.
- If the BSOD persists, come back later and disable SVM (AMD) and VT-X (Intel) as well.
Analyze Dump File
This BSOD generates a dump file that you can analyze to potentially identify the faulty driver on your system. I recommend using the WinDbg Preview App from the Microsoft Store to do this.
- Install the app if you haven’t already.
- Run WinDbg Preview as an admin.
- Press Ctrl + D, go to
%windir%
or%windir%/minidump
, and open the dump file. - Select View > Command and enter
!analyze -v
at the kd prompt. - Once the analysis is completed, check the
MODULE_NAME
andProbably caused by
sections for hints on which driver was the problem. - If there are multiple dump files, analyze the rest to get more information.
Troubleshoot Faulty Driver
Sometimes, analyzing dump files will help you single out the exact faulty driver. Other times, the results will point to something generic and unhelpful like ntoskrnl
(the kernel image).
In the latter case, you’ll have to troubleshoot the drivers one by one. I recommend starting with common culprits like the network, audio, and graphics drivers.
Update Driver
Start by trying to update the faulty driver (I’ll update the network driver for demonstration). There are multiple ways to do this.
- Press Win + R, type
devmgmt.msc
, and press Enter. - Right-click the Network Adapter and select Update Driver.
- You’ll see a couple of options here:
- Select Search Automatically for Drivers to download recent drivers via Windows Update.
- Select Browse my computer for drivers to locate driver files that you downloaded yourself.
Device manufacturers also usually provide executables to directly install drivers. So, you could use such driver setup files to update the driver.
Roll Back Driver
Driver updates via Windows Update are automatic for the most part. So, Windows may update to a buggy driver and cause this BSOD without explicitly informing the user of the update. In this case, rolling back to the previous version is the easiest solution.
- Press Win + X and select Device Manager.
- Expand the Network Adapter section and double-click the Network Adapter.
- In the Driver tab, click on Roll Back driver.
- Pick any reason for rolling back and proceed with the rollback.
Uninstall Driver
Sometimes, the latest driver version will be faulty but the rollback option will be grayed out because the previous driver files are already deleted. In this case, you can uninstall the current driver.
- You can use the Uninstall device > Remove driver option via the Device Manager.
- Or, you can use the driver setup tool from the device manufacturer.
Windows will revert to using a basic driver from Microsoft, which is fine for now. You can wait for the latest driver to get patched, or you can find and install a known stable driver version at this point.
Update Windows
There was a DMA implementation issue in Windows 10 build 1803 and later versions. Legacy PCI devices installed in an external chassis would cause this BSOD if they attempted DMA.
Microsoft resolved this problem in 20H2 and newer versions with the KB5014699 service pack update. So, if you’re running a buggy Windows version older than 20H2, updating Windows could resolve this BSOD:
- Press Win + R and enter
control update
. - Click on Check for updates, and download and install any available ones.
- Restart your PC afterward.