3

I have the problem that my machine turned the root filesystem into readonly mode and remounting it as writeable won't work:

# mount -o remount,rw /dev/sda1 /
mount: block device /dev/sda1 is write-protected, mounting read-only

I want to copy some data away from that system and I attached a USB drive and tried to mount it:

# mount -t ext3 /dev/sdb1 /mnt
mount: /dev/sdb1 already mounted or /mnt busy

/mnt is an empty directory, so mounting there should usually work, but it seems that having this directory on a readonly filesystem doesn't make it possible to mount something there.

I think there is no activity going on for /mnt, since the following command doesn't return any output:

# lsof | grep "/mnt" | grep -v grep

There is no other partition mounted as the readonly root filesystem at the moment. Is it possible to still get the attached disk into the directory hierarchy somehow?

Gregor Müllegger
  • 143
  • 1
  • 1
  • 5
  • 1
    Is there anything useful in your logs regarding the fact that your root filesystem was remounted read-only? – dawud Oct 10 '13 at 11:16
  • You are using `/dev/sda1` foir the first command and `dev/sdb1` for the second. Is that a mistake? – U. Windl Nov 03 '21 at 09:20

5 Answers5

7

The first error message is telling me that you'll need to reboot - there's something wrong with the disk device itself that the kernel can't resolve without a reboot. If you're booted from SAN, look carefully at your boot LUN and make sure there's nothing wonky with it, or the zoning for the SAN, or the export of the LUN.

John
  • 9,070
  • 1
  • 29
  • 34
  • Of course reboot will do, *but* if all the disks, partitions, VGs, LVs, etc. are *not* write-protected, why does the kernel say so? It might be a kernel bug. As I have the same problem, I found out via `strace` that the `mount` system call returns `EROFS` (*Read-only filesystem*). I also did an `fsck` (as the mount is read-only) to find out that the "*contains a filesystem with errors*" does not go away even though `fsck` succeeded. – U. Windl Nov 03 '21 at 09:16
  • FYI: I filed a kernel bug ([Bug 214927 - re-mount read-write (mount -oremount,rw) of read-only filesystem rejected with EROFS, but block device is not read-only](https://bugzilla.kernel.org/show_bug.cgi?id=214927)). – U. Windl Nov 03 '21 at 10:40
  • After all it seem to be a feature, not a bug. [Comment #3 for Bug 21927](https://bugzilla.kernel.org/show_bug.cgi?id=214927#c3) explains that. – U. Windl Nov 04 '21 at 08:37
6

Set the mount point to anything that is not on the same partition as "/". For example, often the "/tmp" directory or some other directory is a separate partition. Then, it's as simple as creating a temporary mount point:

mkdir -p /tmp/mnt

and then

# mount -t ext3 /dev/sdb1 /tmp/mnt

AS long as /tmp is on a separate mountable partition, it completely bypasses any issues you're having with the root partition.

Michael Martinez
  • 2,645
  • 3
  • 24
  • 35
0

You probably have a stale mtab. Try mounting with the -n option.

Bgs
  • 208
  • 2
  • 5
  • As today's Linux has a link from `/etc/mtab` to `/proc/self/mounts`, it's kind of useless. Maybe also `-n` does not have any effect at all (any more). – U. Windl Nov 03 '21 at 09:24
0

Apart from /dev/sda1, if there is any separate partition available, say /boot, then create a directory under /boot and mount your usb drive there. What I suspect is /mnt is also part of /. If / is ro, then /mnt mount may not work.

rootslash
  • 102
  • 3
-1

Please format your memory in another filesystem

mkfs.xfs /dev/sdXX mkfs.ext4 /dev/sdXX

or any other filesystem