Using Driver Verifier to fix a Blue Screen of Death. How to identify problematic drivers using Driver Verifier Troubleshooting errors that occur when checking drivers

A driver is a program that is necessary for the operating system and various software applications to interact with hardware devices connected to it. Hardware components such as sound, video cards, printers, scanners and they all need a compatible driver for them to work properly.

All device drivers are designed for specific operating systems. For example, in Windows XP the drivers will be different from Windows Vista drivers. Therefore, it is necessary to take extra precautions while installing and updating device drivers as installing incorrect or incompatible drivers may not only damage the device but also your system.

Common Causes of Driver Errors

Some common causes of driver errors are listed below:

  • You are trying to use a hardware device that is not properly connected to your computer.
  • Two or more drivers on the system are incompatible with each other.
  • The driver or drivers are installed that are not compatible with your system.
  • There are unnecessary or outdated drivers on your PC.

Steps to fix driver errors
The first step in identifying a driver error is to ensure that the device is properly connected to your system. Many devices give connection errors, so check that your device is connected to your system correctly. Next, you need to make sure that there are no problems with the drivers. You can do this using the Device Manager utility that comes with your computer system Windows. You can open Device Manager by directly running devmgmt. msc from the command lineStart>Doneit. When you open Device Manager, you will see a list of all the devices connected to your system. You can easily identify the defective file because it will be marked yellow triangle With exclamation mark inside. Right-click on a device to open its properties dialog box. In the properties dialog, check the section Device status on the tab Are common. Drivers are displayed on the Drivers tab of the properties window. Here, complete one of the following tasks:

  • Check and Install Driver Updates: Outdated drivers are one of the main causes of driver errors. To solve this problem, click the button Update Driver.The Hardware Update Wizard will open. You can use the wizard to update the driver. It is recommended that you download the driver update first and save it to comfortable spot on your hard drive and then start the update process because the update wizard will ask you to specify a location to install the update.
  • Driver rollback: If you start receiving an error message shortly after installing a new update, then it is likely that the new update is buggy. To fix this problem, click the button Driver rollback to return to yours previous version drivers.
  • Uninstalling the driver: If there are problems with your current drivers - missing or corrupted files - then the best thing you can do is click Delete to uninstall the current driver, and then reinstall the driver again.

In case you are not sure what you are doing and if you find the above fixes a little difficult, then it is recommended that you choose a reliable driver scanning tool. Driver scanning tools are designed to check all device drivers and make sure they are not up-to-date. Whenever new updates are available, the driver scanner automatically downloads and installs best updates to your computer.

For such cases, to check how correctly the drivers work in Windows XP, there is special utility verifier.exe. Utility Driver Verifier, creates the most severe conditions for drivers, in which the probability of failure is very high, and the name of the failing driver is determined with the highest accuracy. Therefore, in case of non-systematic failures, it is useful to run the utility Driver Verifier.exe. There is no need to download Verifier, since the utility is included in Windows and is located in the directory Windows\system32


1 Working with Verifier.exe

1.1. Let's launch Verifier.exe.Start - Run - Verifier.exe:

1.3. Utility Driver Verifier.exe will ask to reboot:



1.4. Two new parameters will appear in the registry:


-- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers


Registry settings related to Driver Verifier.exe

2 Test results

2.1. If in the first window of the utility Driver Verifier.exe choose "Display information about currently tested drivers", then a window like this will appear. It shows which drivers are checked and which are not. By pressing "Further", you can see other information about tested drivers:



2.2. As a result of checking the drivers with the utility Driver Verifier.exe it is possible that the system may fall out. When an error occurs while checking drivers, it causes system errors And . Typical error codes and explanations are given below.

0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
· 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
· 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
· 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
· 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
· 0xE6: DRIVER_VERIFIER_DMA_VIOLATION


2.3. Examples of dump decryption by the program :


3. Useful links

The Driver Verifier utility (verifier.exe) is designed to analyze problematic drivers when analysis of memory dumps after a BSOD does not allow finding the problematic driver. Driver Verifier is a “lifesaver” in the most problematic situations.

WITH using Driver Verifier can be performed:

    driver stress test (resource shortage conditions are simulated);

    buffer overflow control;

    control over errors that occur due to incorrect operation at a given IRQL;

    I/O error analysis;

    detection of deadlock situations, etc.

The Driver Verifier utility is very useful when:

    the administrator (user) has suspicions that this particular driver is causing the system to crash and he wants to further check whether this is actually the case;

    driver developers want to test their driver;

    When analyzing a dump after a BSOD, it is impossible to find the problematic driver.

One of the most difficult cases of analyzing memory dumps is when a driver mistakenly overwrites data before or after the end of the buffer it allocated. In such cases, errors occur in the OS kernel (for example, analysis of a dump after a BSOD shows that the error occurred in ntoskrnl.exe).

Let's look at a similar case using a specific example. Using the NotMyfault utility, we cause BSOD - “Buffer overflow”.

The result of dump analysis using windbg is attached below.

According to the dump analysis we get:

1. Arg1: 00000007, Attempt to free pool which was already freed (an attempt was made to release an already freed pool)

2. IMAGE_NAME: ntkrpamp.exe (the core of the system itself has something to do with this)

It is with such errors that verifier comes to the rescue.

Launch verifier.

Select “Create no standard parameters" Next, select “Select parameters from list”.

Select everything except “Simulate resource shortage”.

Then select “Select unloaded drivers for this list” and specify the path to the myfault.sys driver, which is located in the same directory as the NotMyfault.exe program.

Then mark the driver and click “Finish”. After this, we need to reboot the computer.

We perform all the same actions as at the beginning. Run NotMyfault.exe, select “Buffer overflow” and click “Crash”. As you noticed, a crash may not happen immediately, since who and when will try to work with this memory is unknown in advance. As you can see in the image below, thanks to the verifier, the system can identify the problematic driver.

I will give an analysis using!analyze –v in windbg.exe of a memory dump after a BSOD.

The verifier program makes it so that the driver being tested, instead of ordinary memory available in the kernel, uses a special pool designed to detect such an error. Thanks to this, you can find the driver that causes the BSOD.

If we look at the results of the analysis, we see the following.

1. DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION (d6) – this is one of the errors that is generated by verifier

2. IMAGE_NAME: myfault.sys – driver that caused the problem.

Thus, if analyzing a memory dump after a BSOD does not allow you to find the “culprit driver,” use the verifier.exe program (install all checks, except for lack of memory).

The simplest way to use Driver Verifier (verifier.exe) is to run it with the following parameters:

verifier /standard /driver driver file name

Post Views: 1,042

Using the Driver Verifier Manager system utility supplied with Windows Vista/7, you can conduct a comprehensive diagnosis of the drivers installed in the system and find problematic components that interfere with the stable operation of the computer and the equipment connected to it.

To run the mentioned tool, you need to log into Windows with administrator rights, then in the address bar of the “Start -> Run” menu, enter the command verifier.exe and click OK. As a result, the Driver Verification Manager window will open, in which you will need to scratch your head and decide on the appropriate option for launching the utility. You can perform both selective and complete testing of all drivers without exception.

After setting the program operating mode and pressing the “Finish” button, you will need to restart the computer and wait for the operating system to load. If a faulty driver is detected, Windows will crash into the so-called “ blue screen death” (BSOD - Blue Screen Of Death) and will report a critical error containing information about the problematic component, which must be taken into account.

The next step is to delete the defective driver files. To do this, you need to hold down the F8 key when starting the computer and start the system in safe mode (Safe Mode) and then standard using Windows eliminate the faulty component. Then you will need to open the console again and enter the verifier.exe /reset instruction to deactivate the Driver Verifier Manager application. It is important to note that entering the last command is also required if the computer boots successfully, indicating the absence of problematic drivers.

Additional reference information on this issue See the article “Use the Driver Verifier to Identify Windows Driver Issues (Advanced)” on the Microsoft Support site.


Sometimes DRIVER_VERIFIER_DETECTED_VIOLATION blue screen errors related to hardware can be caused by corruption random access memory(RAM). If you are experiencing random computer reboots, sound signals When booting or other computer malfunctions (in addition to BSOD errors 0xC4), it is very likely that there is memory corruption. In fact, almost 10% of application crashes on Windows OS are caused by memory corruption.

If you've recently added new memory to your computer, we recommend temporarily removing it to make sure it's not causing the DRIVER_VERIFIER_DETECTED_VIOLATION error. If this action resolves the BSOD, then this is the source of the problem, and therefore the new memory is either incompatible with some of your hardware or damaged. In this case, you will need to replace new memory modules.

If you did not add new memory, the next step is to run a diagnostic test on your computer's existing memory. A memory test will scan for hard memory failures and intermittent errors that could be causing your 0xC4 blue screen of death.

Although latest versions Windows contains a utility for testing RAM, I highly recommend using Memtest86 instead. Memtest86 is a testing tool software BIOS-based, unlike other test programs run in Windows environment. The advantage of this approach is that the utility allows you to check ALL operating memory for DRIVER_VERIFIER_DETECTED_VIOLATION errors, while other programs cannot check memory areas occupied by the program itself. operating system and other running programs.