如果USB闪存驱动器是写保护的或只读的,该怎么办?


40

当我插入USB闪存驱动器时,它在计算机上显示为写保护或只读。我无法向其传输数据,也无法修改或删除已经存储在其上的任何文件。我也无法使用Windows磁盘管理,DiskPart,GParted或其他工具对驱动器进行重新分区或重新格式化。该驱动器没有写保护开关。

为什么会发生这种情况,我该怎么办?有没有办法删除写保护?

(请注意,某些存储卡也可能发生这种情况,因为它们经常使用类似于闪存驱动器中使用的控制器。在某些情况下,系统可能会报告该驱动器或存储卡已成功格式化,即使实际上从未进行过格式化;重新插入设备后,原始数据会重新出现。)

这个问题经常出现,答案通常是相同的。这篇文章旨在为这个问题提供一个确定的,规范的答案。随时编辑答案以添加其他详细信息。


3
相关的元问题:meta.superuser.com/questions/11820/…由于这是规范性的问题,请不要投票关闭该问题,以作为其他问题的重复。相反,其他问题应作为该问题的重复内容予以关闭(一旦可能)。
— bwDraco


2
@bgmCoder:最新的问题并不总是重复的;请参阅superuser.com/questions/1061528/…。有关规范问题的更多信息:meta.superuser.com/questions/778/…–
— bwDraco

4
@bgmCoder:确实,存在此问题的根本原因是“我的闪存驱动器受到写保护!” 的绝对数量!本网站上的问题。这个想法是将它们合并为一个规范问题。
— bwDraco

3
@bgmCoder如果您的问题被骗了,您将不会失去想象中的分数。
— DavidPostill

Answers:


34

如果该驱动器受到写保护,请先将该驱动器插入另一台计算机以找出问题的原因。

如果能够从另一台计算机写入驱动器,则可能遇到以下问题之一:

  1. 文件系统损坏。该驱动器可能有损坏的文件系统或其他问题(可能特定于特定的计算机或操作系统),可以使用CHKDSK或类似的实用程序进行纠正。如果这样可以解决问题,则您的驱动器可能正在正常工作。在卸下驱动器之前或至少等到驱动器完成写入之前,正确弹出驱动器也很重要,因为在写入数据时卸下驱动器可能会导致低级数据损坏。

  2. 组策略设置不正确。如果您正在运行Windows,则系统的组策略可能不允许写入外部存储设备,包括USB闪存驱动器。注册表项HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\StorageDevicePolicies应不存在或设置为0;否则,应为0。如果设置为1,Windows将不允许写入外部存储设备。

  3. (仅限SD卡)卡插槽中的写保护开关损坏或被更改。SD卡上的机械锁定开关未连接至其电子设备:

    主机有责任保护卡。卡的内部电路不知道写保护开关的位置。

    这意味着卡本身以外的硬件和软件还负责检查卡的锁定状态。如果此机制未按设计方式工作,则SD卡即使在其他情况下仍可以正常工作,也似乎具有写保护功能。通常,这可以通过更换读卡器来解决,尽管错误的驱动程序或不正确的软件配置也会导致此问题。


如果驱动器是只读的,无论您将其插入哪台计算机,或者您尝试了上述步骤都无济于事,则说明该驱动器可能遇到了故障,通常无法从故障中删除写保护。闪存驱动器。当闪存驱动器控制器检测到底层NAND问题(例如,坏块过多)时,此行为是典型的。写保护旨在防止这种情况实际导致数据丢失,例如NAND变得完全不可读。例如,SanDisk客户支持说:

当闪存驱动器内部检测到潜在故障时,将发生写保护错误。驱动器将进入写保护模式,以防止数据丢失。没有解决此问题的方法。

请注意,根据驱动器的不同,实际上可能存在通过对闪存控制器进行重新编程来禁用(或更准确地说,重置)写保护的方法,例如通过使用此答案中 “潜在的特定于硬件的恢复” 下列出的技术。这样做不是一个好主意,因为写保护信号表明控制器已检测到问题。覆盖此错误并继续写入驱动器可能会导致数据丢失。


