I have a USB which is write protected:

dmesg | tail

[10098.126089] sd 7:0:0:0: [sdb] Write Protect is on
[10098.126098] sd 7:0:0:0: [sdb] Mode Sense: 23 00 80 00
[10098.126779] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.126788] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.131418] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.131425] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.133335]  sdb: sdb1
[10098.135509] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.135515] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.135521] sd 7:0:0:0: [sdb] Attached SCSI removable disk

How can I turn the write protection off?

What I've tried

  1. Checked if it has a hardware switch - no
  2. Tried to format it on windows and on Linux (via terminal too)
  3. Tried fdisk | chmod
  4. Tried to fix this with several tools from Ubuntu software center
  5. Used Google and have seen about 10,000 discussions about this problem but they were never solved

Additional information

fsck -n /dev/sdb1

fsck from util-linux 2.19.1
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
  Not automatically fixing this.
Free cluster summary wrong (968250 vs. really 911911)
  Auto-correcting.
Leaving file system unchanged.
/dev/sdb1: 50 files, 93653/1005564 clusters

fdisk -l

   Device  boot.   Start        End      Blocks   Id  System
/dev/sdb1            32     8060927     4030448    b  W95 FAT32

umount /dev/sdb1

mkfs -t vfat /dev/sdb1

mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat: unable to open /dev/sdb1
  • 6
    I can't format it because of write protection. – noob Feb 17 '12 at 17:21
  • 2
    @micha - what kind of USB device is it - obviously you've checked if it has a hardware switch? any errors if you attempt to mount it? sudo mount /dev/sdb1 -v ? – fossfreedom Feb 17 '12 at 18:00
  • 1
    micha, fair enough. Have you tried running efsck or used Ubuntu's Disk Utility to check the health status of the flash disk? If it was working fine & then stopped working all of a sudden there could be a hardware malfunction. – kingmilo Feb 18 '12 at 8:53
  • 1
    @kingmilo e2fsck : Bad magic number in super-block while trying to open /dev/sdb1 SuperBlock is not readable. – noob Feb 18 '12 at 16:42
  • 1
    @micha - very well, still doesn't mean it's not faulty though unfortunately. It's common for storage devices to appear to work normally when in fact they are faulty, just at a different stage of faulty. I think with all the activity on this question you should ask for small donations to replace the drive, it would be easier 😜 – kingmilo Feb 18 '12 at 17:34
up vote 70 down vote accepted

