如果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.