错误信息:Cannot Find a Device File That May Be Needed to Run Windows(找不到运行 Windows 可能需要的设备文件)

文章翻译 文章翻译
文章编号: 132008 - 查看本文应用于的产品


重要说明:本文包含有关编辑注册表的信息。编辑注册表之前,一定要知道在发生问题时如何还原注册表。有关如何还原注册表的信息,请查看 Regedit.exe 中的“还原注册表”帮助主题,或 Regedt32.exe 中的“还原注册表项”帮助主题。
展开全部 | 关闭全部

症状

当启动 Windows 时,您可能会收到以下错误信息:


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.

<filename>.vxd

注意:可能不会列出特定的文件名称。

原因

以下任一原因均可导致产生此错误信息:
  • System.ini 文件或注册表中引用的 Windows 虚拟设备驱动程序 (VxD) 丢失或损坏。
  • 注册表中的某个 StaticVxD 值包含无效数据。例如,值为空或只包含空格。在此情况下,错误信息中不会列出丢失的设备驱动程序的名称。

解决方案

警告:注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为注册表编辑器使用不当而产生的问题。使用注册表编辑器需要您自担风险。

有关如何编辑注册表的信息,请查看注册表编辑器 (Regedit.exe) 中的“更改项和值”帮助主题,或 Regedt32.exe 中的“添加和删除注册表中的信息”和“编辑注册表数据”帮助主题。注意,编辑注册表之前,应当先备份注册表。

要解决此问题,请执行下列每个步骤,直到不再出现错误:
  1. 如果您刚删除了程序或组件,请重新安装此程序或组件,然后运行卸载工具(如果可用)。如果没有可用于该程序或组件的卸载工具,请与制造商联系,以获取有关卸载的说明。
  2. 如果丢失的设备驱动程序的扩展名为 .386,请禁用 System.ini 文件中引用该设备驱动程序的行,方法是:在此行开始处放置一个分号 (;)。例如,如果引用丢失的设备驱动程序的行的内容为
          device=Example.386
     
    						
    请将该行更改为
          ;device=Example.386
     
    						
  3. 如果丢失的设备驱动程序的扩展名为 .vxd,则该设备驱动程序是设计成与 Windows 95 或 Windows 98 一起使用的驱动程序,并在注册表中被引用。在大多数情况下,带有设计成与 Windows 95 或 Windows 98 一起使用的驱动程序的程序或组件也会在控制面板中的“添加/删除程序”工具中列出。按照步骤 1 中的说明操作可以解决此问题。

    对于 Windows 98

    如果在按照步骤 1 中的说明操作后错误信息仍出现,或步骤 1 中的说明不适用,请使用系统文件检查器从 Windows 98 光盘提取丢失的文件,方法如下:

    1. 单击“开始”,依次指向“程序”、“附件”、“系统工具”,然后单击“系统信息”。
    2. 在“工具”菜单上,单击“系统文件检查器”。
    3. 单击“从安装软盘提取一个文件”,在“请指定您要恢复的系统文件”框中键入要提取的文件的名称,然后单击“开始”。
    4. 在“还原自”框中,键入 Windows 98 光盘上 Win98 文件夹的路径。如果需要,在“将文件保存到”框中键入目标文件夹,然后单击“确定”。
    5. 单击两次“确定”,然后在系统提示您是否重新启动计算机时单击“是”。

    对于 Windows 95

    使用以下语法从已知 Cabinet 文件提取文件:
    extract <cabinet> <filename> /l <destination>
    例如,要将 Windows 95 Unidrv.dll 文件从驱动器 A 磁盘中的 Win95_10.cab 文件复制到驱动器 C 上的 Windows\System 文件夹,请使用下面的命令:
    extract a:\win95_10.cab unidrv.dll /l c:\windows\system
    有关如何提取文件的详细信息,请参阅以下 Microsoft 知识库文章:
    文章 ID: 129605
    标题:如何解压缩原始压缩 Windows 文件
  4. 如果错误信息中没有列出特定设备驱动程序的名称,则注册表中的某个 StaticVxD 值可能为空或只包含空格。StaticVxD 值位于注册表项中的以下项下:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD


    使用注册表编辑器找到并删除注册表中包含无效数据、为空或只包含空格的任何 StaticVxD 值。

更多信息

当 Windows 启动时,将读取 System.ini 文件和注册表以获取要加载的设备驱动程序的列表。当 Windows 找不到它尝试加载的虚拟设备驱动程序时,会生成错误信息。

虚拟设备驱动程序是各种程序与您的计算机硬件进行通信时所需的文件。

下面的示例注册表项包含一个 StaticVxD 值:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\COMBUFF


此 StaticVxD 值的数据为“*COMBUFF”(不含引号;引号会出现在注册表编辑器中,但不是 VxD 名称的一部分)。VxD 名称前的星号 (*) 表示该 VxD 仅由 Vmm32.vxd 文件内部使用。如果 StaticVxD 值引用的 VxD 不是仅由 Vmm32.vxd 文件内部使用,则其名称前就没有星号,并且通常具有 .vxd 扩展名。

属性

文章编号: 132008 - 最后修改: 2005年1月31日 - 修订: 1.1
这篇文章中的信息适用于:
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 98 第二版
  • Microsoft Windows 95
关键字:?
kberrmsg kbenv kbprb kbfaq KB132008
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com