If you are encountering driver related BSOD’s in Windows, chances are that your system is suffering from the effects of a deficient driver.
Normally a vendor will submit their driver to Microsoft for certified testing. If the driver passes the tests, a digital signature will be provided to the vendor for that specific driver.
Now let’s go to the cool part: Driver Verifier!
No, it is not a new tool. However, since Windows Vista it has some great features which can be used when toubleshooting BSOD’s.
Microsoft Windows comes with two versions of the Driver Verifier — a command-line version and a GUI version. Because I love GUI´s, I will only cover the GUI version in my upcomming posts.
Once configured the Driver Verifier will go and do it’s job in the background. What does it do? Basically it performs a serie of extreme stress tests on the selected driver(s) in an atempt to cause the BSOD. So if you are setting this up on a terminal server in a production environment then you will experience loss of performance on that server!
If there is a problem with the selected driver, the stress tests may not be enough to cause the driver to fail.
So, this tool does not give you instant results… you have to wait for the driver to fail. If, after a while, the driver hasn’t failed then perhaps the cause lies not with the selected driver?
What if it’s a driver you can’t go without? Contact the vendor of the driver and provide them with the memorydump. The vendor can use that information to troubleshoot their code. And please do tell them that you’ve used Driver Verifier, and which settings you have used!
Ow yeah, don’t forget to disable the Driver Verifier once you are done troubleshooting! Else it will remain active in the background… and again, you will experience performance loss.
The Driver Verifier can be found at %windir%\system32\verifier.exe
You’ll momentarily see a Command Prompt window and then the Driver Verifier Manager will launch and display wizard-like GUI:
As you can see, the “Create Standard Settings” option is selected by default, and in most cases this option is the best way to start. When you use this option, the Driver Verifier selects a “Standard set of driver verification” options.
If you later decide that you want to perform more specific tests, you can select the “Create Custom Settings” option, which will display all the available driver verification options and allow you to select the ones that you want to employ.
I future posts I will go into those custom settings in more detail…
As I mentioned, you will have to disable the Driver Verifier Manager once you are done troubleshooting. To do so, use the “Delete Existing Settings” option.
As its name implies, selecting the “Display Existing Settings” option will show the driver verification options that have been activated and will list the drivers being tested.
Using the Create Standard Settings option
Since the Create Standard Settings option is the most common way that you’ll use the Driver Verifier Manager, I’ll cover this option. In a future post I will tell you of using the Driver Verifier’s “Create Custom Settings” option. When you leave the default setting selected and click Next, you’ll be prompted to select the drivers that you want to test:
Unsigned drivers are most likely in some way causing the issue so the “Automatically Select Unsigned Drivers” option is selected by default and this setting will only show drivers that do not have a digital certificate provided by Microsoft.
If you want to see all the drivers installed on the system and be able to pick and choose which ones to test, choose the “Select Driver Names From A List” option.
On my test system, I selected the “Automatically Select Unsigned Drivers” option and clicked Next.
To initiate the testing, I clicked “Finish” and was prompted to restart my system.
Again, when you’re done testing please disable the Driver Verifier settings in order not to experience performance issues caused by these settings!
Big fat note
Note that as of Windows 7 and Windows Server 2008 R2, the default Driver Verifier rules have been changed. Things a lot of programmers did in their drivers, may work… however perhaps for the same action there is a more elegant approach.
That’s why Microsoft has made the default rules of Driver Verifier in Windows 7 and Windows Server 2008 R2 more strict.
Therefor a lot of drivers will not pass the Driver Verifier test when you use the default rules in Windows 7 or Windows Server 2008 R2. Most vendors are rewriting their drivers to comply with the new stricter rules.
Contact the vendor of the driver for more details.
More information about Driver Verifier in Windows 7 can be found here: http://www.microsoft.com/whdc/devtools/tools/Win7DriverVer.mspx
This article is based on: http://blogs.techrepublic.com.com/window-on-windows/?p=827