如果该驱动器受到写保护,请先将该驱动器插入另一台计算机以找出问题的原因。
如果能够从另一台计算机写入驱动器,则可能遇到以下问题之一:
文件系统损坏。该驱动器可能有损坏的文件系统或其他问题(可能特定于特定的计算机或操作系统),可以使用CHKDSK
或类似的实用程序进行纠正。如果这样可以解决问题,则您的驱动器可能正在正常工作。在卸下驱动器之前或至少等到驱动器完成写入之前,正确弹出驱动器也很重要,因为在写入数据时卸下驱动器可能会导致低级数据损坏。
组策略设置不正确。如果您正在运行Windows,则系统的组策略可能不允许写入外部存储设备,包括USB闪存驱动器。注册表项HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\StorageDevicePolicies
应不存在或设置为0;否则,应为0。如果设置为1,Windows将不允许写入外部存储设备。
(仅限SD卡)卡插槽中的写保护开关损坏或被更改。SD卡上的机械锁定开关未连接至其电子设备:
主机有责任保护卡。卡的内部电路不知道写保护开关的位置。
这意味着卡本身以外的硬件和软件还负责检查卡的锁定状态。如果此机制未按设计方式工作,则SD卡即使在其他情况下仍可以正常工作,也似乎具有写保护功能。通常,这可以通过更换读卡器来解决,尽管错误的驱动程序或不正确的软件配置也会导致此问题。
如果驱动器是只读的,无论您将其插入哪台计算机,或者您尝试了上述步骤都无济于事,则说明该驱动器可能遇到了故障,通常无法从故障中删除写保护。闪存驱动器。当闪存驱动器控制器检测到底层NAND问题(例如,坏块过多)时,此行为是典型的。写保护旨在防止这种情况实际导致数据丢失,例如NAND变得完全不可读。例如,SanDisk客户支持说:
当闪存驱动器内部检测到潜在故障时,将发生写保护错误。驱动器将进入写保护模式,以防止数据丢失。没有解决此问题的方法。
请注意,根据驱动器的不同,实际上可能存在通过对闪存控制器进行重新编程来禁用(或更准确地说,重置)写保护的方法,例如通过使用此答案中 “潜在的特定于硬件的恢复” 下列出的技术。这样做不是一个好主意,因为写保护信号表明控制器已检测到问题。覆盖此错误并继续写入驱动器可能会导致数据丢失。
此行为的结果是驱动器上的所有数据仍然可以访问。由于驱动器发生故障,因此应尽快备份闪存驱动器的内容并更换驱动器。(如果驱动器包含敏感信息,请在处理之前确保对其进行物理销毁。)
从驱动器获取数据可能很棘手,因为驱动器进入只读模式时可能已经发生了一些数据损坏。这通常表现为文件系统发生低级损坏,导致文件系统显示为RAW或操作系统提示格式化驱动器。从这种损坏中恢复可能会很复杂,因为无法直接修复文件系统-毕竟,驱动器处于写保护状态。
通过使用数据恢复实用程序(例如开源TestDisk),您可能能够从以这种方式损坏的驱动器中检索数据。您还可以获取容量相等或更大的驱动器,并使用GNU ddrescue将故障驱动器的内容逐个扇区复制到新驱动器上,然后进行后续操作CHKDSK
以修复文件系统错误。如果这些失败,并且数据特别有价值,则可以将驱动器发送到专用的数据恢复服务。但是,这些服务由于其高度专业化的性质而往往非常昂贵,因此很少值得这样做。