While copying some large file I mistakenly taken out USB pen drive before the copy get completed. Later I again attached the USB pen drive in Ubuntu system but found that the USB pen drive showing read only filesystem message. I was not able to copy, create and delete any file. To solve this issue I followed some steps which I am sharing in this article.
Method Of Fixing Read Only USB Pen Drive In Ubuntu
In this section, we will follow the steps to fix the read only USB Pen Drive.
Disclaimer
- Some of you might be carrying the important data in USB / Pen Drive. In this method, we will format the USB drive. So due to this , the data will be erased and non recoverable.
- This solution works most of the time but in case there is Hardware issue in your USB/Pen drive then this solution won’t work. You should buy new USB/ Pen drive instead.
Find Out The Mounted Path Of USB Pen Drive
Step 1: Attach USB pen drive in system’s USB port. Automatically the Ubuntu will mount the USB pen drive and show icon on Desktop or Menu bar.
Open the terminal and become super user by running below given command
sudo su -
Step 2: First we have to find out in which directory the USB pen drive has been automatically mounted.For this run the df -Th
command.
In given below output you can see,in my system the USB pen drive is mounted in /media/linux/C38C-099C ,partition is /dev/sdd1 and filesystem is vfat.
Note: When you run df -Th
command in your system,the USB pen drive may mount in different directory and the partition might also be different.Hence the output value which you will get, use the same values in further steps.
root@tuxworld:~# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda5 ext4 28G 25G 1.3G 96% / udev devtmpfs 2.0G 4.0K 2.0G 1% /dev tmpfs tmpfs 796M 1.1M 795M 1% /run none tmpfs 5.0M 8.0K 5.0M 1% /run/lock none tmpfs 2.0G 528K 2.0G 1% /run/shm none tmpfs 100M 104K 100M 1% /run/user cgroup tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda7 ext4 9.2G 8.2G 539M 94% /partition7 /dev/sda8 ext3 46G 38G 6.2G 86% /partition8 /dev/sda9 ext3 74G 67G 3.1G 96% /partition9 /dev/sda21 ext4 14G 4.9G 8.3G 37% /partition10 /dev/sdd1 vfat 15G 12G 3.6G 77% /media/linux/C38C-099C
Unmount USB Pen Drive
Step 2: Now unmount the directory in which the USB pen drive is automatically mounted . (As you can see mounted directory path in above ‘Step 1’)
Note: Replace the/media/linux/C38C-099C with the mounted USB pen drive directory path which is showing output in your system after running df -Th
command.
umount /media/linux/C38C-099C
Check And Repair
Step 3: As we know the USB pen drive got /dev/sdd1 partition
and filesystem is vfat(see in Step 1). Now we will run dosfsck command to check and repair the filesystem
Note: The dosfsck
command check and repair MS-DOS filesystems.Because the filesystem of USB pen drive is vfat hence we are using this command
dosfsck -a /dev/sdd1
Re-Attach USB Pen Drive
Step 4: After the dosfsck command get completed.Remove the USB pen drive from system and then re-attach back to system.Now your USB pen drive should working and it should not have read only filesystem.
Note** After mounting the USB pen drive you may see a new file with extension .REC which was created because of dosfsck command.
Reboot The System
Step 5 Reboot the system after completing all the steps. (This step we have added after receiving lots of suggestion in comments section from our readers around the world. Thank you for providing feedback and sure it will help many people.)
Effectively, it only worked after rebooting the whole system! Thanks!
Have exactly this problem, but sadly this does not work. The USB flash drive is mounted as a read only file system and dosfsck -av reports nothing found but does strangely report:
fsck.fat 4.1 (2017-01-24)
Logical sector size is zero.
followed your instructions and read-only is still there not allowing a reformat.
tmpfs tmpfs 1.6G 236K 1.6G 1% /run/user/1000
/dev/sdc1 vfat 231G 4.1G 227G 2% /media/mike/USB DISK
tmpfs tmpfs 1.6G 0 1.6G 0% /run/user/0
root@mike-System-Product-Name:~#
umount /media/mike/USB DISK
umount: /media/mike/USB: no mount point specified.
umount: DISK: no mount point specified.
dosfsck -a /dev/sdc1
fsck.fat 4.1 (2017-01-24)
0x41: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
Automatically removing dirty bit.
Free cluster summary wrong (7434982 vs. really 7433413)
Auto-correcting.
Performing changes.
/dev/sdc1: 2 files, 131073/7564486 clusters
Writing 512 bytes at 0 failed: Operation not permitted
Writing 4 bytes at 1000 failed: Operation not permitted
didn’t you read the response from your system?
umount /media/mike/USB DISK
umount: /media/mike/USB: no mount point specified.
umount: DISK: no mount point specified.
that didn’t trigger a thought what could be wrong? the space between USB and DISK causes your device not to be unmounted. use “USB DISK” instead
Hi Marcellus,
The mount path should be used which is showing on your system. Check once!
Regards
Sharad
maybe you do not understand what I mean here, he has entered a faulty mount command. resulting in the system trying to mount “USB” and “DISK” and these directories do not exist, right?
This is not working for me
It doesn’t even detect my usb drive at all.. 🙁
Thank you very much
Appreciate! Nice blog
Thank you!!
It works for me… up to now step 5 was unnecessary
It works! Step 5 is necessary.