此行为的结果是驱动器上的所有数据仍然可以访问。由于驱动器发生故障,因此应尽快备份闪存驱动器的内容并更换驱动器。(如果驱动器包含敏感信息,请在处理之前确保对其进行物理销毁。)

从驱动器获取数据可能很棘手,因为驱动器进入只读模式时可能已经发生了一些数据损坏。这通常表现为文件系统发生低级损坏,导致文件系统显示为RAW或操作系统提示格式化驱动器。从这种损坏中恢复可能会很复杂,因为无法直接修复文件系统-毕竟,驱动器处于写保护状态。

通过使用数据恢复实用程序(例如开源TestDisk),您可能能够从以这种方式损坏的驱动器中检索数据。您还可以获取容量相等或更大的驱动器,并使用GNU ddrescue将故障驱动器的内容逐个扇区复制到新驱动器上,然后进行后续操作CHKDSK以修复文件系统错误。如果这些失败,并且数据特别有价值,则可以将驱动器发送到专用的数据恢复服务。但是,这些服务由于其高度专业化的性质而往往非常昂贵,因此很少值得这样做。


wbDraco整理的细节令人印象深刻,但是还没有结论,恕我直言。得出的结论似乎是这是制造商的故障,因此必须免费更换有故障的设备。期。是否有任何统计数据表明特定的桥接IC(或IC步进)容易出现此问题?
— Ale..chenski

1
那不是胡说八道。我没有提及驱动器的制造商,大多数人都不关心驱动器控制器或USB桥接器(除非驱动器是“ SSD-on-a-stick”或类似的高级设备)。结论很简单,即需要备份驱动器的内容并更换驱动器。
— bwDraco

也许这是您(和其他人)未能与闪存中的任何特定控制器芯片建立任何关联的问题?我亲自管理了数百个笔式驱动器(用于互操作性和性能练习),并且大量滥用了它们,而我从未有过这种突然写保护的经验。我仍然有大约40种各种类型的笔式驱动器,仍然没有看到这样的问题。因此,必须有一些特定的IC,不幸的人应该为此报销。
— Ale..chenski

8

我发现我的Transcend StorageJet也被设置为只读。可以在其他计算机上写,但不能在我的笔记本电脑上写。(两个系统都是Win7)

我没有发现任何奇怪的代码,例如WriteProtect,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control我的注册表。

终于我找到了这个解决方案,它现在可以工作了!(我修改了一些错误,并从参考文章中添加了自己的表达式。)

要解决此问题,必须使用diskpart:

  1. 使用管理特权打开命令提示符(右键单击>以管理员身份运行)。

  2. 键入DISKPART,然后按Enter。您可以看到命令提示符已更改为 DISKPART>

  3. 通过键入以下内容列出磁盘:

列出磁盘

  1. 通过键入选择外部USB磁盘(在我的示例中,外部磁盘为磁盘2):

选择磁盘2

  1. 通过键入以下内容列出卷:

清单数量

  1. 通过键入选择卷(在我的示例中,外部磁盘正在使用卷4):

选择卷4

  1. 显示音量详细信息:

细节盘

  1. 显示音量详细信息:

细节量

(您可能会发现所选磁盘和卷的只读属性设置为“是”)

  1. 将磁盘和卷的只读属性设置为关闭:

属性磁盘清除只读

属性卷清除只读

  1. 再次执行详细信息磁盘和详细信息磁盘以检查只读属性。将一些内容写入外部USB HD。

也可以看看

外置硬盘只读问题和解决方案

DiskPart命令行选项


我以为我有一个类似的只读问题。原来该磁盘是FAT32格式的,我尝试复制10GB文件。被Windows 10报告“复制失败。请删除写保护”感到困惑。
— Axel Bregnsbo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.