我的 HP EliteBook 2540p 笔记本电脑运行的是 Windows 7 Pro SP1,USB 端口都无法使用。我说的“无法使用”是指,如果我尝试插入 U 盘或外置硬盘,它什么都不做,而在其他机器上却可以正常工作。我几乎试过所有方法,但都失败了。如果我尝试从设备管理器卸载、更新或扫描驱动程序的更改,它就会卡住,无法完成该过程。我还尝试过使用 MicrosoftFixIt 工具,但它也只是挂在那里,什么也不做。我每次尝试都让系统运行一整夜,但它就是挂在那里。每个端口的属性都显示设备工作正常。请帮我弄清楚如何让我的 USB 端口重新工作!
编辑#1- 我尝试过从 Fedora LiveCD 启动,USB 端口工作正常,这表明问题似乎不是硬件问题。不过我需要让端口在 Windows 中重新工作。
编辑#2- 我尝试使用 Microsoft USB View 工具,但不知道如何解释输出。无论如何,当我插入我的拇指驱动器时,该 USB 端口会出现一个带有感叹号的黄色圆圈,上面写着“设备已连接”以下是完整的输出,以便任何人都可以理解并确定可能存在的问题:
Device Descriptor:
bcdUSB: 0x0200
bDeviceClass: 0x00
bDeviceSubClass: 0x00
bDeviceProtocol: 0x00
bMaxPacketSize0: 0x40 (64)
idVendor: 0x8564
idProduct: 0x1000
bcdDevice: 0x0100
iManufacturer: 0x01
0x0409: "JetFlash"
iProduct: 0x02
0x0409: "Mass Storage Device"
iSerialNumber: 0x03
0x0409: "VYWCFQTO"
bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected
Current Config Value: 0x00
Device Bus Speed: High
Device Address: 0x05
Open Pipes: 0
Configuration Descriptor:
wTotalLength: 0x0020
bNumInterfaces: 0x01
bConfigurationValue: 0x01
iConfiguration: 0x00
bmAttributes: 0x80 (Bus Powered )
MaxPower: 0x32 (100 Ma)
Interface Descriptor:
bInterfaceNumber: 0x00
bAlternateSetting: 0x00
bNumEndpoints: 0x02
bInterfaceClass: 0x08
bInterfaceSubClass: 0x06
bInterfaceProtocol: 0x50
iInterface: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x01 OUT
Transfer Type: Bulk
wMaxPacketSize: 0x0200 (512)
bInterval: 0x00
Endpoint Descriptor:
bEndpointAddress: 0x82 IN
Transfer Type: Bulk
wMaxPacketSize: 0x0200 (512)
bInterval: 0x00
编辑#3- 我用的是ServiWin 工具并发现USB存储设备服务已停止,我无法手动启动它。它显示错误消息:“错误 1058:无法启动该服务,因为该服务已被禁用或没有与其关联的启用设备。”
这是我的注册表设置:
编辑#4- 我用的是USB 遗忘工具可从 Windows 注册表中删除所有 USB 设备的痕迹。我想它可能有助于清除可能导致问题的任何损坏数据。
答案1
在我们的几台较旧的戴尔台式机上,我们遇到了同样的问题。我的解决方案是进入设备管理器并删除所有 USB 控制器和集线器。重新启动以允许 Windows 重新发现硬件并重新加载驱动程序。这个问题可能每年发生两次,每次都可以通过此过程解决。
答案2
查看(确保您可以看到隐藏文件和系统文件)并查看是否可以找到名为和的c:\windows\inf
两个文件。usbstor.inf
usbstor.pnf
如果丢失,您需要恢复/替换它们。
C:\Windows\System32\DriverStore\FileRepository
这些文件的副本可以在名为 的文件夹中找到usbstor.inf_xxxxxxxx
。如果存在多个这样的文件夹,请使用日期最晚的文件夹。
首先创建系统还原点,然后重新启动。如果上述方法不起作用并且问题发生的时间足够近,您可以将 Windows 回滚到 USB 端口正常工作的时间。
您还可以使用 regedit 验证该键是否
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\USBSTOR
有一个名为Start
其值为 3 的条目。
另请查看事件查看器中是否有任何有用的内容。
您也可以尝试最古老的补救措施:从设备管理器中卸载所有 USB 集线器,然后重新启动。
答案3
假设 BIOS 没有提供禁用 USB 的方法,并且您已检查以确保它们没有在 BIOS 中被禁用...
启动第三方操作系统(某种当前的 Linux LiveCD 应该可以)-- USB 端口是否工作正常?如果不工作,则表明您的笔记本电脑存在硬件问题,需要维修。
此外,BIOS 应该能够检测到,并且很可能会在启动顺序菜单中显示(可启动的)USB 驱动器。如果它们没有出现在那里,那么,这再次表明 USB 端口坏了——这是硬件问题——是时候送去维修了。
如果这些方法可以检测到 USB 驱动器,并且它们可以工作,那么您的 Windows 就乱了,最好/最简单的方法是备份它并尝试全新安装。
答案4
我刚刚遇到了类似的问题,我想就这个主题做些记录。
就我而言,Safenet USB 身份验证密钥重启后停止工作,进一步检查发现所有 USB 端口都已停止工作。devmgmt.msc
在PCI USB 主机控制器有警示标志,并且英特尔® USB 3.0 可扩展主机控制器也有警告标志。键盘、USB 驱动器等... 什么都不起作用。
什么没起作用
显然这与特定的 USB 设备驱动程序无关。我尝试卸载、重新安装、更新 USB 主机控制器驱动程序,并多次重新启动。出于绝望,我还更新了 EMI 驱动程序。但毫无效果。
有效的方法:
尝试理清事情,从检查已加载的驱动程序开始。
单击Driver Details
主机控制器Driver
选项卡上的按钮,将显示与当前驱动程序相关的所有驱动程序文件的列表。
从那里我注意到所有其他文件都已签名,只有一个条目,USBPcap.sys
不是签名的驱动程序。有人在开发服务器上安装了Wireshark USB嗅探驱动程序。在删除此驱动程序后appwiz.cpl
,快速重启解决了所有问题。
尚未解决的问题
我仍然不知道 Wireshark 的驱动程序是如何在所有这些卸载重新安装循环中幸存下来并像往常一样加载的。这些软件驱动程序在 中没有设备条目devmgmt.msc
,因此很容易忽略它们的存在。
如果在驱动程序更新等之后出现无法正常工作的故障USB Host Controller
,那么与我一样,人们应该先检查实际加载的驱动程序,而不是徒劳无功地去寻找答案。