2.15 Проблемы загрузки ОС

Проблемы с монтированием домашнего каталога /home

Суть данной проблемы заключается в том, что система вместо получения авторизации переходит в emergency mode, графический менеджер GDM не запускается.

Проверим вывод команды dmesg. В выводе должны присутствовать ошибки вида «/dev/sda3 , run e2fsck manually», где /dev/sda3 — home раздел. Для того, чтобы узнать за каким разделом закреплен home необходимо проверить файл /etc/fstab. Проверка файловой системы осуществляется через утилиту fsck.
Запуск автоматической проверки fsck –a /dev/sda3, где ключ –a отвечает за автоматическую коррекцию ошибок файловой системы.
После успешной проверки необходимо перезагрузить компьютер. После этого графический менеджер GDM должен запуститься, и пользователь должен увидеть окно авторизации.

Пользователь забыл свой пароль и пароль root

Решением данной проблемы является сброс пароля root, согласно этой инструкции.

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


Сообщение об ошибке «vfs unable to mount root fs on unknown block» может встречается во время загрузки Linux. Оно означает, что ядро не может примонтировать корневую файловую систему, и, следовательно, дальнейшая загрузка невозможна. Ошибка довольно серьёзная и, не исправив её, вы не сможете полноценно работать в своей операционной системе.
Все ситуации, в которых может появиться сообщение «error: vfs unable to mount root fs» можно разделить на два вида:
— Загрузка с жёсткого диска — вы загружаете свою основную операционную систему после внесения изменений в таблицу разделов, обновления или других действий, которые могли задеть диски;
— Вы загружаете LiveCD-систему с оптического диска или флешки.
Второй вариант сразу же отбросим. Здесь исправлять нечего. Ошибка означает, что-либо образ был битый, либо он был неверно записан на диск. А вот первый случай интереснее, рассмотрим основные причины, которые могут его вызывать:

— Корневой раздел был переименован и теперь называется по-другому;
— Повреждена initramfs;
— Ядро не поддерживает файловую систему корневого раздела;
— Ошибка в конфигурации загрузчика, например, из-за недостаточного количества свободного места в папке /boot;
— Файловая система корневого раздела повреждена.
Теперь давайте рассмотрим возможные пути решения проблемы:

1. Загрузка из более старого ядра

После того, как система выдаст эту ошибку, случится Kernel Panic и компьютер перезагрузится. Вы снова окажетесь в меню загрузчика Grub. Здесь, первым делом, надо попытаться загрузиться с помощью более старого ядра. Для этого выберите пункт «Дополнительные параметры» и выберите одно из более старых ядер.
Если система в этом случае загрузится, то можно сделать вывод, что не работает только новое ядро. Если вы собирали его сами, то, возможно, вы не включили в него все необходимые для работы файловые системы. Если это ядро из репозиториев, и система загрузилась с более старым ядром, то можно предположить, что у вас повреждена initramfs для нового ядра. Это тоже могло произойти из-за недостатка памяти при обновлении системы. Чтобы всё исправить, вам достаточно освободить место в каталоге /boot/ и создать новую initramfs. Проверьте и освободите место в папке /boot, если его там мало:

df -h | grep boot


На данном скриншоте занято только 14%, если будет 100% — надо освобождать. Для создания initramfs необходимо выполнить следующие действия:

cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut –f
ls /boot


Обновите конфигурацию загрузчика grub, если у вас просто BIOS:

grub2-mkconfig -o /boot/grub2/grub.cfg

и если у вас UEFI:

grub2-mkconfig -o /boot/efi/EFI/redos/grub.cfg

Если вы думаете, что проблема именно в свободном пространстве и initramfs, но загрузится с помощью более старого ядра не можете, то попробуйте другой LiveCD-дистрибутив и попытайтесь всё исправить в chroot-окружении.

2. Неверное имя корневого раздела GRUB

Сейчас, в большинстве дистрибутивов, в конфигурационном файле Grub имя корневого раздела передается ядру в формате UUID. И с этим обстоятельством есть одна проблема. Если вы каким-либо образом измените корневой раздел, например, измените его размер, то UUID изменится. И если вы выполните перезагрузку, не обновив конфигурацию Grub, то система больше не загрузится, потому что ядро попросту не сможет найти нужного раздела.
Но попытаться решить проблему можно. Если вы точно знаете, на каком разделе у вас находится корень, то можно прямо в меню Grub исправить конфигурацию. Для этого в меню выберете стрелками вверх и вниз нужный пункт, а затем нажмите кнопку E. Откроется редактор конфигурации. Вам нужно найти строчку, похожую на эту:

linux /boot/vmlinuz-4.15.0-36-generic root=UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c ro quiet splash $vt_handoff


В ней надо заменить UUID=9d8d92de-74a6-4e64-8281-b8548c690e0c на обычное имя вашего корневого раздела, например, /dev/sda2. Для начала загрузки нажмите F10. Если система загрузится, значит проблема была именно в этом. В дальнейшем, можно просто обновить конфигурацию Grub:

grub2-mkconfig 

Или даже попросить Grub больше не использовать UUID для обозначения корневого раздела:

sudo nano /etc/default/grub
GRUB_DISABLE_LINUX_UUID=true


Далее необходимо снова обновить конфигурацию Grub, используя команду grub2-mkconfig.
Если ошибка исчезла, но система всё ещё не загружается, обратите внимание, что systemd всё ещё использует файл /etc/fstab для монтирования файловых систем. И если корневая файловая система (и не корневая тоже) там указана неверно, система не загрузится. Для исправления этой проблемы можно использовать режим восстановления. Здесь тоже надо заменить UUID на обычную запись или же на правильный UUID. Такая проблема очень часто становится причиной медленной загрузки Linux.
В этом же режиме можно проверить корневой раздел на ошибки, но для проверки диска лучше использовать LiveCD.
Если файловая система корневого раздела повреждена, её необходимо проверить, исправить согласно инструкции.

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email