Системы Linux загружаются очень быстро, поэтому большая часть данных, выводимых во время загрузки, быстро прокручивается и мы не успеваем прочитать текст. Тем не менее, во время загрузки, могут возникнуть различные ошибки, вплоть до того, что вы столкнетесь с проблемой не загружается Linux.
Ошибка может возникнуть в любом месте загрузки и любом компоненте системы инициализации. Обычно, systemd выводит подробную информацию об ошибках загрузки Linux на экран, но не всегда можно успеть их все прочитать. В этой статье мы рассмотрим что делать если не загружается Linux после установки, а также как посмотреть логи загрузки в этой операционной системе.
Содержание статьи
Почему Linux не загружается?
Причин проблем с загрузкой Linux может быть большое количество, в этой статье мы рассмотрим самые частые из них, которые можно достаточно просто решить. Сначала кратко пройдемся по самим причинам:
- Linux после обновления не загружается, вы обновляли дистрибутив и что-то пошло не так, и теперь вы не можете попасть в вашу рабочую оболочку;
- Linux перестал загружаться в результате повреждения файловой системы;
- Linux не может примонтировать один из важных разделов диска из-за неверных настроек fstab;
- Система не загружается из-за несовместимости графического драйвера и ядра;
- Диск переполнен и системе попросту негде создать временные файлы.
Все это может возникать не так редко, если вы очень любите экспериментировать с системой и при этом не очень аккуратны. Мы не будем рассматривать проблемы с загрузкой из за Grub. Я буду надеяться, что там у вас все в порядке. Самое главное, что нужно сделать при проблемах с загрузкой - это посмотреть внимательно логи последней загрузки. Только так вы сможете понять в чем причина проблем и не гадать. Как это сделать? Есть несколько способов, вы можете использовать LiveCD или загрузиться в режим восстановления.
Проверка журналов загрузки
Итак, вы загрузились с LiveUSB системы и подключили разделы с основной системой или же вошли в режим восстановления с помощью загрузчика Grub. Для этого есть специальная опция в большинстве дистрибутивов. Она загружает однопользовательский режим Systemd с поддержкой сети и минимальными возможностями. С помощью него вы можете вернуть систему к нормальной работе.
Для работы в этом режиме нужно ввести пароль суперпользователя.
Если такого пункта нет можно загрузить режим восстановления Bash. Для этого нужно нажать клавишу "E" на пункте меню Grub и дописать в строку параметров ядра "init=/bin/bash":
С этим параметром ядро запустит интерпретатор Bash вместо того, чтобы загружать систему инициализации. Самый первый способ посмотреть логи в systemd - это использовать утилиту journalctl. Система нам сама подсказывает какую команду нужно запустить, чтобы посмотреть логи:
journalctl -xb
Если во время загрузки возникла ошибка, вы найдете ее здесь. Если же вы пошли другим путем, можно посмотреть несколько файлов, первый из них - /var/log/boot.log. Он есть не во всех дистрибутивах, но если есть, то здесь вы найдете все сообщения, которые выводились на экран во время загрузки:
cat /var/log/boot.log
В режиме восстановления можно посмотреть содержимое лога ядра с помощью dmesg, в LiveUSB это бесполезно:
dmesg
Еще кое-какую информацию можно получить из файла /var/log/messages, в котором хранятся общесистемные сообщения от различных сервисов, в том числе во время загрузки:
cat /var/log/messages
Все дальнейшие действия по восстановлению загрузки Linux нужно выполнять опираясь на информацию, полученную из лог файлов, только так вы сможете решить проблему.
Что делать если Linux не грузится?
1. Проблема с местом на диске
Предположим, что вы обновляли систему и она перестала загружаться после этого. Тогда можно предположить два варианта, либо загрузка обновлений переполнила корневой раздел и теперь системе некуда писать файлы, либо обновление прошло не очень успешно и важные пакеты повреждены. Сначала посмотрим свободное место на диске:
df -h
Если доступно 0% места, то вы знаете в чем проблема. Чтобы ее решить просто удалите ненужные файлы из папок /var/log, /var/cache/ и так далее. Для того чтобы вы смогли редактировать и удалять файлы, корневую систему, возможно, придется перемонтировать для чтения и записи:
mount -o remount,rw /
2. Целостность пакетов и системы
У меня с местом все в порядке, доступно более 5 гигабайт, значит можно предположить, что проблема в пакетах. Чтобы исправить выполните dpkg:
dpkg --configure -a
Также можно выполнить:
sudo apt -f install
# sudo apt update && sudo apt full-upgrade
Но это сработает только в chroot окружении LiveUSB системы, поскольку в режиме восстановления интернета нет. Вы можете попытаться настроить проводной интернет с помощью команды:
dhclient
3. Проблема с /etc/fstab
Следующая причина проблем с загрузкой может быть неверная запись в /etc/fstab для одного из разделов, если лог сообщает что-то в роде "Dependency failed for /dev/disk/by-uuid/f4d5ddc4-584c-11e7-8a55-970a85f49bc5" то это означает, что система не может примонтировать один из разделов в /etc/fstab.
Если это будет корневой раздел, система не загрузится. Systemd может выдавать много ошибок, но важно найти первую. Все остальные могут оказаться только ее следствием.
Поэтому если есть такая ошибка в логе проверьте файл /etc/fstab. Правильно ли там указан адрес корневого раздела? Если не уверены, лучше заменить на привычную запись Linux без UUID.
4. Повреждение файловой системы
Обычно файловая система проверяется автоматически, но это обычно. Если вы отключили эту функцию, а потом произошло неожиданное отключение компьютера, файловая система будет повреждена, а восстановить ее будет некому. Поэтому при ошибках монтирования еще можно попытаться проверить файловые системы на ошибки:
fsck -a /dev/sda5
Здесь нужно указать адрес файла нужного раздела в файловой системе.
5. Проблема видеодрайвера
Если вы обновляли систему или устанавливали проприетарный драйвер, а потом в логах загрузки увидели ошибку запуска драйвера, то проблема в нем. Такое происходит потому что проприетарные драйвера не всегда совместимы с самыми новыми версиями ядер. Для решения проблемы достаточно удалить драйвер из системы в режиме восстановления. Например, для Nvidia:
apt purge nvidia*
Для видеокарт AMD команда будет выглядеть так:
apt purge fglrx*
С новым драйвером AMDGPU проблем быть не должно, так как он имеет открытый исходный код и встроен в ядро.
Во всяком случае, после удаления драйвера черный экран Linux должен перестать появляться.
6. Другое
Если у вас все же проблемы с загрузчиком Grub, вы можете использовать инструмент BootRepair для восстановления или просмотрите статью как восстановить Grub2 вручную. Также, возможно, вас заинтересует статья: ускорение загрузки Linux.
Выводы
В этой статье мы рассмотрели что делать когда не загружается Linux. Как видите, может возникнуть достаточно различных проблем. Но преимущество Linux в том, что вы можете решить все это благодаря прямому доступу к файловой системе. Также, если домашняя папка вынесена в отдельный раздел, то если ничего не сработает - можно переустановить систему с минимальными потерями. Надеюсь, эта информация была полезной.
Спасибо Сережа! С уважением А И
Линупс уже давно потерял свою привлекательность. Ещё 6-8 лет назад он был ничего. Отлично пахал на стареньких машинах, можно было и файлопомойку организовать и торрентокачалку, почта там, микросервер, etc. И все работало как winxp на 64-128 Мб оперативки за глаза (есессно не везде), да и вцелом какая-то лёгкость была. Но были и "детские проблемы" ввиде плохой организованности в работе с медиа, кривости драйверов, отсутствию нормальной поддержки образов нового поколения, софт опять же скудный и жалкий был. А сейчас жрет искаропки до 1 Гб, гигабайта, Карл! При этом детские проблемы не излечились, Южноафриканский Линукс стал каким то диким, в остальном какое то все глупое, рассчитанное на поиграться по типу арча, дженты и иже с ними, что там? Рюшечки, шрифтики, тайловые de, а как насчет автомонтирования без костылей? То то же. Те же детские проблемы. И не удивительно, что система падает, но как принято говорить, это не баг, это фича и rolling release, а во всех проблемах винить криворуких и хромых пользователей и ветку testing. Очень жаль, что все стало таким плачевным.
А, ты с чем сравниваешь? Если с семейством windows, то linux на порядок лучше. Уродство Гейтса слетает чаще и проблем больше, и еще к тому же за каждую мелочь денег просит, про вирусы вообще отдельный разговор. Не нравится южно-африканский используй какой нравится, сборок полно. Ну, а если хочешь под себя, берёшь ядро и делай правильный Linux с твоей точки зрения.
Дружок-пирожок, как там в 2017-м со взглядами из 2007-го?
У меня десятка три года стоит на одном компе, четыре на втором, рядом с убунтой. Где у меня было больше проблем? Невероятно, наверное для тебя, но в убунту
спосибо. Был бы еще хорош обзор, если линукс "завис".
Линупс не виснет! (с) Штульман
это конечно чудесные советы, но чтобы ими воспользоваться, нужно всё-таки, чтобы Линукс загрузился
Уважаемый Админ, прошу помощи.
Каюсь в своей криворукости заранее, дайте совет в каком направлении копать.
В общем суть проблемы, Linux Lite 3.8 ubuntu 16.04, заведена в домен средствами PBIS open (likewise-open), но пользователи доменные в терминале не работали с автозаполнением команд и при перемещении стрелками по клавиатуре терминал вместо запомненных команд выдавал символы нажатых клавиш.
Поставил пакеты apt-get install krb5-user, samba, winbind, libnss-winbind, libpam-winbind, терминал ругнулся что likewise несовместим с winbind, продолжить? Жамкнул - Да, заменил файлы, после перезагрузки убунта в режиме восстановления грузится (emergency mode) только по root.
Удалял эти пакеты, которые поставил, удалял их зависимости apt-get autoremove, не помогает, не знаю куда копать, рядом винда стоит по соседству, комп рабочий.
При загрузке стала пробегать строка
Spectre V2: Spectre mitigation:LFENCE not serializing, switching to generic retpoline
Можно как-то восстановить убунту или сносить и по новой ставить?
И еще - какой раздел лучше выбирать при установке, основной или логический или в принципе разницы никакой нет?
В меню загрузчика, в пункте дополнительные опции можно войти в режим восстановления. Здесь можно попытаться выполнить обновление системы, чтобы пакетный менеджер установил всё чего ему не хватает. Не знаю на что влияет домен, но могу предположить, что там монтировались какие-либо диски. Если система не может их смонтировать - это будет мешать загрузке. А вообще, чтобы что-то сказать надо видеть лог загрузки. Для этого надо в загрузчике (там можно редактировать пункт меню, если нажать F10) заменить опцию загрузки ядра quiet на verbose.
2021 год на дворе. Как выражаются опытные линукзятники, я решил уйти со своей гавно-лицензионной Windows 10 на которой проблем не знал вообще никогда и ни с чем, на мною уважаемый Debian Cinnamon. Скачал образ, залил на флешку, начал устанавливать. Устанавливал на SSD Kingston 250гб. Разбил диски, установил. Дебиан не загрузился. Как в пункте 1 посвился целый список, все было ОК, но потом было одно Failed. Я устанавливал вручную, подумал что накосячил. Снова установка. На этот раз выбрал опцию, чтобы при разбивке диска Дебиан сам все сделал. Он разбил. Я установил. Failed. Спасибо Дебиан.
Сейчас по всем правилам мне должны рассказать, что у меня руки кривые, железо кривое, видеокарта кривая, я кривой, и еще раз я кривой. Но тогда вопрос к вам - почему тот же Mint Mate поставился до этого на это же железо норм, а Великий Debian Cinnamon не смог? Минт я кстати снова поменял на Винду из-за ошибок, которые не лечатся годами:
1) невозможно поменять время на нужное;
2) Мате не поддерживает монитор 4к, а когда нашел как поддержать, то и тут всплыли дохренища багов с отображением.
3) Тот же YouTube выглядит как будто под слоем неведомой пыли со странным отображением цветов и контраста, хотя на Винде с этим проблем не было ни разу.
4) Звук шо то был тише, чем на Винде. Даже на Максимуме.
А мне обидно. Мне нравится Дебиан, и я хотел "Корицу". Но она меня не хочет. Уверен, если поставлю тот же Минт Корица, проблем не будет. Соглашусь с одним из комментариев выше - Линукс скатился. Раньше подавал признаки процветания, то сегодня возможно только окружение "Гном" и дистрибутивы "Манжаро" где-то дотягивают, хотя бы на 50% до возвожностей Виндовс 10.