Разработчики дистрибутивов Linux изо всех сил стараются сделать свои творения максимально дружелюбными к пользователю. Несмотря на это, случается, что-то идет не так, как задумывалось, и система начинает вести себя некорректно. Чем бы ни были вызваны сбои в работе дистрибутива, в подавляющем большинстве случаев их решение давным-давно найдено и описано. Наиболее распространенные проблемы Linux и методы их решения мы попытались собрать в этой статье.
 

Linux не запускается

Таков один из самых популярных призывов о помощи в среде новичков. На самом деле за этой лаконичной формулировкой проблемы может стоять целый ворох не связанных друг с другом причин поломки.

 

Пропал Grub

Очень часто с подобной проблемой сталкиваются пользователи Windows, установившие Linux параллельной системой. Все работает прекрасно, пока, в очередной раз переустановив Windows, новичок не затирает загрузчик Linux (Grub) загрузчиком Windows, который даже и не думает позволить пользователю выбрать что-то другое, кроме винды.

Впрочем, сценариев «потерять» Grub множество, равно как и способов его восстановить. Самый логичный — вновь загрузиться с флешки, с которой до этого был установлен Linux, и, открыв терминал, ввести

$ sudo fdisk -l

Среди множества записей о подключенных дисках следует найти группу разделов Linux, выбрать корневой раздел (здесь и далее sda1) и смонтировать его:

$ sudo mount /dev/sda1 /mnt

Затем восстановить Grub на диске:

$ sudo grub-install --root-directory=/mnt /dev/sdа

В довершение можно обновить меню Grub:

$ sudo update-grub --output=/mnt/boot/grub/grub.cfg
 

Ошибки загрузки ядра

Ядро Linux — один из самых стремительно развивающихся компонентов системы. Однако не всегда обновление ядра идет на пользу системе. Для кого-то неприемлемо удаление драйвера hd для жестких дисков с интерфейсом MFM/RLL, а кому-то досталось криво собранное ядро от поставщика дистрибутива. Нередко причиной поломки становится и сам пользователь, небрежно скомпилировавший собственное ядро.

В конечном итоге, если результатом обновления ядра стал отказ системы на этапе загрузки и выбрать альтернативное ядро через Grub не получится, потому что его нет, остается вернуть предыдущий рабочий вариант ядра на место через терминал.

Лучший способ это сделать — загрузиться со все того же Live CD и использовать старый добрый chroot. Последний, если говорить сильно упрощенно, позволяет «войти» в свой дистрибутив из Live CD и выполнить все необходимые для восстановления команды.

Для начала потребуется подключить корневой раздел (для примера пусть это будет опять же sda1):

# mount /dev/sda1 /mnt

Затем подключить к нему все нужные псевдоФС:

# cd /mnt
# mount -t proc proc proc/
# mount -t sysfs sys sys/
# mount -o bind /dev dev/

И наконец, войти в chroot и настроить сеть:

# chroot . /bin/bash
# echo nameserver 8.8.8.8 > /etc/resolv.conf

Теперь с помощью пакетного менеджера можно установить нужную версию ядра.

 

Проблемы с видео

Иногда система загружается, но из-за ошибок в видеодрайвере или из-за несовместимости его версии (нередко проприетарной) и версии ядра запустить графическую подсистему оказывается невозможно. Решение напрашивается само собой: либо откатить версию драйвера, либо сменить его на свободный, если такой существует.

В этом случае не нужны ни Live CD, ни chroot. Достаточно залогиниться в режиме командной строки, которая, как правило, доступна в этом случае по умолчанию, и сменить драйвер.

Однако порою противоречия драйвера и ядра достигают такой степени, что загрузка системы завершается ошибкой без возможности что-либо исправить по ходу запуска. В таком случае можно воспользоваться набором инструментов самого Grub и загрузить систему в консольном режиме.

Чтобы это сделать, нужно:

  • выбрать в меню Grub стандартный пункт загрузки;
  • нажать e для входа в редактор сценария загрузки выбранной записи;
  • найти в этом сценарии строку с аргументами запуска ядра, начинающуюся с linux или kernel;
  • добавить в конце этой строки 3, тем самым указав системе на необходимость загрузки в многопользовательском режиме с поддержкой сети и без графического окружения;
  • нажать сочетание Ctrl + X, чтобы начать загрузку с измененными настройками;
  • с помощью пакетного менеджера заменить проблемный видеодрайвер на исправный и перезагрузить систему.

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

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


3 комментария

  1. izptits

    13.11.2017 at 11:35

    Очень своевременная статья, спасибо!!!

  2. droidlove

    29.11.2017 at 01:17

    весь интернет полон таких «инструкций». кг/ам сказали бы раньше:)

  3. Anon

    15.02.2018 at 16:34

    зачетная статья, мне пришлась очень кстати. Спасибо (хотелось бы продолжения).

Оставить мнение

Check Also

Как крадут деньги при ICO. Разбираем типовые сценарии похищения средств и самих ICO

В 2017 году киберпреступникам удалось украсть 10% всех средств, инвестированных в ICO чере…