To turn off disk device`s write protect, we use the low level system utility hdparm like this:

sudo hdparm -r0 /dev/sdb

where we asume that /dev/sdb is the Physical disk device we're working on. If the device has partitions that are mounted as read-only, you should re-mount 'em as read-write in order to write data to them.

Hope that helps.

  • You are my hero. Where can I learn what happened after this magic magic magic command? – Marcos Modenesi Jul 1 '15 at 23:55
  • 2
    You can find the explanation by typing that command here > explainshell.com – bagustris Jul 19 '15 at 5:31
  • 54
    it shows readonly = 0 (off) but still i'm not able to write or format. – shyammakwana.me Apr 11 '16 at 6:26
  • 1
    @OP I had the same as you, which is: sdxc card mounted read-only whatever the computer; hdparm -r shows "1 - on" then after unlocking with r0: "0 - off" but mount read-only anyway. But mounting my SanDisk sd card in another adapter and I couuld mount it rw. It turns out two of my microSD-to-SD adapters have a broken pin between two connectors. And these two will mount read-only whatever I do. Kuddos to @Angel_Genchev he answer has the most command in it. – tuk0z Aug 25 '16 at 16:02
  • 2
    @lliseil It's more than likely the reader's write protect switch is being pressed upon by the card inserted into it, normally by the tab on the card but the switch (not the tab) can become bent and stuck on. you can fix the sdcard reader by cutting off the write-protect switch pins, the ones that make physical contact with the lock tab on the card. When the switch in the reader is open, write-protect is off, when it is closed (by being pressed upon the the tab on the card) write protect is on. Removing one or both of the switches metal arms will permanently disable write-protect on the reader. – Hydranix Dec 6 '16 at 0:49

After researching your question it appears that this is a not-too-uncommon problem with certain brands of USB flash drives (some older Samsung, a Kingston model) that would essentially just "crap out" for no known reason. People had tried opening them and jumping two leads (maybe from a flaky switch?) to no avail. If you still have this drive and it's still in warranty I'd return it and get a replacement.

I hate to break the bad news to you =\ but it appears you're out of luck in this situation as everything I've read points to hardware failure.

Edit 05/27/2016: I experienced an issue personally with a flash drive flaking out on me recently. In my case, this was a Corsair Flash Voyager 128GB that started slowing down pretty drastically on me. While it didn't show the symptoms noted here, it occasionally would not mount and showed up as a "Silicon Power" device. This was a result of the drive having accrued a large amount of bad sectors and dropping into diagnostic/programming mode. Since this is one of my more popular answers and this also falls into the category of "failing flash drives," I figured I'd include it here for reference.

  • 5
    @admins:i wanna know whether this type of answers are allowed or not :) – Tachyons Feb 18 '12 at 15:57
  • 6
    @AboobackerMk If it is the answer, then it is the answer. :) – jrg Feb 18 '12 at 15:59
  • 1
    @Tachyons "whether this type of answers are allowed or not?" what is with people on stackexchange consistently trying to discredit other people's questions or answers? This answer is obviously a valid answer; for the reason jrg said. – GoProCameraByGoPro Apr 16 '15 at 3:05
  • @GoProCameraByGoPro that is 3 year old comment , my concern was not about quality of the answer . and jrg already replied to my question :-) – Tachyons Apr 16 '15 at 9:26
  • @Tachyons I'm doing my part to call the pretension here on stackexchange into question. If I had the data I would look at the trend of the demographic of people who do that and I could probably just ignore it, but for now I'll have to ask them questions as I see them. – GoProCameraByGoPro Apr 16 '15 at 17:26

using fdisk -l locate the drive, ie: /dev/sdc1

now

umount /dev/sdc1

Finally, reformat the flash-drive

sudo mkfs -t vfat /dev/sdc1

I found this quick and easy. Be sure to UNMOUNT the drive before trying to format.

  • 2
    sudo mkfs -t vfat /dev/sdc1 > most blog say this , but people say its not working , let see if it works . – One Zero Feb 18 '12 at 11:38
  • 8
    unmounted... but mkfs.vfat 3.0.9 (31 Jan 2010) mkfs.vfat: unable to open /dev/sdb1 – noob Feb 18 '12 at 16:20
  • it worked for me, just had to use -I to make it one big partition and instead of /dev/sdc1, /dev/sdc instead. – mchid Feb 3 '15 at 14:21
  • I tried all other ways (hdparm -r0, blockdev --setrw, remount,rw) but nothing solved my problem except this! – Iman Mirzadeh Oct 15 '16 at 0:44
  • 1
    It says mkfs.vfat: unable to open /dev/sdc: Read-only file system – Shayan Jul 28 '17 at 4:48

Angel's answer is good, but the actual commands weren't so easy for me. This is what worked : Plug in the card (mine is an SD card with a manual write-protect switch on it, but the switch is off and it is writable on a Windows machine). Ubuntu mounted it automatically on /media/andrew/6AB0-1FD91, and dmesg showed the partition to be /dev/sdb1.

Unmount it, and make it writeable

sudo umount /dev/sdb1
sudo hdparm -r0 /dev/sdb

Create a new mount point and mount it there (my userID from /etc/passwd is 1000)

sudo mkdir /media/andrew/temp
sudo mount -o uid=1000 /dev/sdb1 /media/andrew/temp

it'll still complain that it's read-only. I don't know why I had to change this flag before AND after mounting, but that's the only way it worked for me. Set it to writeable again, and remount it at the same place

sudo hdparm -r0 /dev/sdb1
sudo mount -o remount,rw /dev/sdb1

Now I can write to the disk as my normal user. I'm being very careful with it in case it is actually failing, but those commands allowed me to finish what I was doing.

  • NOTE : my card was actually failing (Ubuntu mounts it read-only, but my camera happily writes to it). A couple of months later, it's corrupting files - so while this will work, be careful! – andrew lorien Jan 18 '17 at 6:21
  • I tried your stpes getting .... # sudo mount -o uid=1000 /dev/sdc1 /mnt/ Can only open '/dev/sdc1' as read-only The disk contains an unclean file system (0, 0). The file system wasn't safely closed on Windows. Fixing. – Ashish Karpe Jan 22 at 6:57
  • that worked for me, and none of the other above... – Pierre Mar 12 at 15:46

Well, this is a bit of a bummer.

I tried everything here & elsewhere & nothing worked.

Formatted it on a friend's Windows laptop-- works fine now. FFS!

Sigh....(wondering now if I might've been able to fix it in my Win 7 VM on my Mint desktop instead?).

Insert memory stick and start gparted. Select it via the button at top right. It should be obvious if you are inspecting your memory stick (Size is a good clue). Select Partition--> unmount.

Select 'Device' at top, then 'Create Partition Table' and take the default, which is msdos.

Now you should be able to create a new partition and format it f32. If you can't, it's probably bust.

HTH

  • 5
    Partitions are not editable because of write protection. – noob Feb 20 '12 at 13:50

protected by Community Dec 8 '12 at 8:00

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.