Ubuntu – SD card is read only

sd card

Note: I know about the lock switch on the SD card. It's not the lock switch. 🙂

Hi, I'm having problems with an FAT32 SD card taken out of a Wii. It's read only. Any attempt to copy something is met with…

The destination is read-only.

I've tried reformatting with gParted and also these threads…

Read-only SD cards

leke@Aspire:~$ sudo fdisk -l

...
Disk /dev/sdb: 128 MB, 128450560 bytes
141 heads, 61 sectors/track, 29 cylinders, total 250880 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00002fa9

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048      249855      123904    b  W95 FAT32

leke@Aspire:~$ sudo ls -l /dev/sdb
brw-rw---- 1 root disk 8, 16 marra 15 09:28 /dev/sdb

leke@Aspire:~$ sudo usermod -G disk --append leke

leke@Aspire:~$ groups leke
leke : leke adm disk cdrom sudo dip plugdev lpadmin sambashare

From here, I tried…

MicroSD card is set to Read-only state. How can I write data on it?

with no luck, but when I got to

sudo mount --options remount,rw <the SDHC drive, /dev/sdb for example, find it using fdisk -l>

I got me an error message…

leke@Aspire:~$ sudo mount --options remount,rw /dev/sdb
mount: can't find /dev/sdb in /etc/fstab or /etc/mtab

So this is good I think, but what does it mean?

Edit:

So there has been a development. It appears the SD card reader is the problem. I tried another SD card in the same slot and it had the same problem, but this time it was a micro SD inside a full size SD adapter, so I took the micro sd out and put it in a usb adapter and it wrote fine. So it's not the card itself (I believe).

However, my bios has no setting to change any properties of the SD card reader.

So is this fixable?

Edit 2:
So did any of what I tried require a reboot (like adding user to the disk group)? —because It seems to work fine now. For the record, I still get the same error message for the mount attempt given by The Coder Guy after changing to /dev/sdb1 but I guess it's not so important now. How should I mark this post as resolved now?

Best Answer

Mount is throwing an error because you aren't specifying a mount point, and it can't find one in fstab. I would just create a mount directory in /mnt (short for mount) or /media with

sudo mkdir /mnt/sdcard

Then mount it with

sudo mount --options remount,rw /dev/sdb1 /mnt/sdcard

This will mount your sdcard at /mnt/sdcard but note that the files will be owned by root, if you want to mount them as your user add uid=user,gid=user to the options (where user is your username). For example.

sudo mount --options remount,rw,uid=myuser,gid=myuser /dev/sdb1 /mnt/sdcard

When you're done, unmount the SD card

sudo umount /mnt/sdcard

And then after you've removed the card, delete your mount point with (WARNING rm will delete whatever you tell it to! TRIPLE CHECK your typing for errors before you run it, especially as sudo!)

sudo rm -ir /mnt/sdcard

Thats about it! Nothing more to do.