USB 闪存驱动器无法识别并导致奇怪的行为

USB 闪存驱动器无法识别并导致奇怪的行为

我有一个 USB 闪存盘(16GB Kingston DataTraveller 100 G3),几个月前它就坏了。我记得,我当时只是把它从 USB 端口拔出来,而没有“安全移除”它。从那时起,Windows 7 就拒绝识别它了——它在资源管理器、磁盘管理或 中都看不到diskpart

几分钟前,它被识别出来,托盘中弹出“设备出现故障”,之后它在设备管理器中显示为未知设备。右键单击并卸载该设备似乎已经修复了错误消息,它目前在设备管理器中显示为“USB 大容量存储设备”,尽管在 Explorer 中仍然不可见。

然而,真正奇怪的是,每当将此闪存驱动器插入内部 USB 集线器时,在其之后插入集线器的任何其他 USB 设备也会变得无法识别。我用另一个闪存驱动器和 iPhone 充电器测试了这一点。拔下 100 G3 后,diskpart突然看到另一个 USB 驱动器连接到集线器。

我考虑过病毒或其他形式的恶意软件,但我无法在系统无法看到的设备上运行扫描,据我所知,即使运行完整的系统扫描也无法解决这个问题。

我的 USB 驱动器怎么了?我怎样才能使它恢复正常?

答案1

当磁盘被识别时,最好快速尝试复制磁盘。有时当您关闭并重新启动计算机时,它会识别它,尝试使用可以创建原始数据双胞胎的免费程序制作磁盘的完整副本,以防它变得更加损坏,您可能能够从磁盘驱动器的副本中恢复文件。

答案2

就在我准备扔掉这个我认为已经坏掉的闪存驱动器时,我终于设法解决了这个问题。在另外两台 Windows 机器上测试了该驱动器,发现它显示正常后,我意识到问题出在我的机器本身,而不是闪存驱动器。这让我开始关注注册表,这是我所知道的 Windows 操作系统上唯一记录和存储插入系统的所有 USB 设备信息的地方。

一些进一步的研究提出了几个特定的​​注册表项用于此目的,这些注册表项通常用于取证目的。这些注册表项的完整列表可以看到这里

我没有手动查找并删除这些注册表项,而是下载了USB 遗忘,一款便携式实用程序,可删除与 USB 设备相关的所有注册表项。虽然这种方法对于解决这一特定问题来说有些过度,但我找不到其他程序可以删除特定 USB 设备的注册表项 - 无论如何,我可以相信,一旦重新插入,所有其他 USB 设备的驱动程序都可以顺利安装。

我先在模拟模式下运行了 USB Oblivion,然后正常运行,然后重新插入闪存驱动器,发现它立即被识别。在闪存驱动器停止工作之前或之后的任何时候,我都没有迹象表明驱动程序可能是导致该问题的原因,尤其是在多次尝试重新安装驱动程序均无果之后。

我仍然无法解释为什么闪存驱动器插入后会阻止计算机启动,但我认为可以肯定地说,系统的设备特定注册表项强制设备使用已损坏的驱动程序,而清理这些注册表项允许重新安装新版本的驱动程序并将其与驱动器关联

答案3

我拥有丰富的处理 Linux 下损坏的 USB 闪存设备的经验。

我的驱动器会阻止我的系统关机,除非我移除它们。它们还会阻止我的系统通过 BIOS POST 屏幕。除非我移除故障驱动器,否则它们可能会一直存在。

我的驱动器也阻止了其他驱动器的工作。例如:我连接了 3 个 10 端口集线器,其中有 30 个驱动器,在我进行自动测试时,所有驱动器的 LED 都在闪烁。过了一会儿,我走进那个工作站,发现什么都没工作。所有驱动器都停止闪烁,我的软件没有显示任何活动 - 除了一个驱动器的 LED 闪烁。一旦我拔下那个驱动器 - 一切都恢复正常。

这类现象在中国廉价、低质量的闪存模块中很常见。

我猜有些驱动器损坏了,以至于它们会拖慢整个 USB 控制器,使所有其他驱动器永远等待。我猜这也会导致 BIOS POST 测试永远挂起。

我不知道 Registry Cleanup 是如何帮你解决这个问题的 - 也许这是一个完全不同的问题。我肯定不会指望真正的金士顿内存能做到这一点。如果你手上有一块无名内存 - 要小心(也不要指望它保留任何重要数据 - 最好在使用它之前用 F3 或 H2testw 测试一下)。

相关内容