Ошибка read only file system

Ошибка read only file system может возникнуть при загрузке с LiveCD диска или в режиме восстановления вашего дистрибутива. Она означает, что файловая система в которую вы пытаетесь вести запись примонтирована только для чтения. Этому может быть несколько причин. Есть файловые системы, которые доступны только для чтения это файловая система оптических дисков — ISO, а также файловая система образов SquashFS.

С такими файловыми системами вы сделать ничего не сможете. Для изменения данных в них, надо распаковать образ, изменить данные и запаковать его обратно. Но что касается обычных файловых систем, таких как EXT4, BTRFS, XFS, то их можно монтировать и для чтения и для записи.

В этой небольшой статье мы рассмотрим как исправить read only file system Linux перемонтировав файловую систему для записи. Первым делом надо определиться с точкой монтирования, для которой надо разрешить запись. Попытаемся создать файл в корневом каталоге:

touch /file

Ошибка, файловая система корневого каталога доступна только для чтения. Чтобы посмотреть все точки монтирования доступные в системе выполните в терминале:

mount | grep /dev/sd

В данном случае, корневая файловая система и есть точкой монтирования. Но у вас, например, возникнут проблемы с созданием файла в домашней папке, то надо будет уже перемонтировать /home. Смотрите внимательно. Когда точка монтирования выбрана, осталось её примонтировать с правами на запись:

sudo mount -o remount,rw /

Или для /home:

sudo mount -o remount,rw /home

После этого вы сможете создать файл без каких-либо проблем. После завершения работы, во избежание повреждения данных при перезагрузке, желательно перемонтировать файловую систему обратно в режим только для чтения:

sudo mount -o remount,ro /

Теперь вы знаете что означает эта ошибка и как с ею справится. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

В некоторый случаях файловая система в Linux может перейти в состояние read-only, при котором вы можете только читать данные с диска, а при попытке записи любых изменение или создании нового файла появдляется ошибка Read-only file system.

Ошибки файловой системы и опция remount-ro

Проверьте параметры монтирования дисков при загрузке Linux. Настройки монтирования файловых систем при загрузке задаются в файле /etc/fstab.

$ cat /etc/fstab

опции понтирования файловой системы в linux fstab при наличии ошибок

Обратите что в fstab есть строка монтирования корневой директории вида:

UUID=aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaa / ext4 errors=remount-ro 0 1

Параметр
errors=remount-ro
означает, что данная директория будет смонтирована в режиме чтения, если на файловой системе устройства обнаружены проблемы. В этом случае нужно выполнить проверку диска с помощью FSCK.

Обычные файловые системы такие как EXT4/BTRFS/XFS можно монтировать как в режиме записи, так и только для чтения (в отличии от файловых систем ISO или SquashFS, которые доступны только для чтения).

В случае обнаружения ошибок на диске вы можете использовать одну из трех опций
errors=[continue|remount-ro|panic]

  • continue – игнорировать ошибки,
  • remount-ro – перемонтировать диск в режиме только для чтения
  • panic – остановить загрузку системы

Вы можете вывести соответствие между UUID диска и именем устройства:

$ sudo blkid

В данном примере вы получили, что вашему UUID соответствует устройство /dev/sda3.

blkid вывести uuid и /dev/sdx имя

Также можно имена устройства и точки монтирования с помощью команды:

$ df –h

точки монтирования и файловые системы в linux

Т.к. в данном примере ошибки обнаружены в корневой директории которая является точкой монтирования, вы сможете выполнить ее проверку только загрузившись с LiveCD. Для исправления ошибок файловой системы используется команда:

$ sudo fsck –y /dev/sda3

Или

$ sudo fsck –y UUID=aaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaa

Если вы не можете прямо сейчас выполнить проверку диска, и вы хотите немедленно вывести файловую систему из режима read-only, нужно выполниться команду:

$ sudo mount -o remount,rw /

Обязательно запланируйте проверку файловой системы на ближайшее время.

Read-only файловая система в виртуальных машинах

Файловая система раздела Linux на виртуальной машине можете перейти в read-only в случае недоступность системы хранения данных (СХД). Самый простой способ восстановить работу ОС – выполнить сброс виртуальной машины (фактически перезапуск с параметрами по умолчанию).

Может оказаться, что ВМ с Linux вообще не загружается и вам доступна только командная строка initramfs с предупреждениями:

UNEXPECTED INCONSISTENCY: RUN fsck MANUALLY.
Fsck exitrd with code 4.
 The root file system of /dev/sdx requires a manual fsck.

ошибка проверки файловой системы fsck в initramfs

Initramfs это начальная файловая система в оперативной памяти, которая основана на tmpfs, которая содержит утилиты и скрипты, необходимые для работы с дисками, файловыми системами и тд. После запуска initramfs отобразится проблемная ситуация.

