我有一台 Corsair Flash Voyager GT,容量为 16 GB,大约 5 年前购买的。它在我的所有计算机上都运行良好,就像闪存驱动器通常那样。有一天我把它借给了我的朋友,当他把它还回来时,他告诉我他无法使用它。之后我也无法在我的任何 Windows 系统上使用它。
症状:
- 闪存驱动器上的 LED 不闪烁;
- 该设备不存在计算机管理/存储;
- 该设备显示在其他设备/未知设备和通用串行总线控制器/未知设备在设备管理器中;
- Windows 7 也无法找到并安装驱动程序未知设备。
但是,在我的上网本上,在 Ubuntu 10.04 下,闪存驱动器完全可以运行:我可以轻松地从中备份数据,格式化它(但是格式化无助于它在 Windows 上运行)。仅供参考,文件系统是 NTFS,重新格式化为 FAT,所以这几乎不是问题。
此外,我尝试将此闪存驱动器插入新安装的 Windows 7 x64 Ultimate。我读到这可能是驱动程序问题。不幸的是,这没有任何帮助。
这可能是什么原因造成的?鉴于该设备在 Ubuntu 中运行正常,我认为硬件本身没有损坏。有什么办法可以修复它吗?如果有,那么该怎么做?
答案1
我也遇到了同样的情况。尝试使用 gparted,然后擦除没有任何文件系统的闪存驱动器。然后我插入 Windows,它工作正常并提示格式化为 FAT32。我认为发生这种情况是因为我之前使用闪存驱动器启动 Linux 安装。
答案2
我的回答有点晚了,但我相信人们仍然会遇到这个问题,所以它可能会有用。
在我使用闪存驱动器进行实时 Linux 安装后,我多次遇到此问题。在我将其格式化回 FAT32(在 Linux 中)后,Windows 无法访问该驱动器,尽管他们检测到了它。此外,在 Windows 中无法格式化驱动器。另一方面,对于 Linux,一切都没有问题。
我的理解是,一些实时 Linux 安装程序会将闪存驱动器格式化为 iso9660 文件系统,而将驱动器重新格式化为 FAT32 并不能完全删除以前文件系统的轨迹。虽然 Linux 并不关心这些残留物,但 Windows 在检查插入的闪存驱动器时可能更严格,并且会拒绝访问它。
因此需要进行某种清理,以清除其他(iso9660)文件系统的剩余痕迹。
有一款出色且可靠的 Linux 实用程序名为韓國,即“创建启动驱动器的工具”。(对于 Ubuntu,有一个很好的帮助页面这里。)其中一项功能是擦除驱动器的第一个兆字节 (MiB)。此清理应有助于使 USB 闪存恢复正常。(但是之后必须重新格式化驱动器,并且数据会丢失。但如果驱动器在 Linux 下工作,则之前进行备份应该没有问题。)
使用韓國实用程序我成功将闪存驱动器恢复正常。
当然,你也可以不使用任何实用程序,只需从 Linux 命令行执行相同操作。擦除第一个 MiB 数据的一个简单方法是使用可怕的日命令(实际上这是 mkusb 所做的,但它的 UI 提供了警告和更好的错误保护)。以 root 身份运行:
# dd if=/dev/zero of=/dev/sdx bs=1k count=1024
在哪里陣容将被相应的驱动器替换。请注意,正确识别驱动器至关重要,否则您可能会无意中删除其他磁盘上的数据。
如果您现在将闪存驱动器重新格式化为 FAT32(在 Windows 或 Linux 中),它应该可以在两个系统中正常工作。
答案3
在我使用 San Cruze USB 为 Fedora 创建可启动光盘后,这种方法对我有用,但后来 Windows 无法检测到它。我在 Windows 10 笔记本电脑中以管理员身份在 DOS 模式下使用 Diskpart,闪存驱动器就没问题了。之前我尝试删除供应商密钥的注册表,但没有任何效果。没有尝试 mkusb。
在命令提示符下以管理员模式运行此命令:
<step1> : diskpart
<step 2>: list disk
- select disk X (x is the drive number assigned to your USB drive, in my case it was disk 1 for USB so I used select disk 1)
<step 3>: clean
<step 4>: create partition primary
<step 5>: active
<step 6>: Select partition 1
<step 7>: format fs=fat32
一切都完成了,Windows 可以像以前一样再次读取闪存驱动器。当然,我没有任何数据需要保留或恢复,所以从这个角度来说,我不用担心