Troubleshooting Device Driver Issues by Using the Driver Information Database
The information in this article applies to:
- Microsoft Windows Millennium Edition
- Microsoft Windows 98 Second Edition
- Microsoft Windows 98
- Microsoft Windows 95
This article describes the process that Windows Millennium Edition (Me), Windows 98 Second Edition, Windows 98, and Windows 95 use to handle hardware devices and those devices' drivers, and also describes how to troubleshoot the installation or re-installation of device drivers.
For example, when you install or update a driver for a specific hardware device, the device may not function correctly. If you try to install the driver for the device again, the device may still not function correctly. This article describes what occurs when you install a device, and also describes how to re-install the device driver after a failed installation attempt by rebuilding the Driver Information or Hardware Information databases.
When you install a hardware device on your computer, the device passes information through the basic input/output system (BIOS) to the operating system (Windows). Windows then determines which driver Information (.inf) file to use to install the driver for the device, and Windows determines the location of that .inf file. This process (bus enumeration) is the first step in identifying the device; the operating system is notified through the BIOS that a device is attached and is using a particular bus.
Windows then checks the registry to determine if that particular bus has an enumeration key and if the enumeration key matches the hardware identifier that the device supplied through the BIOS. If the enumeration key exists, the information is then used to install the appropriate driver for the device. If there is no enumeration key, Windows adds the key to the registry with the proper enumeration information (the hardware identifier, the hardware guide, and the driver/inf information), which was supplied by the device hardware through the BIOS.
When additional drivers are installed for the device by either changing or updating the driver, additional subkeys are added in the registry under that bus enumerator for that device.
NOTE: To view the history of the drivers that have been installed for a particular device, use the Microsoft System Information utility:
- Start the Microsoft System Information utility; click Start, point to Programs, point to Accessories, point to System Tools, and then click System Information.
- To view the drivers' history, double-click Components, and then click History.
In Windows 95, Windows 98, and Windows 98 Second Edition, the Driver Information database contains all of the drivers that are listed under the enumerator for that device's bus. In Windows Me, the same data is in the Hardware Information database. These databases are comprised of the Drvdata.bin and Drvidx.bin files and are located in the Windir\Inf folder.
When drivers are updated or changed, a pointer in the Driver Information database or Hardware Information database is changed; however, there is no check to determine if mismatched files were installed during the driver installation. To work around this issue, you can rebuild the Driver Information database or Hardware Information database to eliminate any pointers that may cause mismatched files to be installed.
NOTE: Before you perform the following steps, ensure that you have the original installation media (diskettes or CD-ROM) for the devices that you want to remove because you may be prompted for the installation media when Windows restarts.
Before you rebuild the Driver Information or Hardware Information database:
- Start Windows in Safe mode.
- Click Start, point to Settings, click Control Panel, and then double-click System.
- Click the Device Manager tab, remove all of the instances of the device in question from the device tree, and then click Close. If you are prompted to restart your computer, click No.
To rebuild the Driver Information or Hardware Information database:
- Rename the Drvdata.bin and Drvidx.bin files.
- Click Start, point to Find, and then click Files Or Folders.
- In the Named box, type drvdata.bin, and then click Find Now.
- Right-click the Drvdata.bin file, click Rename, type a new name for the Drvdata.bin file (for example, Drvdata.xxx), and then press the ENTER key.
- Repeat steps a through c for the Drvidx.bin file, and then quit the Find tool.
- Restart your computer normally.
After you restart your computer in normal mode, you are notified that Windows is building the Driver Information database or the Hardware Information database. Your Plug and Play devices are detected again, those devices' busses are enumerated again, and then Windows receives the device information through the BIOS and prompts you to install the default driver for the device. You may also be prompted to insert a disk for the device. If the driver that you want to install is different than the default driver, you can choose the driver that you want to install.