TL;DR – A NO_DRV driver is a driver package that doesn’t contain a driver binary. It uses the driver from another package (typically an in-box Microsoft driver).
One of my servers, a SuperMicro 5038A-IL has been locking up on me. I’ve been able to use the machine for the most part for the past year, but the upshot is that I can’t upgrade the machine from one Windows version to another. 22% of the way through WinRE (or sometimes WinPE), the machine has a hard Freeze, and won’t respond to mouse movement or keyboard. I’ve tried kernel debugging, hardware swaps, nothing works. My experience tells me this is a hardware problem. Time to escalate to SuperMicro support.
Upgrade your drivers
OK I should have seen this one coming, I call up support, and the first thing they ask me to do is make sure I have the latest Network and System Drivers.
- WinRE doesn’t use Network, so this isn’t a problem.
- System Drivers sure! Let’s download and check to see I have the latest stuff.
I open the driver package, and take a look. Wait a minute, I don’t see any *.sys files, only *.inf and *.cat files.
sys – These are the compiled drivers, usually written in c/c++.
inf – These are the install files, typically there is at least one of these.
cat – This is the digial signature, signed by Microsoft to verify the source of the driver.
How can there be no driver in the driver package? Let’s look
[Version] ... CatalogFile=Skylake.cat ... [INTEL.NTamd64] ... %PCI\VEN_8086&DEV_191FDesc%=Needs_NO_DRV,PCI\VEN_8086&DEV_191F [Needs_NO_DRV] Include=machine.inf Needs=NO_DRV