Если же ошибок нет – просто вводим exit. Иначе выполняем проверку диска:

$ fsck /dev/sda3 –y

Здесь указан том (в данной случае /dev/sda1), для которого требуется выполнить ручную проверку. С помощью следующей команды можно проверить все подключенные файловые системы:

$ fsck –A –y /dev/sda1

После этого перезагрузите ВМ.

Failed to push selection: Read-only file system
this error comes when i am trying to add any file in sdcard of emulator..can any one tell me what is the solution of it?

Sree's user avatar

Sree

3,1262 gold badges31 silver badges39 bronze badges

asked Dec 13, 2011 at 4:53

Aamirkhan's user avatar

3

You need to grant your app permission to write to the external SD card. It’s not important that you’re in the «emulator», the emulator IS Android, so it needs to have the same rights as if it were running on an actual device.
Add this line to your manifest…

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

And you’ll be good to go.

answered Dec 13, 2011 at 5:01

Yevgeny Simkin's user avatar

Yevgeny SimkinYevgeny Simkin

27.9k39 gold badges136 silver badges236 bronze badges

1

I had the same problem; The reason appeared to be that the sdcard was not given a size.

By opening the ‘Android Virtual Device Manager’ and edit the device, I could alter the size of the sdcard, or at least make sure that it is not blanc (as that was my problem). After saving the alterations and a reboot of both the emulator and in my case alse Eclipse, the read/write permissions were set correct and I could add files to the sdcard in the emulator.

answered Jun 21, 2013 at 12:21

incomudro's user avatar

incomudroincomudro

5484 silver badges12 bronze badges

1

Make sure that you have added SDCard to your Emulator. So, you should make sure that your AVD should have the SD Card Support - yes

answered Dec 13, 2011 at 5:06

Lalit Poptani's user avatar

Lalit PoptaniLalit Poptani

67.1k22 gold badges160 silver badges242 bronze badges

0

I experienced distressing Android external SD read/write error.
The work around was to check file errors:
Popped the SD card in to my Windows phone, and error gone..!

answered Jul 3, 2017 at 11:31

skm's user avatar

What solved this for me was, as said creating my own sd card file. The steps are as follows

  1. Create sdcard android/sdk/tools/mksdcard [size] [file]
  2. And attach the file as external file under sdcard (shown in advanced setting). Note: this sometimes doesn’t work. if it doesn’t go to ~/.android/avd/[device].avd/config.ini and set sdcard to the generated file

answered Apr 26, 2018 at 12:51

dynamo's user avatar

dynamodynamo

1,12310 silver badges14 bronze badges

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.

Seth's user avatar

Seth

56.9k43 gold badges144 silver badges198 bronze badges

asked Apr 28, 2013 at 2:35

MathCubes's user avatar

0

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.

David Foerster's user avatar

answered Jan 6, 2017 at 17:24

user639154's user avatar

user639154user639154

3693 silver badges2 bronze badges

8

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 /

David Foerster's user avatar

answered Apr 28, 2013 at 2:41

GM-Script-Writer-62850's user avatar

9

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.

David Foerster's user avatar

answered Jul 16, 2018 at 16:09

Prejith P's user avatar

Prejith PPrejith P

1011 silver badge2 bronze badges

7

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

Amin Ya's user avatar

answered Jul 18, 2020 at 4:22

Braian Coronel's user avatar

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

answered May 24, 2022 at 5:45

sundowatch's user avatar

sundowatchsundowatch

2631 gold badge4 silver badges12 bronze badges

2

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.

answered Dec 22, 2021 at 17:35

Hrishikesh Kadam's user avatar

Thanks, Sérgio, for «mount» command without parameters idea.
I’d need to made adb push into /data/data/com.my.app/lib for some test issue, and get «Read-only filesystem» message.

ls command shows me:

root@android:/ # ls -l /data/data/com.my.app/
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:16 cache
drwxrwx--x u0_a98 u0_a98 2016-05-06 09:04 files
lrwxrwxrwx system system 2016-05-06 11:43 lib -> /mnt/asec/com.my.app-1/lib

So, it’s understood, that «lib» directory is separated from other application directories.

Command
mount -o rw,remount /mnt/asec
didn’t resolve «r/o fs» issue, it wants device parameter before directory parameter.

«df» command didn’t help also, but shows that my /mnt/asec/com.my.app-1 directory is at the separate mount point.

Then I looks by mount and voila!

root@android:/ # mount
.........
/dev/block/dm-4 /mnt/asec/com.my.app-1 ext4 ro,dirsync,relatime 0 0

Next steps are already described upwards: remount to RW, push and remount back to RO.

Like this post? Please share to your friends:
  • Ошибка read of address 00000008
  • Ошибка read from disk utorrent
  • Ошибка rdy частотник шнайдер
  • Ошибка rdr2 ошибка игры
  • Ошибка rdr2 fff