64

When I try to save something or rename a file/folder it say this error " Read-only file system" or run something as root in the terminal it say this error

sudo: unable to open /var/lib/sudo/"My User Name"/0: Read-only file system 
W: Not using locking for read only lock file /var/lib/dpkg/lock
E: Unable to write to /var/cache/apt/  
E: The package lists or status file could not be parsed or opened.

When I make a Folder the error dialog in the details with Nautilus is this:

Error creating directory: Read-only file system

I would show you I picture of it but it isn't even letting my save onto my flash drive. Please help me.

0

7 Answers 7

42

This worked for me:

First, run this command with sudo permission:

sudo fsck -n -f

Then reboot the machine.


The options -f and -n are documented directly under man fsck, but under the filesystem-specific fsck subcommand. The fs-specific-options part alludes to this:

SYNOPSIS

fsck [-lsAVRTMNP]
     [-r [fd]]
     [-C [fd]]
     [-t fstype]
     [filesystem...]
     [--]
     [fs-specific-options]

From man fsck.ext4 (a.k.a. e2fsck):

-f — Force checking even if the file system seems clean.

-n — Open the file system read-only, and assume an answer of no to all questions. Allows e2fsck to be used non-interactively. This option may not be specified at the same time as the -p or -y options.

Further comments to option -n from this Unix & Linux stackexchange answer:

If you meant fsck -n, then the filesystem-specific programs are called and passed the -n option, which for most of them means “look but don't touch”. If the filesystem is mounted, fsck will usually find spurious errors, because a mounted filesystem tends to be in an inconsistent state as write operations are happening. It won't lock up your system, but it won't report anything useful either.

9
  • 55
    @sudodus You are way out of line to criticize someone for answering an old question on a stackexchange site. The whole point is for these questions and answers to to remain indefinitely as a resource. This isn't some forum site with their typical bias against resurrecting old threads. If you have a reason why a filesystem check would not help the user's situation, explain it. You should not discourage a new user from trying to help. And whoever else downvoted this, explain to us what you downvoted for, don't just mindlessly follow the herd.
    – msouth
    Jan 28, 2017 at 23:52
  • 22
    @msouth, I accept your critical comment. My comment was mainly trying to make the author of the answer improve it - add more details, because I think it is not complete enough to be useful for a beginner. (And I did not downvote it, someone else did). I am sorry that my intention was not clear - the intention was definitely not to discourage anybody, not the author of the answer, and not you. I will try to change my commenting style to make it more positive.
    – sudodus
    Jan 29, 2017 at 7:48
  • 19
    @sudodus my phrasing was too harsh, I'm sorry for that (the site doesn't let you edit comments, but when I realized that, I should have just deleted it and made another comment). My respect to you for taking it so well.
    – msouth
    Jan 30, 2017 at 0:26
  • I'm getting: warning: option -f is not implemented, ignoring error: container /dev/rdisk2 is mounted with write access; please re-run with -l. Sep 29, 2019 at 0:22
  • 3
    This just saved me! Since I couldn't do anything on my server filesystem. I booted into rescue mode. 'fsck -f /dev/sda2', (my server drive is /dev/sda2), and it fixes all the errors that caused the read-only mount. I then rebooted. Thanks, aplenty! Nov 20, 2019 at 8:09
25

When the system enters a read-only state, it does so to prevent damage to the system. Make sure your HDD is working properly and/or backup your data before doing anything.

I suggest to boot a live USB/DVD, open GParted, and use the check/repair feature.

This is the command to enable writing:

sudo mount -o rw,remount /
11
  • 2
    I can't because I need sudo access and I can't get it. "sudo: unable to open /var/lib/sudo/mathcubes/1: Read-only file system mount: cannot remount block device /dev/sda6 read-write, is write-protected "
    – MathCubes
    Apr 28, 2013 at 2:44
  • as i said boot up a live disk and use gparted to check/repair the partition, if you don't have a disk you can use partedmagic it is under 500MB in size Apr 28, 2013 at 3:20
  • How? Do I repair the partition in gparted?
    – MathCubes
    Apr 28, 2013 at 19:00
  • But What do I do in gpared, reformat it NO!
    – MathCubes
    Apr 28, 2013 at 20:14
14

If you are dual booting Windows with Ubuntu and you do not have any error in dmesg, then the problem could very well be caused by Windows.

In Windows go to Control Panel → Power Options and disable Fast Startup. Now boot into Ubuntu.

8
  • Are you implying that either 1) Windows had the ext4 root file system of OP's Ubuntu installation mounted or 2) the root file system of OP's Ubuntu installation was NTFS? I find that very unlikely. -1 Jul 16, 2018 at 17:45
  • 3
    I am not implying both. What I mean is that if you can't mount a file system as write on a dual booted system and there are no visible issues with the file system, then the problem could be caused by the Windows Fast Startup You may downvote as you wish, but this is a valid solution for people who dual boot.
    – Prejith P
    Jul 17, 2018 at 17:52
  • Not for this question though because your solution doesn't apply to it. Jul 17, 2018 at 18:04
  • As I had mentioned in my original post, this is the 2nd solution on search for the error "read only file system", which is the same error that you get when trying to mount an external drive in dual boot
    – Prejith P
    Jul 18, 2018 at 0:45
  • 3
    This really worked for me (Ubuntu 19.04). Even though, I wasn't for sure that it'll work but it does.
    – HV Sharma
    Oct 28, 2019 at 18:12
9

When accessing an HDD from different OS (Windows & Linux) the disk could contain an unclean file system. So the metadata cached in the OS, deny mounting the disk

To try to correct the mistakes, identify the path of your partition disk in the Disk app (i.e: /dev/sdb1 found by lsblk) and use ntfsfix.

sudo ntfsfix /dev/sdb1

If the disk is not mounted automatically, so:

$ sudo mkdir /media/[mount point]
$ sudo mount -o rw /dev/sdb1 /media/[mount point]

If you get the error Read-only file system then you should delete the following directories from Windows:

  • .Tash-1000
  • $RECYCLE.BIN/

In Git Bash as Admin:

Identify your disk. In my case is /f

$ cd /f
$ rm -R \$RECYCLE.BIN/ && rm -R .Tash-1000

GL

4

If someone using dual OS(Ubuntu, Windows) like me, NTFS filesystem is the main reason of this problem. Inspect the path of disk like "/dev/sda3", unmount the disk and run:

sudo ntfsfix /dev/sda3
2
  • 1
    This did the trick. Thank you. Unmounting the troublesome disk using umount (or the Disks utility) is of paramount importance. Aug 19, 2022 at 14:42
  • This worked for me as well. Is there some permanent solution or I'll have to do it every time I boot my system ? Aug 29, 2022 at 22:13
1

In my case, I have a common drive between Windows and Ubuntu.

On Ubuntu, I had installed trash-cli and had trashed some files.
When I booted in Windows, I did some defragmentation on that drive.
But when I went back to Ubuntu, then it started giving me Read-only file system error on any write operation.

After reading @Braian Coronel's answer, I went back to Windows and permanently deleted .Trash-1000 folder which solved my issue.

1

TDLR; After many years I never posted this. The flash drive was bad, had basically no more write cycles to it and was literally read only.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .