When you start Windows, you may receive the following error message:
Cannot find a device file that may be needed to run Windows or a
The Windows registry or SYSTEM.INI file refers to this device file,
but the device file no longer exists.
If you deleted this file on purpose, try uninstalling the associated
application using its uninstall program or setup program.
If you still want to use the application associated with this device
file, try reinstalling that application to replace the missing file.
NOTE: The specific file may not be named.
This error message can occur for either of the following reasons:
- A Windows virtual device driver (VxD) referenced in the System.ini
file or registry is missing or damaged.
- One of the StaticVxD values in the registry contains invalid data. For
example, the value is blank or contains only spaces. In this case, the
missing device driver is not named in the error message.
WARNING: Using Registry Editor incorrectly can cause serious problems that
may require you to reinstall your operating system. Microsoft cannot
guarantee that problems resulting from the incorrect use of Registry
Editor can be solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing Keys
And Values" Help topic in Registry Editor (Regedit.exe) or the "Add and
Delete Information in the Registry" and "Edit Registry Data" Help topics
in Regedt32.exe. Note that you should back up the registry before you edit it.
To resolve this problem, follow each step below until the error no longer
- If you have recently removed a program or component, reinstall the
program or component, then run the uninstall tool if one is
available. If no uninstall tool is available for the program or
component, contact the manufacturer to obtain instructions on
- If the missing device driver has a .386 extension, disable the line
referring to this device driver in the System.ini file by placing a
semicolon (;) at the beginning of the line. For example, if the line
referencing the missing device driver reads
change the line to read
- If the missing device driver has a .vxd extension, it is a driver
designed for use with Windows 95 or Windows 98 and is referenced in
the registry. In most cases, a program or component with drivers
designed for use with Windows 95 or Windows 98 will also be listed
in the Add/Remove Programs tool in Control Panel. Following the
instructions in step 1 should correct the problem.
For Windows 98
If the error message still occurs after following the instructions in
step 1 or it does not apply, use System File Checker to extract the
missing file from the Windows 98 CD-ROM as follows:
Click Start, point to Programs, point to Accessories, point to
System Tools, and then click System Information.
- On the Tools menu, click System File Checker.
- Click "Extract one file from installation disk," type the name of
the file you want to extract in the "Specify the system file you
would like to restore" box, and then click Start.
- In the Restore From box, type the path to the Win98 folder on the
Windows 98 CD-ROM. Type the destination folder in the Save File In
box if necessary, and then click OK.
- Click OK, click OK, and then click Yes when you are prompted to
restart your computer.
For Windows 95
Use the following syntax to extract a file from a known cabinet file:
extract <cabinet> <filename> /l <destination>
For example, to extract the Windows 95 Unidrv.dll file from the
Win95_10.cab file on a disk in drive A to the Windows\System folder
on drive C, use the following command:
extract a:\win95_10.cab unidrv.dll /l c:\windows\system
For more information about how to extract a file, please see the
following article in the Microsoft Knowledge base:
TITLE : How to Extract Original Compressed Windows Files
- If a specific device driver is not named in the error message, one of
the StaticVxD values in the registry is probably blank or contains only
spaces. The StaticVxD values are located in the registry keys below the
Use Registry Editor to locate and delete any StaticVxD value in the
registry that contains invalid data, is blank, or contains only spaces.
When Windows starts, the System.ini file and the registry are read to
obtain a list of device drivers to load. When Windows cannot locate a
virtual device driver that it is attempting to load, an error message is
Virtual device drivers are files required by various programs to
communicate with your computer's hardware.
The following sample registry key contains a StaticVxD value:
The data for this StaticVxD value is "*COMBUFF" (without the quotation
marks; the quotation marks appear in Registry Editor but are not part of
the VxD name). The asterisk (*) preceding the VxD name indicates that the
VxD is internal to the Vmm32.vxd file. If the VxD referenced by the
StaticVxD value is not internal to the Vmm32.vxd file, its name is not
preceded by an asterisk and typically has a .vxd extension.