В некоторый случаях файловая система в Linux может перейти в состояние read-only, при котором вы можете только читать данные с диска, а при попытке записи любых изменение или создании нового файла появдляется ошибка Read-only file system.
Ошибки файловой системы и опция remount-ro
Проверьте параметры монтирования дисков при загрузке Linux. Настройки монтирования файловых систем при загрузке задаются в файле /etc/fstab.
$ cat /etc/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.
Также можно имена устройства и точки монтирования с помощью команды:
$ df –h
Т.к. в данном примере ошибки обнаружены в корневой директории которая является точкой монтирования, вы сможете выполнить ее проверку только загрузившись с 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.
Initramfs это начальная файловая система в оперативной памяти, которая основана на tmpfs, которая содержит утилиты и скрипты, необходимые для работы с дисками, файловыми системами и тд. После запуска initramfs отобразится проблемная ситуация.
Если же ошибок нет – просто вводим exit. Иначе выполняем проверку диска:
$ fsck /dev/sda3 –y
Здесь указан том (в данной случае /dev/sda1), для которого требуется выполнить ручную проверку. С помощью следующей команды можно проверить все подключенные файловые системы:
$ fsck –A –y /dev/sda1
После этого перезагрузите ВМ.
Ошибка 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 ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
The title might not be as descriptive as I would like it to be but couldn’t come up with a better one.
My server’s file system went into Read-only. And I don’t understand why it does so and how to solve it.
I can SSH into the server and when trying to start apache2 for example I get the following :
username@srv1:~$ sudo service apache2 start
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system
* Starting web server apache2 (30)Read-only file system: apache2: could not open error log file /var/log/apache2/error.log.
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
When I try restarting the server I get :
username@srv1:~$ sudo shutdown -r now
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system
Once I restart it manually it just start up without any warning or message saying something is wrong.
I hope somebody could point me into the right direction to resolve this issue.
Pro Backup
3,1503 gold badges24 silver badges33 bronze badges
asked Oct 7, 2012 at 15:41
6
The filesystem will usually go into read-only while the system is running if there is a filesystem consistency issue. This is specified in fstab
as errors=remount-ro
and will occur when a FS access fails or an emergency read-only remount is requested via Alt+SysRq+U. You can run:
sudo fsck -Af -M
to force a check of all filesystems. As one of the other answers states, looking at dmesg
is also very helpful.
Edit: Don’t forget the -M
on the command-line.
NOTE: As mentioned by Bibhas in his answer: If fsck
gets stuck after its version banner:
$ sudo fsck -Af -M
fsck from util-linux 2.20.1
you may want to try using the EXT4-specific fsck
$ sudo fsck.ext4 -f /dev/sda1
Provided the partition in question /dev/sda1
was an ext4 filesystem.
answered Oct 7, 2012 at 15:58
nanofaradnanofarad
20.6k12 gold badges65 silver badges91 bronze badges
20
The answer by hexafraction didn’t work for me. Every time I tried executing sudo fsck -Af -M
it just showed
$ sudo fsck -Af -M
fsck from util-linux 2.20.1
and nothing else. No error or anything. For me, booting into a live disc and executing this worked –
sudo fsck.ext4 -f /dev/sda1
Provided the partition in question /dev/sda1
was an ext4 filesystem.
notpeter
1,3841 gold badge8 silver badges9 bronze badges
answered Feb 17, 2014 at 15:44
BibhasBibhas
9967 silver badges16 bronze badges
5
Here is the command that solved my problem :
mount -o remount /
better than a reboot or sudo fsck -Af
answered Jan 30, 2013 at 16:23
SulliwaneSulliwane
2,0855 gold badges26 silver badges38 bronze badges
8
If you want to force your root filesystem to remount as rw, you can do the following.
mount -o remount,rw /
answered Jun 1, 2015 at 5:07
johnboilesjohnboiles
4494 silver badges3 bronze badges
5
Try running dmesg | grep "EXT4-fs error"
to see if you have any issues related to the filesystem / journaling system itself. I would recommend you to restart your system, then. Also, sudo fsck -Af
answer by ObsessiveSSOℲ won’t hurt.
answered Jun 24, 2013 at 18:17
thiagowfxthiagowfx
7955 silver badges9 bronze badges
Note that sometimes this can be caused by the computer forgetting the system time – disk check fails because the dates in the journal are in THE FUTURE!
Setting the BIOS time (and checking the BIOS battery) fixed this problem for me, without having to do any disk recovery.
answered Feb 23, 2016 at 2:15
Tony CookTony Cook
1211 silver badge3 bronze badges
2
(Deleted previous answer)
Edit: The main problem was on the windows side. After updating my Windows 10, the ‘quick start’ option automatically got enabled. On disabling that option again, and then again re-starting the machine, the problem went away. Windows 10 gave me heavy headache for days 🙁
The ‘quick start’ option can be found in ‘power options’ in the control panel. Disable that!!! 🙂
answered Dec 23, 2017 at 8:18
3
If you’re dual booting your machine with Ubuntu and Windows together and this issue occurs,it’s because Windows changes the filesystem,in that case this might do the trick.
Try disabling fast startup
Control Panel > Hardware and Sounds > Power Options > (in the left) Choose what closing the lid does > Change settings that are currently unavailable > Untick ‘Turn on fast startup’
Now booting into Ubuntu will solve the issue. Hope this helps!
answered Apr 25, 2018 at 8:03
0
If you have the graphical user interface go to the disk application, select the drive with the issue, click on the gears icon and choose the option Repair Filesystem. In less than a second the problem is fixed.
answered Aug 24, 2021 at 9:53
diegosaswdiegosasw
1912 silver badges6 bronze badges
1
If you dual boot ubuntu alongside windows 10 it’s probably windows 10’s fast start-up that’s holding onto your filesystem , it doesnt unmount your hard disks properly.
to fix this you need to boot into windows 10
- Start >
Power Settings
- click on
Additional power setting
on the right - click on
choose what thepower buttons do
on the left - clock on
change settings that are currently unavailable
- unmark
turn on fast-startup
save changes
and then reboot into ubuntu everything will work fine!
answered Oct 14, 2020 at 16:22
Alya GomaaAlya Gomaa
611 silver badge7 bronze badges
1
Usually linux puts your filesystems in read only when errors occur, especially errors with the disk or the filesystem itself, errors like a wrong journal entry for example.
You better check your dmesg
for disk related errors.
Google is full of discussion about this and you can pick the ones that is closer to your configuration, but a look at dmesg
is usually enough.
answered Oct 7, 2012 at 15:58
axisaxis
2192 silver badges4 bronze badges
2
For me,Rebooting a system solving this issue
sudo reboot
as he mentioned about it.
Remember
as System Administrator rebooting should be the latest Solution
answered Mar 14, 2017 at 18:09
Zaman OofZaman Oof
2091 silver badge7 bronze badges
2
If you were in situations that can not use live disc, e.g. you are remotely ssh into your system, you can still using the command that @Bibhas had answered:
sudo fsck.ext4 -f /current/filesystem/mount/point
It will prompt for fixing your filesystem error. You also need to reboot your system remotely.
answered Sep 9, 2018 at 5:14
1
In my case it was down to RAID 1 stabilizing after the initial installation. I have /boot and / on s/w RAID1. Having left the system overnight and rebooted, everything is working fine.
Richard
answered Dec 8, 2015 at 11:51
1
It looks like some mounted files have got corrupted, and as a result, the kernel has set the file system to RO to prevent further damage. To find which file system is corrupted, we could run:
cat /proc/mounts | grep -i ro
The output would be similar to the below:
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
/dev/sda1 / ext4 ro,relatime,data=ordered 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
One of the solutions for this issue could be to remount the corrupted file system.
answered Jul 22, 2020 at 18:50
1
I have had this problem on my computer for over 1 year and tried everything to solve the problem. Suddenly Linux goes into read-only mode. If you are editing something you are unable to save and have to execute fsck
command and reset the computer. The computer is also very slow and freezing all the time. I removed the dual boot and left only Ubuntu, upgraded Ubuntu from version 18.04 LTS to version 20.04 LTS, and it didn’t work. What was crucial to solving the problem is the use of the dmesg
command. The experience didn’t work out for me, just this command. The function of this command is to monitor the computer.
In my case, the problem was related to the SSD incompatibility with Ubuntu. I used HDD and after I switched to SSD the problem came up. The problem was solved by updating the SSD firmware, which was only possible by partitioned Windowns, because Kingston does not have the program to update firmware through Linux. I also installed the dual boot Windowns and Linux, first installing Windows over the entire SSD, then deallocating space through Windowns and installing Ubuntu, but it is very unlikely that this was the solution to the problem.
answered Nov 9, 2020 at 18:01
1
Check if you have any faulty hardware.I got this error due to a hardisk loosening. Ran mount -o remount,rw / and it worked fine.
answered Jun 15, 2017 at 14:04
I am using the 18.04 LTS release and what I did was, first I unmounted my damaged drives then I went into “Disks” app by seaching in the dash. From there I selected the drive which was damaged. Make sure it is unmounted else it won’t work. In the options menu (the little gear shape), and clicked on “repair file system”. Boom! Worked like a charm.
answered Jun 2, 2018 at 12:07
It’s misconfigured boot settings (try mounting /
as ext2
) not drive or partition physical error.
dmesg | grep "error"
gave me:
ext3-fs (sda2): error: couldn't mount because of unsupported optional features (240)
ext2-fs (sda1): error: couldn't mount because of unsupported optional features (240)
ext4-fs (sda2): mounted file system with ordered data mode: opts: (null)
It mounted /
as read only due to the fstab error=mount-ro
directive.
answered Aug 21, 2016 at 6:22
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=9c115d28-b921-48b0-a288-03a508b682ec / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=D347-D40A /boot/efi vfat umask=0077 0 1
# /home was on /dev/sda4 during installation
UUID=3b13be08-de5d-412e-a81d-a61035a16dd7 /home ext4 defaults 0 2
# swap was on /dev/sda3 during installation
UUID=ac4ea08b-2eec-4af6-b5e2-6eba18dafc8a none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3945240k,nr_inodes=986310,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=791600k,mode=755)
/dev/sda2 on / type ext4 (ro,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=9073)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)
/dev/sda4 on /home type ext4 (rw,relatime,data=ordered)
/etc/auto.sshfs on /home/simon/ftp type autofs (rw,relatime,fd=7,pgrp=482,timeout=30,minproto=5,maxproto=5,indirect,pipe_ino=16537)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=791596k,mode=700,uid=1000,gid=1000)
Содержание
- Способ 1: Настройка прав доступа
- Способ 2: Исправление ошибок через GParted
- Способ 3: Исправление поврежденных блоков
- Способ 4: Форматирование накопителя
- Вопросы и ответы
Способ 1: Настройка прав доступа
Первый способ исправления ошибки «Файловая система доступна только для чтения» в Linux заключается в проверке прав доступа. Иногда пользователь случайно или намерено устанавливает ограничения, которые распространяются и на других юзеров. Для начала предлагаем проверить атрибуты, а затем внести изменения, если это требуется.
После активации команды вы будете уведомлены, что все изменения успешно вступили в силу. Следом рекомендуется перезагрузить ПК и можно приступать к тестированию. Если же при использовании команды ls было обнаружено, что для раздела или носителя установлены все требуемые атрибуты, следует перейти другим решениям возникшей проблемы.
Способ 2: Исправление ошибок через GParted
GParted — одна из самых известных утилит для управления дисками в Linux со встроенным графическим интерфейсом. Ее особенность заключается в наличии множества вспомогательных функций, связанных в том числе и с решением различных ошибок носителей.
Если какие-то неполадки будут найдены и исправлены, вы получите соответствующее уведомление. По окончании проверки следует перезагрузить ПК, чтобы при начале следующего сеанса сразу проверить эффективность выполненных действий. Если они не принесли никакого результата, переходите далее.
Способ 3: Исправление поврежденных блоков
Иногда ошибка со сбойным режимом чтения возникает вследствие повреждения секторов жесткого диска. Существуют специальные утилиты, позволяющие распределить проблемное пространство или исправить его, если это является возможным. В Linux имеется встроенная команда, отвечающая за выполнение этой операции. Мы и предлагаем воспользоваться ей в том случае, если приведенные выше рекомендации не принесли никакого результата.
Все изменения будут применены сразу же, однако, как обычно, рекомендуется создать новый сеанс операционной системы, чтобы проверить, была ли решена возникшая неполадка с ошибкой «Файловая система доступна только для чтения».
Способ 4: Форматирование накопителя
Последний метод, о котором мы хотим рассказать в рамках сегодняшней статьи, является самым радикальным, поскольку подразумевает полное форматирование накопителя, после будет восстановлено состояние файловой системы. Такой вариант подойдет только в той ситуации, если на диске нет важных файлов и все содержимое можно удалить. Более детальные инструкции по данной теме ищите в отдельном материале на нашем сайте, воспользовавшись указанной далее ссылкой.
Подробнее: Форматирование диска в Linux
Сегодня мы разобрали четыре метода исправления неполадки «Файловая система доступна только для чтения». Осталось найти подходящий только путем перебора, выполняя по порядку все приведенные инструкции. В большинстве случаев хотя бы один из них оказывается действенным и позволяет полностью устранить рассмотренную ошибку.