Как исправить "sudo: Невозможно открыть... Файловая система только для чтения"?
Название может быть не таким описательным, как хотелось бы, но не могло придумать лучшего.
Файловая система моего сервера перешла в режим только для чтения. И я не понимаю, почему это так и как это решить.
Я могу подключиться к серверу по SSH и, например, при попытке запустить apache2 получаю следующее:
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.
Когда я пытаюсь перезапустить сервер, я получаю:
username@srv1:~$ sudo shutdown -r now
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system
Как только я перезапускаю его вручную, он просто запускается без предупреждения или сообщения о том, что что-то не так.
Я надеюсь, что кто-то может указать мне правильное направление для решения этой проблемы.
20 ответов
Файловая система обычно переходит в режим "только для чтения" во время работы системы, если возникает проблема с согласованностью файловой системы. Это указано в fstab как errors=remount-ro и произойдет в случае сбоя доступа FS или аварийного перемонтирования только для чтения через Alt+SysRq+U. Вы можете запустить:
sudo fsck -Af -M
провести проверку всех файловых систем. Как один из других ответов гласит, глядя на dmesg Также очень полезно.
Редактировать: не забудьте -M в командной строке.
Ответ от hexafraction не работал для меня. Каждый раз, когда я пытался выполнить sudo fsck -Af -M это только показало
$ sudo fsck -Af -M
fsck from util-linux 2.20.1
и ничего больше. Нет ошибок или чего-то еще. Для меня загрузка живого диска и выполнение этого работали -
sudo fsck.ext4 -f /dev/sda1
При условии раздела в вопросе /dev/sda1 была файловая система ext4.
Вот команда, которая решила мою проблему:
mount -o remount /
лучше, чем перезагрузка или sudo fsck -Af
Если вы хотите, чтобы ваша корневая файловая система перемонтировалась как rw, вы можете сделать следующее.
mount -o remount,rw /
Попробуйте запустить dmesg | grep "EXT4-fs error" чтобы увидеть, есть ли у вас какие-либо проблемы, связанные с самой файловой системой / системой журналирования. Тогда я бы порекомендовал вам перезагрузить вашу систему. Также, sudo fsck -Af Ответ от ObsessiveSSOℲ не повредит.
Обратите внимание, что иногда это может быть вызвано тем, что компьютер забыл системное время - проверка диска не удалась, поскольку даты в журнале находятся в БУДУЩЕМ!
Установка времени BIOS (и проверка батареи BIOS) устранила эту проблему для меня без необходимости восстановления диска.
Если вы выполняете двойную загрузку компьютера с Ubuntu и Windows вместе, и эта проблема возникает из-за того, что Windows меняет файловую систему, в этом случае это может помочь.Попробуйте отключить быстрый запуск
Панель управления> Оборудование и звуки> Параметры электропитания> (слева) Выберите, что происходит при закрытии крышки> Изменить параметры, которые в данный момент недоступны> Снимите флажок "Включить быстрый запуск"
Теперь загрузка в Ubuntu решит проблему. Надеюсь это поможет!
Если у вас есть графический интерфейс пользователя, перейдите в дисковое приложение, выберите диск с проблемой, щелкните значок шестеренки и выберите параметр «Восстановить файловую систему». Менее чем за секунду проблема устранена.
(Удален предыдущий ответ)
Изменить: Основная проблема была на стороне окон. После обновления моей Windows 10 автоматически включилась опция "Быстрый старт". После отключения этой опции и повторного запуска машины проблема исчезла. Windows 10 доставляла мне сильную головную боль в течение нескольких дней:(
Параметр "Быстрый запуск" можно найти в разделе "Параметры питания" на панели управления. Отключи это!!!:)
Для меня перезагрузка системы, решающая эту проблему
sudo reboot
как он упомянул об этом.
Если вы выполняете двойную загрузку ubuntu вместе с Windows 10, это, вероятно, быстрый запуск Windows 10, который удерживает вашу файловую систему, он не отключает ваши жесткие диски должным образом. чтобы исправить это, вам нужно загрузиться в Windows 10
- Пуск>
Power Settings - нажмите на
Additional power settingсправа - нажмите на
choose what thepower buttons doналево - часы на
change settings that are currently unavailable - снять отметку
turn on fast-startup save changesа потом перезагрузитесь в убунту все будет нормально работать!
Обычно linux переводит ваши файловые системы только на чтение при возникновении ошибок, особенно ошибок на диске или самой файловой системе, таких как, например, неправильная запись в журнале.
Ты лучше проверь dmesg для ошибок, связанных с диском.
В Google много говорят об этом, и вы можете выбрать те из них, которые ближе к вашей конфигурации, но посмотрите на dmesg обычно достаточно.
Если вы оказались в ситуации, когда вы не можете использовать live disc, например, вы удаленно подключаетесь к вашей системе через ssh, вы все равно можете использовать команду, на которую ответил @Bibhas:
sudo fsck.ext4 -f /current/filesystem/mount/point
Он предложит исправить ошибку вашей файловой системы. Вам также необходимо перезагрузить систему удаленно.
Похоже, что некоторые смонтированные файлы были повреждены, и в результате ядро установило файловую систему на RO, чтобы предотвратить дальнейшее повреждение. Чтобы узнать, какая файловая система повреждена, мы могли бы запустить:
cat /proc/mounts | grep -i ro
Результат будет похож на следующий:
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
Одним из решений этой проблемы может быть перемонтирование поврежденной файловой системы.
У меня была эта проблема на моем компьютере более 1 года, и я перепробовал все, чтобы решить эту проблему. Внезапно Linux переходит в режим только для чтения. Если вы что-то редактируете, вы не можете сохранить и должны выполнить
fsckкоманду и перезагрузите компьютер. Компьютер также очень медленный и все время зависает. Я удалил двойную загрузку и оставил только Ubuntu, обновил Ubuntu с версии 18.04 LTS до версии 20.04 LTS, и это не сработало. Решающее значение для решения проблемы имело использование
dmesgкоманда. Опыт у меня не сложился, только эта команда. Функция этой команды - контролировать компьютер.
В моем случае проблема была связана с несовместимостью SSD с Ubuntu. Я использовал HDD, и после того, как я перешел на SSD, возникла проблема. Проблема была решена обновлением прошивки SSD, что было возможно только в Windowns с разделами, потому что Kingston не имеет программы для обновления прошивки через Linux. Я также установил Windowns с двойной загрузкой и Linux, сначала установив Windows на весь SSD, затем освободив место через Windowns и установив Ubuntu, но маловероятно, что это было решением проблемы.
В моем случае это было до стабилизации RAID 1 после первоначальной установки. У меня есть /boot и / на s/w RAID1. Оставив систему на ночь и перезагрузившись, все работает нормально. Ричард
Это случается с моим ноутбуком довольно часто, так как через некоторое время он зависает, нормальное выключение невозможно, и мне приходится принудительно отключать питание, что приводит к повреждению моего диска.
Шаги
- Использовать
sudo dmesg --level=crit,errчтобы выяснить, на каком диске (/dev/sda3) возникла проблема.
Пример вывода
[ 8696.776775] EXT4-fs error (device sda3): ext4_journal_check_start:83: comm ThreadPoolForeg: Detected aborted journal
[ 8696.986946] EXT4-fs (sda3): Remounting filesystem read-only
- Использовать
sudo blkid /dev/sda3чтобы получить UUID диска
sudo blkid /dev/sda3
/dev/sda3: LABEL="home" UUID="7a9689e4-90d9-496f-b889-c4f0ee389798" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="home" PARTUUID="5472ae83-2084-4fa1-b1dc-0593d9519d17"
- Редактировать
sudo vi /etc/fstabи закомментируйте этот UUID, чтобы он не монтировался при загрузке.
#UUID=7a9689e4-90d9-496f-b889-c4f0ee389798 /home ext4 noatime,errors=remount-ro 0 0
Это необходимо, потому чтоfsckне работает, если диск смонтирован. К счастью, в моем случае диск смонтирован в /home. Я не уверен, что диск смонтирован в корень. Если это так, это может не сработать, и вам, возможно, придется использовать загрузочный компакт-диск или загрузочный USB-накопитель для выполнения следующих команд.
-
sudo rebootи когда оно появится, бегиsudo fsck.ext4 -y -f /dev/sda3 - Раскомментируйте закомментированный диск из fstab (отмените шаг 3).
перезагрузитесь еще раз
Проверьте, нет ли у вас неисправного оборудования. Я получил эту ошибку из-за ослабления жесткого диска. Запустил mount -o remount,rw / и все заработало нормально.
Это неправильно настроенные параметры загрузки (попробуйте смонтировать / как ext2) физическая ошибка диска или раздела.
dmesg | grep "error" дал мне:
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)
Это установлено / только для чтения из-за fstab error=mount-ro директивы.
Я использую версию 18.04 LTS, и я сначала размонтировал поврежденные диски, а затем вошел в приложение "Диски", выполнив поиск в тире. Оттуда я выбрал диск, который был поврежден. Убедитесь, что он отключен, иначе он не будет работать. В меню опций (маленькая форма шестерни) и нажали "восстановить файловую систему". Boom! Работал как шарм.
