- fsck e2fsck: Cannot continue, aborting [duplicate]
- 2 Answers 2
- Как использовать команду fsck для исправления ошибок файловой системы в Linux
- Когда использовать fsck в Linux
- Опции программы fsck
- Как запустить fsck для исправления ошибок файловой системы Linux
- Понимание кодов выхода fsck
- Как исправить ошибки файловой системы Linux
- Как запустить fsck на корневом разделе Linux
- Как принудительно проверить диск с помощью fsck при загрузке системы
- Как запустить fsck в режиме восстановления
- Заключение
- Связанные статьи:
- e2fsck: Cannot continue, aborting
- unixforum.org
- Re: [Решено] e2fsck: Cannot continue, aborting
- Re: [Решено] e2fsck: Cannot continue, aborting
- Re: [Решено] e2fsck: Cannot continue, aborting
- Re: [Решено] e2fsck: Cannot continue, aborting
fsck e2fsck: Cannot continue, aborting [duplicate]
When I tried to run fsck on Ubuntu 18.04 recovery-mode I got the following message. Can anyone tell me why?
/lib/recocery-mode/recovery-menu: line 80: /etc/default/rcS: No such file or directory fsck from util-linux 2.31.1 /dev/sda4 is mounted e2fsck: Cannot continue, aborting.
2 Answers 2
You don’t say what command you’re using, so do it this way.
To check the file system on your Ubuntu partition.
- boot to the GRUB menu
- choose Advanced Options
- choose Recovery mode
- choose Root access
- at the # prompt, type sudo fsck -f /
- repeat the fsck command if there were errors
- type reboot
If for some reason you can’t do the above.
- boot to a Ubuntu Live DVD/USB
- start gparted and determine which /dev/sdaX is your Ubuntu EXT4 partition
- quit gparted
- open a terminal window
- type sudo fsck -f /dev/sda4 # replacing 4 with the number you found earlier
- repeat the fsck command if there were errors
- type reboot
Pretty sure they’re not running a command directly, they’re running the fsck menu item in the Ubuntu recovery mode menu.
If you have no usb stick. in grub, go to Advanced, then hit «e» to edit. Change the line starting «linux » and add » init=/bin/bash». Remove the lines starting «gfxmode » and «load_video» At the bash prompt, use df -h / to get the device path, then do, e.g. «fsck /dev/mapper/vg0-root» There is no systemd, so use alt+sysreq S U B to sync, unmount and reBoot since «reboot», «poweroff», etc won’t work. I’ve put this here as bugs.launchpad.net/ubuntu/+source/linux/+bug/1938013 ‘ll prob corrupt a lot of file systems. bugs.launchpad.net/ubuntu/+source/grub2/+bug/1807537 => no fsck
Как использовать команду fsck для исправления ошибок файловой системы в Linux
Файловые системы отвечают за организацию хранения и восстановления данных. Так или иначе, со временем файловая система может быть повреждена, и некоторые её части могут оказаться недоступными. Если ваша файловая система обнаруживает такую несогласованность, рекомендуется проверить её целостность.
Это можно сделать с помощью системной утилиты fsck (проверка целостности файловой системы). Эта проверка может выполняться автоматически во время загрузки или запускаться вручную.
В этой статье мы рассмотрим утилиту fsck и её использование, чтобы помочь вам исправить ошибки диска.
Когда использовать fsck в Linux
Есть разные сценарии, когда вы захотите запустить fsck. Вот несколько примеров:
- Система не загружается.
- Файлы в системе повреждаются (часто вы можете увидеть ошибку ввода/вывода).
- Подключенный диск (включая флешки/SD-карты) не работает должным образом.
Опции программы fsck
Команду fsck необходимо запускать с привилегиями суперпользователя или root. Вы можете использовать её с разными аргументами. Их использование зависит от вашего конкретного случая. Ниже вы увидите некоторые из наиболее важных опций:
-A проверить все файловые системы -C [] показывать статус выполнения; fd - дескриптор файла при работе в графическом интерфейсе -l заблокировать устройство для гарантии исключительного доступа -M не проверять примонтированные файловые системы -N не запускать, показать имитацию выполнения -P проверить файловые системы одновременно, включая корневую -R пропустить корневую файловую систему; может быть использовано только с '-A' -r [ ] сообщать статистику по каждому проверенному устройству; файловый дескриптор предназначен для графических интерфейсов -s последовательное выполнение проверок -T не показывать заголовок при запуске -t указать файловую систему для проверки; в качестве параметра можно перечислить несколько файловых систем через запятую -V подробное описание выполняемых действий
Как запустить fsck для исправления ошибок файловой системы Linux
Чтобы запустить fsck, вам нужно убедиться, что раздел, который вы собираетесь проверить, не смонтирован. Для целей этой статьи я буду использовать свой второй диск /dev/sda, смонтированный в /mnt/disk_d.
Вот что произойдёт, если я попытаюсь запустить fsck, когда раздел смонтирован.
fsck из util-linux 2.36.1 e2fsck 1.45.6 (20-Mar-2020) /dev/sda is in mounted. e2fsck: Cannot continue, aborting.
Если диск не только смонтирован, но и используется (например, диск, смонтированный в корневую файловую систему), то ошибка будет «/dev/nvme0n1 is in use».
Чтобы избежать этого, отключите раздел с помощью следующей команды (замените имя диска на ваше):
Тогда можно будет безопасно запускать fsck.
Понимание кодов выхода fsck
После запуска fsck он вернёт код выхода. Эти коды можно увидеть в руководстве по fsck, запустив:
Описание кодов выхода fsck:
0 Ошибок нет 1 Исправлены ошибки файловой системы 2 Система должна быть перезагружена 4 Ошибки файловой системы остались неисправленными 8 Операционная ошибка 16 Ошибка использования или синтаксиса 32 Проверка отменена по запросу пользователя 128 Ошибка общей библиотеки
Как исправить ошибки файловой системы Linux
Иногда в файловой системе может быть обнаружено более одной ошибки. В таких случаях вы можете захотеть, чтобы fsck автоматически пытался исправить ошибки. Это можно сделать с помощью:
Флаг -y означает автоматически отвечать «да» на любые запросы от fsck для исправления ошибки.
Точно так же вы можете запустить то же самое во всех файловых системах (с пропуском корневой файловой системы):
Как запустить fsck на корневом разделе Linux
В некоторых случаях вам может потребоваться запустить fsck в корневом разделе вашей системы. Поскольку вы не можете запустить fsck, пока раздел смонтирован, вы можете попробовать один из следующих вариантов:
- Принудительно использовать fsck при загрузке системы
- Запустите fsck в режиме восстановления
Мы рассмотрим обе ситуации.
Как принудительно проверить диск с помощью fsck при загрузке системы
Это относительно легко выполнить, единственное, что вам нужно сделать, это создать файл с именем forcefsck в корневом разделе вашей системы. Используйте следующую команду:
Затем вы можете просто принудительно перезагрузить или запланировать перезагрузку системы. Во время следующей загрузки будет выполнена проверка диска командой fsck. Если время простоя критично, рекомендуется тщательно его спланировать, поскольку, если в вашей системе много используемых inode, выполнение fsck может занять дополнительное время.
После загрузки системы проверьте, существует ли ещё файл:
Если это так, вы можете удалить его, чтобы избежать появления fsck при каждой загрузке системы.
Как запустить fsck в режиме восстановления
Для запуска fsck в режиме восстановления требуется ещё несколько шагов. Сначала подготовьте вашу систему к перезагрузке. Остановите все критически важные службы, такие как MySQL/MariaDB и т. д., а затем введите.
Во время загрузки удерживайте нажатой клавишу Shift, чтобы отобразилось меню grub. Выберите Advanced options («Дополнительные параметры»).
Затем выберите Recovery mode («Режим восстановления»).
В следующем меню выберите «fsck».
Вас спросят, хотите ли вы перемонтировать / файловую систему. Выберите Yes («да»).
Вы должны увидеть нечто подобное.
Затем вы можете вернуться к нормальной загрузке, выбрав Resume («Возобновить»).
Заключение
В этом руководстве вы узнали, как использовать fsck и выполнять проверки согласованности в разных файловых системах Linux. Если у вас есть какие-либо вопросы о fsck, не стесняйтесь задавать их в разделе комментариев ниже.
Связанные статьи:
e2fsck: Cannot continue, aborting
I don’t know why, but I had to service udev stop (on debian based system).
After stopping udev the e2fsck -f /dev/sda1 -command worked and didn’t print the e2fsck: Cannot continue, aborting -Message anymore.
I dont’t know, if it has something to do with http://dev.bizo.com/2012/07/mdadm-device-or-resource-busy.html — but this page gave me the hint to try it.
Stopping udev with systemctl stop udev did the trick for me. Bloody complicated Linux layers upon layers these days.
I encountered similar issue especially when you are still accessing the mount point. It can below any one of below two reasons.
You cannot run on the root FS Say you can in directory «/mnt» and you have unmounted the volume mounted on «/mnt». You will encounter same error. Make use that you are not in same directory.
root@ip-172-31-28-38 /mnt# fsck -f /dev/xvdh fsck from util-linux 2.23.2 e2fsck 1.42.12 (29-Aug-2014) /dev/xvdh is in use. e2fsck: Cannot continue, aborting. root@ip-172-31-28-38 /mnt# root@ip-172-31-28-38 /mnt# cd /
root@ip-172-31-28-38 /# fsck -f /dev/xvdh fsck from util-linux 2.23.2 e2fsck 1.42.12 (29-Aug-2014) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/xvdh: 12/524288 files (0.0% non-contiguous), 70287/2097152 blocks root@ip-172-31-28-38 /#
unixforum.org
И просьба ввести пароль root для входа в maintanance mode.
Ввожу пароль, вот содержимое mtab:
proc /proc proc rw,relatime 0 0 sys /sys sysfs rw,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=10240k,nr_inodes=256800,mode=755 0 0 /dev/disk/by-uuid/2c53a584-b092-47be-b9f5-3fa83d93b2a7 / ext4 rw,relatime,barrier=1,data=ordered 0 0 shm /dev/shm tmpfs rw,nosuid,nodev 0 0
То есть диски мои не примонтированы. При этом e2fsck пишет, что «/dev/sdb5 is mounted.»
Подскажите, в чем может быть проблема?
Rootlexx Бывший модератор Сообщения: 4443 Статус: GNU generation ОС: Debian GNU/Linux
Re: [Решено] e2fsck: Cannot continue, aborting
Сообщение Rootlexx » 06.10.2010 00:10
Просмотрите лучше содержимое /proc/mounts , ибо смонтированные ФС могут и не быть в mtab (опция «-n» для mount).
Re: [Решено] e2fsck: Cannot continue, aborting
Сообщение TweeKane » 06.10.2010 10:41
Просмотрите лучше содержимое /proc/mounts , ибо смонтированные ФС могут и не быть в mtab (опция «-n» для mount).
$ cat /etc/fstab # # /etc/fstab: static file system information # # devpts /dev/pts devpts defaults 0 0 shm /dev/shm tmpfs nodev,nosuid 0 0 UUID=eed7fc6c-0112-4ced-b618-5f10f8f436a8 swap swap defaults 0 0 UUID=0f2d0825-4df6-48c0-b76c-0647865da040 /boot ext3 defaults 0 1 UUID=2c53a584-b092-47be-b9f5-3fa83d93b2a7 / ext4 defaults 0 1 UUID=21436479-118d-4a71-9895-111bf1ec66f4 /home ext4 defaults 0 1
Rootlexx Бывший модератор Сообщения: 4443 Статус: GNU generation ОС: Debian GNU/Linux
Re: [Решено] e2fsck: Cannot continue, aborting
Сообщение Rootlexx » 06.10.2010 15:00
Добавлено: ну и хотелось бы узнать, каким UUID соответствуют упоминаемые в сообщениях об ошибках устройства.
Re: [Решено] e2fsck: Cannot continue, aborting
Сообщение TweeKane » 07.10.2010 21:19
rootfs / rootfs rw 0 0 proc /proc proc rw,relatime 0 0 sys /sys sysfs rw,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=10240k,nr_inodes=256805,mode=755 0 0 /dev/disk/by-uuid/2c53a584-b092-47be-b9f5-3fa83d93b2a7 / ext4 rw,relatime,barrier=1,data=ordered 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 /dev/sda1 /media/usbhd-sda1 ext4 rw,nosuid,nodev,noexec,noatime,barrier=1,data=ordered 0 0 /dev/sdb5 /media/usbhd-sdb5 ext4 rw,nosuid,nodev,noexec,noatime,barrier=1,data=ordered 0 0 /dev/sdb3 /media/usbhd-sdb3 ext3 rw,nosuid,nodev,noexec,noatime,errors=continue,barrier=0,data=writeback 0 0
Добавлено: ну и хотелось бы узнать, каким UUID соответствуют упоминаемые в сообщениях об ошибках устройства.
0f2d0825-4df6-48c0-b76c-0647865da040 -> ../../sdb3 21436479-118d-4a71-9895-111bf1ec66f4 -> ../../sdb5
Видно, что диски монтируются ещё и в mount. Не понятно почему раньше такой проблемы не было и почему они туда монтируются теперь.