windows 7 - Why did my flash drive become "read only" and (how) can I fix it?

28
2014-04
  • Bob

    I have a brand new flash drive (one week old) that has become marked as read only, by Windows, Kubuntu and a bootable partitioner. Why did this happen? Is it fixable? If it is, how can I fix this?


    The problem

    Firstly, this drive is new. It's certainly not been used enough to die from normal wear and tear, though I would not discount defective components.

    The drive itself has somehow become locked in a read only state. Windows' Disk management:

    Screenshot of Disk Management

    Diskpart:

    Generic Flash Disk USB Device
    Disk ID: 33FA33FA
    Type   : USB
    Status : Online
    Path   : 0
    Target : 0
    LUN ID : 0
    Location Path : UNAVAILABLE
    Current Read-only State : Yes
    Read-only  : No
    Boot Disk  : No
    Pagefile Disk  : No
    Hibernation File Disk  : No
    Crashdump Disk  : No
    Clustered Disk  : No
    

    What really confuses me is Current Read-only State : Yes and Read-only : No.

    Attempted solutions

    So far, I've tried:

    • Formatting it in Windows (in Disk management, the format options are greyed out when right clicking).

    • DiskPart Clean (CLEAN - Clear the configuration information, or all information, off the disk.):

      DISKPART> clean
      
      DiskPart has encountered an error: The media is write protected.
      See the System Event Log for more information.
      

      There was nothing in the event log.

    • Windows command line format

      >format G:
      Insert new disk for drive G:
      and press ENTER when ready...
      The type of the file system is FAT32.
      Verifying 7740M
      Cannot format.  This volume is write protected.
      
    • Windows chkdsk: see below for details

    • Kubuntu fsck (through VirtualBox USB passthrough): see below for details

    • Acronis True Image to format, to convert to GPT, to destroy and rebuild MBR, basically anything: failed (could not write to MBR)

    Details (and a nice story)

    Background

    This was a brand new, generic, 8GB flash drive I wanted to create a multiboot flash drive with. It came formatted as FAT32, though oddly a little larger than most 8 GIGAbyte flash drives I've come across. Approximately 127MB was listed as "used" by Windows. I never discovered why. The end usable space was about what I normally expect from a 8GB drive (approx 7.4 GIBIbytes).

    I had thrown quite a few Linux distros on, along with a copy of Hiren's. They would all boot perfectly. They were put on with YUMI.

    When I tried to put the Knoppix DVD on, YUMI added an odd video option to its boot comman which caused Knoppix to boot with a black screen on X. ttys 1 through 6 still worked as text only interfaces.

    A few days later, I took some time to take that odd video option off, making the boot command match the one that comes with Knoppix. On the attempt to boot, Knoppix reported some form of LZMA corruption.

    Leading up to the current issue

    I was thinking the Knoppix files may have been corrupted somehow, so I tried reloading it. The drive was nearly full (45MB free), so I deleted a generic ISO that also was not booting. That went fine. I then went through YUMI to 'uninstall' Knoppix, i.e. delete files and remove from the menus. The files went first, then the menus were cleared successfully. However, the free space was stuck at about 700MB, same as it was before removing Knoppix. In the old Knoppix folder, there was a 0 byte file named KNOPPIX that could not be deleted.

    I tried reinserting the drive to delete this file - without safely removing, if that made a difference (hey, first time for everything). Running the standard Windows chkdsk scan without /r or /f reported errors found. Running with /r just got it stuck.

    I decided to give fsck a shot, so I loaded up my Kubuntu VM and attached the drive to it with VirtualBox's USB 2.0 passthrough. I umounted it (/dev/sda1) and ran a fsck. There are differences between boot sector and its backup. I chose No action. It told me FATs differ and asked me to select either the first or second FAT. Whichever I selected, I got a notice of Free cluster summary wrong. If I chose Correct, it gave a list of incorrect file names. To try to fix something, at least, I ran it with the -p option. Halfway through fixing the files, the VM froze - I ended its process about ten minutes later.

    Cause?

    My next attempt was to use YUMI, again, to rebuild the whole drive. I used YUMI's built in reformat (to FAT32) option and installed a Kubuntu ISO (700MB). The format was successful, however, the extract and copy of Kubuntu (which YUMI uses a 7zip binary for) froze at about 60% done. After waiting for about fifteen minutes (longer than the 3.5GB Knoppix ISO took last time), I pulled the drive out. The drive at this point was already formatted, SYSLINUX already installed, just waiting on the unpacking of an ISO and the modifying of the boot menus.

    Plugging it back in, it came up as normal - however, any write action would fail. Disk management reported it as read only. On reconnect, it would come up as normal but a write operation would cause it to go read only again. After a few attempts, it started coming up as read only on insertion.

    Attempts to fix

    This is when I ran through the attempts listed above, to try and reformat it in case of a faulty format. However the inability to do so even on a bootable disk indicated something more serious is wrong. chkdsk now reports nothing is wrong, and fsck still reports MBR inconsistencies, but now always chooses first FAT automatically after telling me FATs differ. It still does the same Free cluster summary wrong afterwards. I cannot run with -p anymore because it is now marked as read only. It also managed to corrupt my VM's disk somehow on the first attempt (yes, I'm sure I chose sda, which is mapped to a 7.4GB drive - I triple checked). Thank god for snapshots?


    I'm just about out of ideas. To my inexperienced mind it looks like something in the drive's firmware set it to read only "permanently" somehow - is there any way to reset this? I don't particularly care about keeping data, considering I've reformatted it twice.

    Also, fixes that keep me in Windows are better; it reduces the risk of me accidentally nuking my main hard drive.


    Update 1:

    I pulled apart the drive out of curiosity.

    Photo of circuit board

    As you can see, there are no obvious write protect switches. There is an IC on the other side, ALCOR branded labelled AU6989HL, if that matters. If there appears to be no way to fix this, I'll probably pull out the (glued down) card and put it in a card reader to check if it's the card or the controller that died.


    Update 2:

    I've pulled the card off, Windows detects the drive as a card reader now. The contacts on the card don't appear to be used, and there are several rows of holes on the card itself. Putting it into the card reader only detects about 30MB total, RAW. It's probably either the original drive incorrectly reporting the card as faulty (as if a real SD card's write protect was switched on) or a bad contact somewhere.

    If nothing else, I have a spare 8GB Micro SD card now... as soon as I figure out how to format it as 8GB. Which does not seem to be possible (Windows, Partedmagic, dd, DBAN... nope, still 30MB). Ah well.


    Update 3

    I had a few more of these. The second one failed similarly (read only) today. Out of the remaining, two were detected as empty card readers/unformatted drives, depending on shaking (faulty contact?). One was detected as 1/3 full, and had an odd volume name.

    H2testw results (on the last fully working one I have!):

    Warning: Only 7762 of 7812 MByte tested.
    The media is likely to be defective.
    7.5 GByte OK (15896472 sectors)
    52 KByte DATA LOST (104 sectors)
    Details:0 KByte overwritten (0 sectors)
    0 KByte slightly changed (< 8 bit/sector, 0 sectors)
    52 KByte corrupted (104 sectors)
    0 KByte aliased memory (0 sectors)
    First error at offset: 0x0000000186003000
    Expected: 0x0000000186003000
    Found: 0x00200800c40c3061
    H2testw version 1.3
    Writing speed: 3.95 MByte/s
    Reading speed: 14.0 MByte/s
    H2testw v1.4
    

    While this is a little worrying, evidently the drives actually do have near-8GB capacity, as verified by a tool often successfully used to detect fake flash drives. The use of a Micro SD card rather than a marked flash memory module makes it near impossible to reflash the drive, since Alcor's drive flashing tools expect the memory model as a parameter. I think I'll just throw the whole lot out.

  • Answers
  • JoshP

    You can try to use a tool from the chip manufacturer Alcor. You can find it via Google, the name is "AlcorMP_5T2F_6T2F_2011-11-10.02".

    There, you first open LoadDriver.exe and enter your VID and PID (you can find out these values by using ChipGenius, or using Linux and typing "lsusb -v") and click install. For my stick the values were 058F, 6387.

    Then you run AlcorMP.exe where your device should be listed. A click on the button left of it, and then Start does a low level format and bad block scan on your stick.

  • Phil Hannent

    Personally I imagine there is a faulty contact with the card and its dud. Immediately back everything up.

    I would use linux's dd utility to reset the device. The read only status is probably in the boot sector of the device and fsck and chkdsk are filesystem level checks so wouldn't do much.

    Boot into you ubuntu ISO and try:

    dd if=/dev/zero of=/dev/sda bs=1M
    

    Replace /dev/sda with the device corresponding to your USB drive

    /dev/sda1 is the partition where as /dev/sda is the whole drive. You'll need to make sure the partition is unmounted to achieve that. If you cannot dd the drive due to it being read only I would put it down to a hardware fault, which you might see in the dmesg out.

  • slhck

    RMPrepUSB has a quick drive capacity test that is intended to test for 'fake' USB flash drives and tests their capacity.

    This is much quicker than running H2TESTW (but not as thorough). If it passes the RMPrepUSB test then you can always run H2TESTW afterwards – if it fails the RMPrepUSB Quick Drive test then it won't pass H2TESTW and H2TESTW would take ages to test it anyway.

  • Excellll

    Read-only can happen when drive returns invalid data to commands such as SCSI MODE SENSE. Could be caused by corrupted firmware or flash. There's really no fix.

  • Manikandan A R

    You can fix this problem. Type "regedit" in cmd prompt

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies] "WriteProtect" Change value = 0 then save and restart the system and check it...

  • slm

    I had the same problem and then I found this program.

    WBFS Manager Link: http://wbfsmanager.codeplex.com

    This program will format a USB flash to work on the Wii. Download to your PC, install, run, select your flash drive that you are having problems with.

    Then format it under this program, exit WBFS Manager, Start, and run Computer Management. Then select Disk Management from the left side of the screen, click on your flash drive and format under windows and the flash drive is working again.

  • Raystafarian

    Try these steps to change it -

    1. First you insert pen drive on the port of your computer:
    2. Go to disk management.
    3. Where you see disk 1 removable disk.
    4. Right click on this disk and make a drive for windows.
    5. You can then format it .It easily formats.

    now you use this pen drive normally.


  • Related Question

    usb - Why can't I delete all partitions on a flash drive in Windows 7?
  • irrational John

    Recently I purchased an ADATA C802 8GB flash drive. Since the drive was new I decided to run some of the HD Tune Pro (v4.50) performance tests on it, mostly just for the heck of it.

    To avoid accidentally destroying data HD Tune refuses to write to a drive unless there are no partitions on the drive. If you do attempt to write to a drive with partitions, it posts the message "Writing is disabled. To enable writing please remove all partitions."

    As you would expect, the ADATA came formatted with a single primary FAT32 partition in the Master Boot Record. But a number of unexpected things happened when I attempted to delete that partition.

    1. The first thing I tried was to use the Windows 7 (64-bit) Disk Management tool (diskmgmt.msc) to delete the partition. It would not let me. The context menu choice to delete that volume was not available.

    2. Next I opened up a command prompt window with Admin authority and ran diskpart. Diskpart deleted the volume for me. However, when I attempted to run an HD Tune write test on the drive I still got the "Writing is disabled" message. Huh???

    3. So I fired up a utility I happen to own which allows viewing drives at the sector level and verified that the partition table in the Master Boot Record was empty. No partitions. Yet HD Tune still thought there were partitions on the drive?

    So why was I still getting the "Writing is disabled" message from HD Tune Pro? And why wouldn't the Windows 7 Disk Management tool let me change the partitions on this drive.

    After doing the above, I plugged the ADATA into my MacBook. I was then able to format it as either a GPT or MBR partitioned drive with no problems. I am not looking for suggestions on how to format this drive. I can do that.

    What I do not understand and was hoping I might get insight into is why this drive behaves so strangely under Windows 7? And BTW, what's up with HD Tune Pro?

    BTW, if I plug the drive I formatted on my MacBook back into my Windows 7 64-bit system I still run into road blocks with the Disk Management tool. For example, I cannot delete all the GPT partitions on the ADATA so I can convert it into an MBR drive. I followed Microsoft's instructions, the instructions just do not work with this ADATA flash drive.

    Anyone know what's up with this? It makes no sense to me. Has something changed in Windows 7 (Vista)??


  • Related Answers
  • Community

    There's no need to install any third-party programs, Windows already includes everything you need. Just open up command prompt and enter the following commands in sequence:

    DISKPART
    LIST DISK
    

    Select the disk that you want to correct. Example: I want to remove all partitions on Disk 1:

    SELECT DISK 1
    RECOVER
    

    If the RECOVER command doesn't work, try CLEAN.

    Disk 1 will be recovered as one complete disk.

    FORMAT <option>
    

    Where <options> represent what formatting method you'd prefer. Alternatively, use QUICK.

  • Tom Wijsman

    Try the software MiniTool Partition Wizard.

    I've used it before to create and delete partitions on flash media. It may work for you, and it's free.

    MiniTool Partition Wizard Home Edition is a free partition manager software designed by MiniTool Solution Ltd. Our partition manager supports 32/64 bit Windows Operating System including Windows XP, Vista and Windows 7. Home users can perform complicated partition operations by using this powerful yet free partition manager to manage their hard disk. MiniTool Partition Wizard Home Edition is designated for home user only.

    • Support Windows 2000/XP/Vista/windows 7 (32 bit & 64 bit) operating system.
    • Support RAID.
    • Extend system partition to maximize computer performance.
    • Manage the hard disk for substantial performance increase.
    • Create, Delete and Format partitions with simple steps.
    • Disk Copy to protect or transfer data.
    • Support disk and partition size larger than 2 TB.
    • Convert partition format from FAT to NTFS.
    • Partition Copy: Copy the entire content of one hard disk to another.
    • Copy Disk Wizard: Copy the entire hard disk to another without having to reinstall Windows.
    • Disk Map - Visually demonstrate your disk/partition configuration; preview the changes before applying.
    • Hide/unhide partition, set active partition, etc. - Change partition properties easily.
    • Explore FAT/NTFS partition.
    • Set partition as primary.
    • Set partition as logical.
    • Rebuild MBR.
    • Disk Surface Test.
    • Partition Surface Test.
    • Change Partition Serial Number.
    • Change Partition Type ID.
    • Hot Extend Partition without reboot. NEW!

    enter image description here

  • slhck

    I found a simple solution because I had the same problem with HDD Tune Pro.

    Just format the card or USB flash drive to NTFS, and then you can delete that NTFS partition using EASEUS Partition Manager without restarting, and voilà, I was able to test write speed with HDD Tune Pro.

  • Tom Wijsman

    If you can't find anyone who knows how to fix this problem on Super User, it would be worth contacting A-Data themselves at their Support Center.