Вопрос или проблема
Вчера вечером я получил обновления через yum на моей виртуальной машине CentOS, которые также обновили ядро. Я пытался загрузить его снова около часа назад, и мне не удалось успешно его запустить.
Я пробовал загрузиться с нового ядра, предыдущего ядра и даже с ядра восстановления. Одна из ошибок, которые я получаю, это общая “не удалось загрузить политику selinux” — если я игнорирую это, я прихожу к фазе загрузки, где экран, по-видимому, зависает. Если я редактирую конфигурацию в меню grub, чтобы временно установить selinux=0
, я могу пройти загрузочную панель, но потом у меня появляется черный экран (который, странным образом, также показывает курсор мыши).
Как мне это исправить? Я действительно не хочу монтировать свой виртуальный диск и восстанавливать свои файлы, чтобы просто начать с новой виртуальной машины.
Правка: Это все еще нерешенный вопрос, так как касается причины возникновения этой ошибки или даже того, как ее исправить. Вот некоторые связанные вопросы, которые я нашел, работая над этой проблемой (я не говорю, что они отличаются или их решения не работают, но у меня просто не было времени или желания заниматься их исправлениями… я, в конце концов, нашел свое собственное решение):
- CentOS 7 не загружается после
yum update
- Рабочий стол не запускается после обновления Centos
- Centos 7 не загружается после yum update (нашел решение, которое не пробовал)
Мое решение этой проблемы заключалось в том, чтобы восстановить файлы на моем VDI. Доброжелательный stranger на Super User помог мне преодолеть препятствия при монтировании образа и переноса файлов на новую виртуальную машину. В качестве размышления, пока вы читаете этот длинный чат, я думаю, что сетевая мостовая установка не сработала, потому что firewalld
включен по умолчанию, что блокирует определенный трафик портов. Вы, вероятно, можете остановить службу, и все будет работать без проблем.
Наконец, об этой проблеме: эта ошибка, похоже, возникает только тогда, когда ядро обновляется. Пока я все еще искал прямое решение, я мог только понять, что gdm
(GNOME Display Manager) был частью проблемы. О, и поскольку это проблема с графическим интерфейсом, мне следовало упомянуть намного раньше, что я использовал GNOME на своей системе.
Это сработало для меня:
- Перезагрузитесь, чтобы убедиться, что VirtualBox не запущен;
- Удалите VirtualBox:
sudo yum remove VirtualBox-5.1
- Переустановите VirtualBox:
sudo yum install VirtualBox-5.1
- Установите пакет расширения VirtualBox.
Ответ или решение
Почему CentOS 7 не загружается после обновления
Если ваш CentOS 7 не загружается после недавнего обновления и вы сталкиваетесь с ошибками, связанными с SELinux, замораживанием загрузочного процесса и черным экраном, то это достаточно распространенная проблема, которая может возникнуть при обновлении ядра. Давайте рассмотрим возможные причины и шаги по устранению этой неполадки.
Возможные причины проблемы
-
Проблемы с политикой SELinux: Ошибка "failed to load selinux policy" указывает на проблемы с загрузкой политик SELinux, которые могут возникнуть после обновлений.
-
Конфликт ядра: Обновление ядра может привести к несовместимости с некоторыми драйверами или компонентами, что также может вызывать сбой при загрузке.
-
Проблемы с графическим интерфейсом: Если вы используете GNOME и после отключения SELinux система переходит на черный экран, проблема может быть связана с GDM (GNOME Display Manager).
-
Виртуальная машина: Если вы работаете в среде VirtualBox, возможно, конфликты с драйверами виртуализации могут вызвать такую ошибку.
Решения проблемы
-
Загрузка в безопасном режиме:
- Попробуйте загрузить систему с предыдущей версии ядра, если это не помогло, можно использовать "rescue mode".
- При загрузке в GRUB, выберите параметр с текущим ядром, но добавьте
nosplash
для получения более подробного вывода и диагностики.
-
Отключение SELinux:
- Если временное отключение SELinux решает проблему с загрузкой, рекомендуется поочередно включать и настраивать SELinux, чтобы выявить, какая именно политика вызывает сбой.
- Вы можете временно отключить его, добавив
selinux=0
в параметры загрузки GRUB. Однако полезно будет вернуться к настройкам SELinux позже для обеспечения безопасности системы.
-
Переустановка VirtualBox:
- Поскольку вы упоминаете использование VirtualBox, попробуйте удалить и переустановить его. Выполните следующее:
sudo yum remove VirtualBox-5.1 sudo yum install VirtualBox-5.1
- Убедитесь, что установлены все необходимые расширения.
- Поскольку вы упоминаете использование VirtualBox, попробуйте удалить и переустановить его. Выполните следующее:
-
Проверка логов:
- После неудачной попытки загрузки, проверьте системные логи:
journalctl -xb
- Логи могут дать вам более точную информацию о том, что именно пошло не так.
- После неудачной попытки загрузки, проверьте системные логи:
-
Обновление драйверов:
- Если проблема связана с графическим интерфейсом, возможно, потребуется переустановка или обновление графических драйверов. Убедитесь, что все пакеты для вашей видеокарты актуальны.
-
Проверка конфигурации сети:
- Убедитесь, что
firewalld
не блокирует необходимые порты, если вы используете сетевые функции.
- Убедитесь, что
-
Резервное копирование важных данных:
- Если все вышеуказанные решения не сработали, и вы решили переустановить систему, воспользуйтесь вашей временной работой с VDI для резервного копирования важных данных.
Заключение
Проблема с загрузкой CentOS 7 после обновления ядра может иметь несколько источников. Пошаговое выполнение описанных рекомендаций может помочь в ее решении без необходимости переустановки системы. Если вы столкнулись с трудностями, хорошей практикой будет также поисковая работа по тем вопросам, которые уже обсуждались в сообществе.