LINUX.ORG.RU

При загрузке не монтируется корневой раздел

 ,


0

1

Добрый день. Описываю возникшую проблему и мои умозаключения по порядку. Домашний сервер на Ubuntu Server 16.04 работал в течение нескольких месяцев без нареканий и перезагрузки. За это время в систему вносились определенные изменения, но об этом чуть ниже. После перезагрузки система не загрузилась. Подключаю монитор, вижу следующие ошибки при загрузке:

Begin: Will now check root file system ... fsck from util-linux 2.27.1
[/sbin/fsck.ext4 (1) -- /dev/sda1] fsck.ext4 -a- C0 /dev/sda1
/dev/sda1 is mounted.
e2fsck: Cannot continue. aborting.

fsck exited with status code 8
done.
Warning: File system check failed but did not detect errors

После этого система переходит в initramfs. Судя по написанному, раздел /dev/sda1 оказался смонтирован до проверки и монтирования в качестве корневого. Командой mount проверяю смонтированные разделы. Все разделы жестких дисков оказываются смонтированы в каталоги формата /mnt/usbhd-sdxx. После размонтирования все разделы без проблем проверяются fsck. Насколько я понимаю, смонтировать все разделы мог udev, и тем самым занять корневой раздел. Недавно в правила udev добавлял правила автоматического монтирования, чтобы монтировать переносные носители. Признаюсь честно, правило нашел на просторах интернета и не вникал. Просто проверил как монтируются переносные носители, а систему не перезагружал. Если я прав, то как отключить монтирование разделов udev-ом? Систему запустить не могу, а следовательно сбросить правила не могу.

У тебя же initramfs есть и он всё монтирует. Просто перемести файл с правилом который ты добавил в другое место, далее загрузись нормально, проверь что там за мусор, пофикси и верни обратно.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Речь идет о правиле, находящемся на разделе /dev/sda1, или в самой initrafs? В первом случае правило находится в папке /etc/udev/rules.d раздела /dev/sda1. Его удаление или перемещение ни к чему не приводит, так как сам initrams при этом не обновляется. Во втором случае правило находится в папке /lib/udev/rules.d initramfs. Я могу его переместить, но как перезагрузиться с учетом этих изменений?

GreenAlien
() автор топика
Ответ на: комментарий от GreenAlien

А это правило проникло в initramfs (в консоли проверь)? Тогда тебе нужно перепаковать его. Обычно там комбинация cpio и gzip или чего-то такого если не ошибаюсь. Может ещё образ файловой системы быть. В общем нужно распаковать initrd, удалить файл, запаковать обратно.

Если есть возможность, попробуй загрузить систему вообще без initrd или со старой его версией.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Да, правило было прописано в initramfs, в том и была проблема. Спасибо за Вашу помощь, проблема решена загрузкой с livecd и генерацией нового initrd.img. Генерировал по инструкции, описанной здесь. После перезагрузки система загрузилась без проблем.

GreenAlien
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.