How to read / write files on a USB drive on MAC when it is shown as readonly by Finder

torrito
2 min readOct 17, 2020

Sometimes you may need to access files from an old USB drive and usually MAC OS X will show them as readonly.

For example I’ve got an old reader by Sony — PRS-505 — which I was not using for several years.
After connecting it using USB cable I could see it in Finder and I could check that the drive is shown to be formatted as MS-DOS (FAT16).

I’ve tried to copy some new books on this drive and I’ve got stuck because MAC was not allowing me to write those files.

Luckily enough you can overcome this by using a Terminal.
Here is what you need to do.

Step 1
find the name of your disk using diskutil:

$ diskutil list# you will get something similar to this:
/dev/disk0 (internal, physical):
...
/dev/disk1 (synthesized):
...
/dev/disk2 (external, physical):
...

In my case I am pretty sure that connected reader is shown as /dev/disk2 (it is the only external drive shown).

Step 2
once you know the name of your reader disk you need to mount it with writing permissions:

mount -uw /dev/disk2# NOTE that you may need sudo permissions to do it on
# your machine; in this case you need to run this
sudo mount -uw /dev/disk2

Step 3
now we need to find the mounted drive in the list of drives:

$ ls /Volumes/
> Macintosh HD
> Untitled
# in my case it is the last one - Untitled
# it is also visible in Finder in the left panel inside Locations section

Step 4
now we can copy files from / to reader.

Strangely enough I was not able to copy files to my reader using Finder.
But at the same time it is very possible to do it by using Terminal:

cd /Volumes/Untitled/database/media/books/
cp ~/Desktop/books/thebook.txt .

Bonus track
this is how you can fully unmount the drive after you’ve finished with it:

# first - change your current directory to something different
# from the mounted volume
# `cd` will move you to your home directory
cd# and now you can unmount the drive like this
# NOTE that I am using sudo here but you may not need it in case
# you have not used it during mounting
sudo diskutil unmount /dev/disk2

And that’s it!

--

--

torrito

UI developer / UX appreciator / latent DEsigner