This article was previously published under Q132008
IMPORTANT: This article contains information about editing the registry.Before you edit the registry, make sure you understand how to restore itif a problem occurs. For information about how to do this, view the"Restoring the Registry" Help topic in Regedit.exe or the "Restoring aRegistry Key" Help topic in Regedt32.exe.
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 Windows application.
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 thatmay require you to reinstall your operating system. Microsoft cannotguarantee that problems resulting from the incorrect use of RegistryEditor can be solved. Use Registry Editor at your own risk.
For information about how to edit the registry, view the "Changing KeysAnd Values" Help topic in Registry Editor (Regedit.exe) or the "Add andDelete Information in the Registry" and "Edit Registry Data" Help topicsin 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 longeroccurs:
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 uninstalling.
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:
For more information about how to extract a file, please see the following article in the Microsoft Knowledge base:
ARTICLE-ID: 129605 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 following key:
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 toobtain a list of device drivers to load. When Windows cannot locate avirtual device driver that it is attempting to load, an error message isgenerated.
Virtual device drivers are files required by various programs tocommunicate with your computer's hardware.
The following sample registry key contains a StaticVxD value:
The data for this StaticVxD value is "*COMBUFF" (without the quotationmarks; the quotation marks appear in Registry Editor but are not part ofthe VxD name). The asterisk (*) preceding the VxD name indicates that theVxD is internal to the Vmm32.vxd file. If the VxD referenced by theStaticVxD value is not internal to the Vmm32.vxd file, its name is notpreceded by an asterisk and typically has a .vxd extension.